図面 (/)

技術 入力ベクトルがニューロンによって既知であるか未知であるかを決定する方法

出願人 ガーナーベルナデット
発明者 ガーナーベルナデット
出願日 2012年9月27日 (8年4ヶ月経過) 出願番号 2012-215316
公開日 2013年1月31日 (8年0ヶ月経過) 公開番号 2013-020638
状態 特許登録済
技術分野 学習型計算機
主要キーワード 簡易テスト 動的アルゴリズム 熟練労働 NNモデル 論理分析 サンプルデータ点 ゲイン項 手続きステップ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2013年1月31日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

本発明は入力ベクトルニューロンによって既知であるか未知であるかを決定する方法を提供する。

解決手段

本方法は、入力ベクトルから制約条件及びその補空間を構築するステップと、制約条件及び補空間を交互に前記ニューロンの制約条件セットに追加するステップと、いずれかの場合に解答があるか否かを決定するために制約条件セットを試験するステップと、を含む。制約条件又はその補空間のいずれかに解答があり、かつ制約条件及びその補空間の両方に解答がない場合には、入力ベクトルは、前記ニューロンに既知であることが決定され、制約条件及びその補空間が交互に前記制約条件セットに追加されるときに解答がある場合には、入力ベクトルは、ニューロンによって既知ではないことが決定される。

概要

背景

過去10数年にわたり生成データセットのサイズが増殖するに従い、厳密に理解されないデータセットにおいて、そのデータセット内の関係を見出すために用いうる開発ツールへの関心が高まっている。データ探索のツールは、毎回固定した時間量において、入力と出力の間の関係についての顕著な情報を容易に決定しうるデータセットを矛盾なく学習しうることが望ましい。

データ探索のツールの1つは、フィードフォワードニューラルネットワークである。フィードフォワードニューラルネットワークは、データセットを有する多くの多様で困難なタスクを実施するために用いられ、過去およそ40年にわたって大いに注目されてきた。これらには、「一般化する」能力があるという理由で、パターン分類及び機能概算を含む。このように、ニューラルネットワーク(以後、簡便のために”NN”と略称)は、非線形システムモデリング及びイメージ圧縮再構成等のアプリケーションに用いうる。

NNが関心を持たれる分野には、科学、商業、医学及び産業が含まれ、これらにおいてはデータに内在する関係性が不明であり、NNであればそうしたデータをうまく分類する方法を学習できるからである。

ある場合においては、データが先行する分類に提示されてはならず、こうした状況では、で他を分類するために自己組織化マップ等の教師なしトレーニングを用いることが通常である。別の場合においては、データは分類されたデータサンプルに前もって分解され、こうした状況では未分類のデータをさらに分類できるようNNをトレーニングすることが通常である。後者の場合においては、教師あり学習アルゴリズムが伝統的に用いられる。分類された入力データ例には関連付けられる出力があり、トレーニング期間中にNNは入力ベクトルに関連付けられる望ましい出力を再現することを学習する。フィードフォワードNNは、伝統的には教師ありトレーニング法を用いてトレーニングされる。

人工NNは多くのニューロンで構成され、これらはユニット又はノードと呼ぶことがある。これは生物学的ニューロンからインスピレーションを得ている。ニューロンは相互に接続せいてネットワークを形成する。各ニューロンには多くの他のニューロンからの入力がある。ニューロンは入力に応答して、発火するかしないかにより出力を生成する。このようにして、ニューロンの出力は多くの他のニューロンへの入力になりうる。これがフィードフォワードNNの基本構造である。

典型的にはニューロンは層を形成する。フィードフォワードNNにおいては、入力層、中間層及び出力層の、3タイプの層がある。第1の層は入力層であり、1以上のニューロンを内蔵する。同様に1以上のニューロンを有する出力層もある。NNは1以上の中間層を有する場合もある。入力層の全てのニューロンは次の層、すなわち出力層又は1以上の中間層がある場合には第1の中間層へ、出力を提示する。中間層が1つだけであると、中間層のニューロンは出力層に対して出力を報告する。中間層が1よりも多いと、ニューロンは次の中間層等の入力に向かって出力を送り、最後の中間層は出力層の入力に向かってその出力を送る。

他のネットワークアーキテクチャも可能であり、NNは特定のデータセットを学習するよう特異的に設計しうる。これは特にNNの入力ベクトルのシーケンス学習に見られ、これは接続にフィードバックループを有することもある。これらのNNは回帰フィードフォワードニューラルネットワークと呼ばれ、一般的にはこのNNの出力はしばしばNNの入力にフィードバックしうる。

最初の生物学的ニューロンモデルは、McCulloch及びPittにより1943年に開発された。これは、McCulloch−Pittニュートンとして知られた。McCulloch−Pittニューロンモデル又は直線閾値ゲート(以後、LTGと略称、Linear Threshold Gate)は、多くの入力接続及び各接続と関連付けられた重みを有するものとして定義される。入力は、数学的にベクトルxiとして定義され、

式中、nはLTGへの入力数を示す正の整数であり、iはi番目の入力ベクトルである。入力接続はn個あるので、接続の重みは数学的にベクトルwと定義されうる。

LTGへの各入力ベクトルは関連付けられた重みがかけ合わされて数学的にxi・wと表され、この結果はLTGの閾値Tと比較される。

xi・w≧Tならば出力は1であり、さもなければxi・w<Tとなって出力は0である。換言すれば、LTGはニューロンの活性化関数としての、このステップ関数又はHeaviside関数を用いる。

LTGは次式の定義を用いて数学的に定義しうる。w={w1,w2,..・wn}及びxi={x1,x2,...xn}ここで、

とおくと、LTGの挙動は次式1.1のようにまとめられる。
xj・w<T→0、及びxj・w<T→1 (1.1)

このように、LTG、Oの出力はバイナリ{0,1}である。LTGは活性化すると1を出力し、しなければ0を出力する。

1962年に、LTGは、永久的に1にセットされる追加バイアスで変更された。バイアス入力は閾値を吸収し、これをゼロにセットする。変更されたLTGモデルパーセプトロン名称変更した。パーセプトロンモデルにおいては、閾値Tはxi・wから除去されうるので、等式はxi・w<T≡xi・w−T<0、及びxi・w>T≡xi・w−T≧0となるすなわち、閾値は、重みw0と共にニューロンへの別の入力になることが可能で、ニューロンへの入力を1に固定することにより常に存在することが確定し、T=1・w0となる。重みw0はバイアスウェイトと呼ばれる。従って、前式は次のようになる。
xi・w−W0<0、及びxi・w−W0≧0

1960年に、Rosenblattはパーセプトロンモデルを用いて重みのための数値を見出すことに注目した。これ以降、ニューロン内の各重みに足して単一の数値を見出すことが、ニューロン及びNNをトレーニングする方法を確立してきた。ニューロンにより生成する関係は提案ロジックを用いて表現しうることが認識されていたが、重みと閾値との象徴的な関係を直接に見出すことは意図されてこなかった。NNがトレーニング中に学習したデータセット内のルール数値コード化され、これによりルールは非圧縮性となりうる。重み及び閾値により見出される数値から、NNにより学習されたルールを見出すことが意図されてきた。このような方法は全てトレーニング後追加プロセスであり、これらによってNNから直接にルールを読み出すことはできない。

1962年に、Rosenblattはパーセプトロン学習アルゴリズム収束を証明し、これは直線的に分離可能なデータセットを満足する数値を反復して見出すものであった。ニューロンは、特定の入力に与える所望の出力を生成するよう、接続の重みを加えることにより学習する。Rosenblattのトレーニングルールは、式1.2に見られるように、入力xiに基づいて重みwjが変更されるというものであり、式中、1≦j≦n、nはパーセプトロンへの入力の数、tは時間ステップ、ηは正のゲイン率で、η≦1である。Rosenblattのルーツバイナリ出力に対して動作する。特定の入力に対するパーセプトロンの出力が正しいならば、何も起こらない。
Wj(t+1)=Wj(t) (1.2)
さもなければ、出力が0であり、かつ1でなければならない場合は、次のようになる。
Wj(t+1)=Wj(t)+ηXi(t) (1.3)
あるいは、出力が1であり、かつ0でなければならない場合は、次のようになる。
Wj(t+1)=Wj(t)−ηxi(t) (1.4)

反復して重みを調節するアイデアは、今やフィードフォワードNNをトレーニングする方法として確立した。

1969年に、より複雑なデータセットに対してRosenblattの学習アルゴリズムは動作しないことが見出された。Minsky及びPapertは、単一層のパーセプトロンは有名な排他的論理和(XOR)問題を解けないことを示した。これが動作しない理由は、反復が重み空間内の単一点を見出すために用いられたからである。

Boolean関数の全てが単一のLTGにより学習されうるとは限らない。n個の入力変数には2nの組み合わせがあり、可能な出力と組み合わせると2nのユニークなBoolean関数(あるいはスイッチング関数として公知)が存在することになる。2nの関数のうち、あるもののみが単一のn−入力LTGにより表されうる。入力スペースが直線的に分離可能であるBoolean関数は単一のLTGにより表すことができるが、直線的に分離可能ではないBoolean関数を学習するためには追加のLTGが必要である。XORは直線的に分離可能ではないBoolean関数の例であり、従って単一のLTGでは学習できない。

LTGに追加の層を用いることで、直線的に分離可能ではない問題をNNに学習させることが可能になるが、しかしLTGの複数の層を同時にトレーニングしうる実用でキナトレーニングルールはなかった。

結果として、LTGの複数の層をトレーニングしうる重み及び閾値のための数値を見出す反復方法がないという理由で、ニューロンのMcCulloch−Pittモデルは廃棄された。これは、バックプロパゲーションが開発されるまで続いた。

1974年に、Werbosはエラーバックプロパゲーション(又は「バックプロパゲーション」)のアイデアに至った。後に1986年に、Rumelhart及びHinton、さらに1986年にWilliams、及び1985年にParkerが到達したアルゴリズムも同様であり、これにより多層NNモデルをトレーニングして反復的に重みのための数値を見出すことが可能になった。これにより、XOR問題並びに単一層のパーセプトロンでは解けない他の多くの問題の解答が可能になった。McCulloch−Pittのニューロンモデルは活性化関数としてステップ関数に替えシグモイド関数を用いるよう再び変更された。シグモイド関数の数学的定義は次式1.5で与えられる。
O=1/(1+e−kwx) (1.5)

パーセプトロンは一般的にシグモイド関数をパーセプトロンの活性化関数として用いる。k項は曲線広がりを制御し、シグモイド関数は、

において出力が

となるようにステップ関数を近似する。しかしながら、tanh(kw・x)等の他の活性化関数も用いうる。この活性化関数は−1から+1の範囲であるため、NNが負の数を出力可能である必要がある場合に用いられる。

バックプロパゲーションはRosenblattの学習アルゴリズムに基づいており、式1.2から式1.4に記載したものである。これは教師あり学習モデルであり、入力ベクトルをNNの入力層に加えることにより動作する。入力層はこの入力を第1の中間層に分配する。層内の各ニューロンの出力は式1.5にしたがって計算され、後続の層への入力となる。後続の層への入力となるニューロンの層の出力(又は活性化)を計算するプロセスは、NNの出力が計算されるまでの間に繰り返される。実際の出力と所望の出力との間にはエラーが生じることもあり、エラーの量に従って重みが変更される。出力におけるエラーは、NN何のエラーを低減するために、今度は出力層への接続から中間層における接続に向かう接続の重みを調節することにより、NNを通じて、フィードバックされるか、又は後方伝播される。重みの量は、これらのユニット内のエラー量に比例して直接的に調節される。

バックプロパゲーションのデルタルールは式1.6で与えられ、式中、iは層、jはi−1層内に生起する接続元のパーセプトロン、kはi層内に向かう接続先のパーセプトロンである。

式中、

である。

は、NN内の重みに関する数値のエラー低減を意図して重みが変更される量である。重みが変更される量は、ニューロンの出力Oijk、ゲイン項η(これは学習速度及び出力エラーδijkとも呼ばれる)に基づく。NNにおけるエラーは、NNの実際の出力と所望の出力との差である。

NNが十分にトレーニングされると、NNにおけるエラーとしてのエラー関数大局極小値最小値と呼ぶ。エラー内には多くの局所的極小値が潜在しているので、エラーは面でありうる、すなわち関数でありうると見なされる。しかしながら、いかなるNNに対してもエラー関数は知られていない。エラー関数は、NNに加えられた全ての入力ベクトルに対する所望の出力と実際の出力との差に基づくので、経験的にのみ計算されうる。δijk項はエラー関数の1次微分(出力におけるエラーの差に基づく微分)である。バックプロパゲーションがNN内のエラーを最小化するときに、最小化されるのはエラー関数である。勾配(1次微分)を用いることで、NN内のエラーを最小化する重みを変化する方法の決定が可能になる。これは、勾配降下と呼ばれる。

バックプロパゲーションは、そのアルゴリズム内にNNへのニューロンの追加も除去も許容しないため、固定サイズのNNでの動作を要する。NNがデータセットを学習するようトレーニングするときに、そのデータを学習するために何層の、各層にいくつのニューロンが必要であるかという推測がなされる。トレーニング後に、必要ではないニューロンを取り除くことにより、トレーニングしたNNの性能向上を試みてもよい。しかし、トレーニング中はニューロンの数は一定でなければならない。

伝統的なバックプロパゲーションアルゴリズムは以下のように要約される。(a)初期化:NN内の層数及び各層のニューロン数を定義し、NNの重みをランダムな値で初期化する;(b)トレーニングセットからNNに入力ベクトルを加えるる。式1.5を用い、入力層に続く第1層内の各ニューロンに対する出力を計算し、この出力を次の層への入力として用いる。このプロセスをNNの各層に対して、出力が計算されるまで繰り返す;(c)式1.6を用い、NN内に存在するエラー量に従って重みを変更する;(d)ステップ(b)及び(c)を、NNがトレーニングされたと考えられるまで繰り返す。NNは、トレーニングセット中のある数の入力ベクトルに対して、エラーが任意の数値以下に低下する時に、トレーニングされたと見なされる。

バックプロパゲーションを用いてNNがデータセットを学習するようトレーニングすることには多くの利点が伴う一方、バックプロパゲーションには限界がある。バックプロパゲーションでは、NNはデータセットの学習に長時間が必要となりうるか、さらに悪い場合としては全くデータセットを学習しないかもしれない。いくつかの場合において、NNがデータセットを学習しない理由の決定は不可能なことがあり、及び/又はトレーニング中にNNがデータセットを一体学ぶのかどうか、単に学習に時間がかかるのかを区別することは不可能である。

バックプロパゲーションでは、NNはデータ学習に小さすぎる場合がある。伝統的には、NNの設計者各中間層に用いるニューロン数、及びデータセットの学習に要する中間層の数も推定しなければならない。NNが大きすぎると、適切に一般化できない場合がある。従って、この問題の改善を意図して、NNからニューロンが取り除かれることがある。NNはエラー空間の局所的極小内に固定されることがある。NNがデータセットの学習を完了すると、NNはエラー空間の大局的極小内にある。エラー関数の形状は未知であり、関数は大きいエラー及び小さいエラーの領域を有する。バックプロパゲーションはエラー関数の1次微分を試行することによりエラーを最小化するよう動作するだけであり、これは局所領域のみの試行である。中間層におけるニューロンのトレーニングの目標はデータセット内の異なる特徴を学習することにある。しかしながら、バックプロパゲーションがNN内にエラーを後方伝播するときは、全ての重みが幾分変更されるため、データセット内の特定の特徴に対する各ニューロンのユニークな関連付けが減少する可能性がある。これは、ニューロンは同一層にある他のニューロンが同一の特徴を学習しているか否かを決定できないために起こりうる。このために、特定のデータの特徴を学習し、その特徴を忘れてしまう重みが生じうる。

バックプロパゲーションでのNNのトレーニングにおける主要な問題は、NNがデータセットを学習しない原因が上述の理由のいずれであるか決定できないことである。データセットを学習するかもしれないが単純に遅い、又はNNが小さすぎるために全くデータを学習しないかもしれない、又は局所的極小内に固定されるかもしれない。さらに顕著なバックプロパゲーションの問題は、NNがデータセットを学習してしまうと、NNが学習したものは不可解なことに数値としての重み及び閾値にコード化されるということである。

バックプロパゲーションでのNNのトレーニングが困難であるため、フィードフォワードNNをトレーニングするための代替アルゴリズム開発に多くの研究がなされてきた。

ィードフォワードNNをトレーニングするための代替アルゴリズム開発には多くの研究がある。代替アルゴリズムには2つの分類がある。(1)ニューロン又はNNの資源の数を固定することを要するアルゴリズム、及び(2)NNに対して動的にニューロンを割り当てられるもの、である。

これらのアルゴリズムのほとんどは固定サイズのNNを有することに依存し、結果としてバックプロパゲーションと同一の問題を経験する。公知の方法の1つは、重みの数値を見出すために遺伝子アルゴリズムを用いる。遺伝子アルゴリズムは局所的極小点の問題を避けうるが、トレーニングの時間量は限りがなく、NNが小さすぎるために適切なトレーニングではない場合がある。別の代替法は、動径基底関数RBF、Radial Basis Function)を用いることであり、NNの学習に単一層のみを用いるが、1つのデータセットを学習するために利用可能な入力ベクトルをバックプロパゲーションよりも多く必要とする。固定サイズのNNに伴う問題の結果として、データセット学習のためにNNの成長を許容することが有用である。

フィードフォワードNNトレーニングアルゴリズムは、動的にニューロンを追加するものであり、データ内の特徴が確実に学習されるよう、必要なときにのみニューロンを追加する柔軟性をもたらすので、予め定義された構造の問題に対する解答として導入されてきた。従って、他のニューロンがデータセット内の特定の特徴を学習できないときにニューロンが追加され、結果としてトレーニングされたNNを用いて、トレーニング中にNNにより学習されたルールが何であるかをより効率的に確認できる。予め定義されたネットワーク構造は、NNのデータ学習能力を制限する。NNは重みを加えることにより学習し、これは生物学的なNNにおけるシナプスの重みに対応する。前述のように、フィードフォワードNNは生物学的なNNからインスピレーションを得ている。しかしながら、生物学的なNNは、要求されると動的に接続を生成する。

構造的動的アルゴリズムには2つのアプローチがある。(1)NNからニューロンを除去するもの。NNからニューロンを除去するアプローチは2つある。(i)エラー最小化プロセスにペナルティを追加するRumelhartの重み減衰等、トレーニング中に動作するもの、及び(ii)より一般的なアプローチ、すなわちNNからの重み除去後に大局的エラーへのインパクトを計算するOptimal Brain Surgeon等、トレーニング後にニューロンを除去するもの。(2)Cascade−Correlation Networks(以後「CCN」)、Dynamic Node Creation(以後「DNC」)、減数分裂及び超球面分類、例えば制限クーロンエネルギー分類(以後「RCEC」)及び多項式時間トレーニング超球面分類(以後「PTTHCs」)等、NNにニューロンを追加するもの。

トレーニング中にNNにニューロンを動的に割り当てることにより動作するNNトレーニングアルゴリズムを提供する試みは数多くあるが、種々の広範な状況においてデータの効率的及び/又は正確な分類に対して理想的なものは1つもないと考えられている。

NNが科学及び/又は産業に関心をもたれる主な理由は、データ内の関係を見出す能力のためであり、これによりデータが分類でき、次いでNNがトレーニング中には直面しなかった入力ベクトル又はパターンをうまく分類できる。この強力な特性は、NNの「一般化」能力とも呼ばれることがある。トレーニング中にNNが直面しなかった入力ベクトルは、一般的には未知パターン又は未知入力ベクトルと呼ばれる。NNが一般化を行うにはトレーニングが必要である。

トレーニング中、ニューロンはトレーニングのためのデータセット内の突出した特徴を学習し、これにより未知入力ベクトルの出力を「予言」できる。NNが何を分類できるかは、NNが何でトレーニングされたによる。

NNがデータ内のノイズを処理しうるのは、NNの一般化能力である。

良好な一般化を確実にするためには、NN内でトレーニングされる重みの数よりも多くの入力ベクトルが利用可能でなければならないと考えられている。

NNが学習した入力ベクトル及びテストセットも同様に高率でうまく分類すると、トレーニングされたと見なされる。しかしながら、トレーニング及びNNをテストするために利用可能な分類されたデータセットの数はわずかに限られるので、データセットを分割する方法を考えなければならない。NNをうまくトレーニングし、これによりテストも可能であることを決定するためのデータセットの分割法には多くのアプローチがある。

NNがトレーニングされたか否かを決定する一般的な方法は、バックプロパゲーションでトレーニングされたNNを用いるときに入力ベクトルのそれぞれにエラーがいくつあるかを計算することによる。当業者であればNN内のエラー確認にこれまで用いられてきたアプローチを考慮するであろうから、本願明細書においては同様の詳細な議論は示さない。

しかしながら、トレーニングアルゴリズム間の比較の根拠に用いうる属性について記載しておく。

学習アルゴリズムの比較の際に考慮する要因は数多くあるため、性能の客観測定が行われる。

典型的には、次の4つの学習アルゴリズムの属性が考慮される。(1)正確さ:これはトレーニング中に学習されるルールの信頼性である。(2)速度:これは入力ベクトルの分類に要する時間測定である。(3)学習時間:これは入力ベクトルの学習に要する時間測定である。(4)理解度:これは学習されたルールが代替方法に適用可能であることを解釈しうる能力である。このようなストラテジ定量化が困難である。

これらの属性の2つ、すなわちデータセットの学習に要する学習アルゴリズムの時間及びNNが学習したものの理解度が、さらに試験される。

前述したように、バックプロパゲーションでNNをトレーニングしてデータセットを学習することには長時間のトレーニングが必要であり、NNは全くデータセットを学習しない可能性もある。固定サイズのNNのトレーニングにかかる時間は指数関数的であると言われてきた。この理由から、NNのトレーニングにかかる時間は代替トレーニングアルゴリズム間の比較の標準となっている。理想的なトレーニングアルゴリズムは、トレーニング入力ベクトルに対する露出最短となるであろう。最適化した状況において入力ベクトルに対する露出が最短でありうるのは、NNを各入力ベクトルに1回のみ露出して十分にトレーニングすることであろう。このようなトレーニングアルゴリズムは単一パストレーニングアルゴリズムと呼ばれる。

フィードフォワードNNをトレーニングするアルゴリズム間の比較の基盤として一般的に用いられる4つの属性のうち、理解度は、特に数値としてトレーニングされるフィードフォワードNNにおいては、最も定量化できないものであり、これはトレーニング中にNNに学習されるルールが不可解にも数値としてコード化されているからである。トレーニング中に学習されるルールを抽出可能な方法の1つは、感度分析を実施することによる。感度分析はエラーに対する頑強性の測定として参照されうる。

ルール抽出はシステムが生成する結果におけるユーザの信頼性を与えるものとして関心をもたれ、これはNNが外科手術航空交通管制、及び原子力発電所監視等の危険な問題の領域に用いられるとき、又は天文データ等、NNのトレーニングにより収集されたデータから理論が推定されるときに特に重要である。

理解度の保証に望まれるルールは、入力の同化に関する命題論理学のルールの形態である。

感度分析は、NN内に蓄積された情報を見出す1つの道筋であり、しばしばNNに実施される。ルールは不可解にも数値としてコード化されているので、NNにより学習されたルールが何かを見出すことが望ましいく、感度分析のこのような実施はNNにとって貴重である。

NNへの感度分析の実施に取られるアプローチは2つある。(1)重みを変更する効果、及び(2)NNに対してノイズの多い入力を適用する効果である。

入力スペースが十分に既知であると、必要数のデータポイントの一般化と、以下の3つの方法により選択される入力ベクトルに対するNNの出力を見出すことが可能である。(1)データ空間内の全ポイントに対する出力を見出すこと。NNがバイナリ(2値)データでトレーニングされていると、データセットは有限である必要がある。(2)入力スペースからデータポイントをランダムに選択すること、又は(3)入力スペース内の全てのn番目のデータポイント(ただしn>l)を選択すること。これにより、入力スペース上の分布も可能になる。

データポイントは、望ましいNNの反応が何であるかが既知ではない入力スペースの領域からも選択されうる。この場合、既知でないデータが与えられるときにNNがいかに反応するかが示される。

ここまで入力スペースの探求方法を精査してきたが、次いでNN内のニューロンの重み空間を吟味する。

システムには、指定の実施を要求され、あるいは要求された実施をシステムに許容する、多くの構成要素がある。個々の構成要素が指定の実施を行うとき、その構成要素は自己最適範囲にあると言われる。

感度分析は、システム内の構成要素に対する最適な値又は範囲から外れる効果の試験でありこの場合、最適範囲はトレーニングされたNNにおいて重みのためのものである。この場合には、NNの挙動を変更することなく重みが変化できる範囲(又はインターバル)を見出すように、上限及び下限が確立される。感度分析の実施には、システム内の各構成要素が、他の全ての構成要素を一定にしたまま、順番に試験される。試験される構成要素は、システムの動作を決定するための、あらゆる可能な数値に設定される。このプロセス中、システムを最適に動作しうる構成要素の上限及び/又は下限が確認され、構成要素がこれらの範囲を外れるときにシステムの挙動が観察されうる。このプロセスは範囲試験と呼ばれる。上限及び下限は、制約条件として表されうる。

既知の感度分析は、NNが理解可能に学習したものとなるであろう入力変数の同化に関する命題論理学のルールを生成しないと考えられている。

感度分析の目的は、ボリュームの形状を決定しうることにあり、これは構成要素の挙動を正確に画定するからである。しかしながら、既知のNNトレーニング法の制約によってニューロンの活性化を生じるボリュームの面を見出すことはできない。この面の試験が可能であった唯一の方法は、統計的手法によりそれぞれの重みの範囲を決定することによる。ボリュームの実際の面の知識があれば、それは重みの間に存在する関係を画定し、このことから所望であれば重みの範囲が決定されるので、理想であろう。

トレーニング中にフィードフォワードNNが何を学習したかを決定できることが強く望まれ、結果としてデータ内に存在する関係及びNNに学習された関係が何かを確認する試行に多くの研究がなされてきた。これが理解度と呼ばれるものであり、トレーニングアルゴリズムの良好さの決定に寄与する属性の1つである。現在、NNからルールを抽出するために用いられる方法は、トレーニングの完了後に実施される。

見出す必要のある望ましい関係のタイプは、命題論理学により与えられる。この必要性は次のようにまとめられる。(a)トレーニング条件を満たす全ての数値解を定義し、これによりNNにおいて感度分析が容易に実施可能になるもの。(b)トレーニング中にNNにより学習されるルールが、NNにより読み取られるデータセットを容易に分類できるようにするもの。

概要

本発明は入力ベクトルがニューロンによって既知であるか未知であるかを決定する方法を提供する。本方法は、入力ベクトルから制約条件及びその補空間を構築するステップと、制約条件及び補空間を交互に前記ニューロンの制約条件セットに追加するステップと、いずれかの場合に解答があるか否かを決定するために制約条件セットを試験するステップと、を含む。制約条件又はその補空間のいずれかに解答があり、かつ制約条件及びその補空間の両方に解答がない場合には、入力ベクトルは、前記ニューロンに既知であることが決定され、制約条件及びその補空間が交互に前記制約条件セットに追加されるときに解答がある場合には、入力ベクトルは、ニューロンによって既知ではないことが決定される。

目的

中間層におけるニューロンのトレーニングの目標はデータセット内の異なる特徴を学習することにある

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

入力ベクトルニューロンによって既知であるか未知であるかを決定する方法であって、前記入力ベクトルから制約条件及びその補空間を構築するステップと、前記制約条件及び補空間を交互に前記ニューロンの制約条件セットに追加するステップと、いずれかの場合に解答があるか否かを決定するために前記制約条件セットを試験するステップであって、前記制約条件又はその補空間のいずれか一方に解答がある場合には、前記入力ベクトルは、前記ニューロンに既知であることが決定され、前記制約条件及びその補空間が交互に前記制約条件セットに追加されるときに解答がある場合には、前記入力ベクトルは、前記ニューロンによって既知ではないことが決定される、ステップと、を含む、方法。

請求項2

前記制約条件セットは、LTGニューロンから構築されるニューラルネットワークのニューロンの制約条件セットである、請求項1に記載の方法。

請求項3

前記ニューラルネットワークの未知入力ベクトルの出力を決定する、請求項1に記載の方法。

請求項4

前記ニューラルネットワークのLTGの未知入力ベクトルを決定するために、データセットに応じて、前記未知入力ベクトルのデフォルト出力は、1又は0にセットされる、請求項1に記載の方法。

請求項5

前記ニューラルネットワークのLTGの与えられた未知入力ベクトルが当該LTGに既知であるか未知であるかを決定する、請求項1に記載の方法。

請求項6

制約条件セットの最小活性化体積(MAV)を決定するための方法であって、(i)前記制約条件セット内に残る制約条件を変化させずに前記制約条件セットからそれぞれの制約条件を一度に1つ除去するステップと、(ii)前記除去した制約条件セットの補空間を前記制約条件セットに追加するステップと、(iii)解答があるか否かを調べるために新規な制約条件セットをテストするステップと、を含み、解答がある場合には、MAVを定義する制約条件セットに最初の制約条件が追加され、前記制約条件セットに追加された前記補空間は除去され、最初の制約条件が前記制約条件セットに戻され、前記制約条件セット内にまだ制約条件がある場合には、ステップ(i)から(iii)を繰り返し、さもなければ前記MAVは前記MAVを定義する制約条件セットの範囲内に保持される制約条件のセットとし、解答がない場合には、前記制約条件セットに追加された前記制約条件の補空間は除去され、最初の制約条件が前記制約条件セットに戻され、前記制約条件セットにテストする制約条件がまだある場合には、ステップ(i)から(iii)を繰り返し、さもなければ前記MAVは前記MAVを定義する前記制約条件セットの範囲内に保持される制約条件のセットとする、方法。

請求項7

前記制約条件セットは、LTGニューロンから構築されるニューラルネットワークのニューロンの制約条件セットである、請求項6に記載の方法。

請求項8

ニューラルネットワークにおいて、各LTGに対するMAVを決定する、請求項7に記載の方法の使用。

請求項9

バイナリフォーマットデータセット以外のデータセットをニューラルネットワークにより学習されるバイナリフォーマットデータセットに変換するための方法であって、(i)前記データセットの各属性バイナリ提示するためのビット数別個に決定するステップと、(ii)計算式:範囲=(最大−最小)+1を用いて前記データセットの属性の範囲を計算し、ステップ(i)で決定したビット数を用いて前記データセットの属性の範囲をコード化するステップと、を含む、方法。

請求項10

ニューラルネットワークによりトレーニングされるデータセットを用意する、請求項9に記載の方法。

請求項11

データセットの入力ベクトルを2つの群にソートするステップと、1を出力するものを0を出力するものと分離するステップと、ニューラルネットワークにより最初に学習される、前記2つの群の一方を選択するステップと、を含む、ニューラルネットワークによりトレーニングされるデータセットをソートする方法。

請求項12

ニューラルネットワークによりトレーニングされるデータセットをソートする、請求項11に記載の方法。

技術分野

0001

本発明は一般的に人工ニューラルネットワーク及びその操作に関し、特に、限定しないが、ニューラルネットワークトレーニング法の改善及び/又は、トレーニング過程中の要求通りネットワークニューロンを追加できるシステムに関する。

背景技術

0002

過去10数年にわたり生成データセットのサイズが増殖するに従い、厳密に理解されないデータセットにおいて、そのデータセット内の関係を見出すために用いうる開発ツールへの関心が高まっている。データ探索のツールは、毎回固定した時間量において、入力と出力の間の関係についての顕著な情報を容易に決定しうるデータセットを矛盾なく学習しうることが望ましい。

0003

データ探索のツールの1つは、フィードフォワードニューラルネットワークである。フィードフォワードニューラルネットワークは、データセットを有する多くの多様で困難なタスクを実施するために用いられ、過去およそ40年にわたって大いに注目されてきた。これらには、「一般化する」能力があるという理由で、パターン分類及び機能概算を含む。このように、ニューラルネットワーク(以後、簡便のために”NN”と略称)は、非線形システムモデリング及びイメージ圧縮再構成等のアプリケーションに用いうる。

0004

NNが関心を持たれる分野には、科学、商業、医学及び産業が含まれ、これらにおいてはデータに内在する関係性が不明であり、NNであればそうしたデータをうまく分類する方法を学習できるからである。

0005

ある場合においては、データが先行する分類に提示されてはならず、こうした状況では、で他を分類するために自己組織化マップ等の教師なしトレーニングを用いることが通常である。別の場合においては、データは分類されたデータサンプルに前もって分解され、こうした状況では未分類のデータをさらに分類できるようNNをトレーニングすることが通常である。後者の場合においては、教師あり学習アルゴリズムが伝統的に用いられる。分類された入力データ例には関連付けられる出力があり、トレーニング期間中にNNは入力ベクトルに関連付けられる望ましい出力を再現することを学習する。フィードフォワードNNは、伝統的には教師ありトレーニング法を用いてトレーニングされる。

0006

人工NNは多くのニューロンで構成され、これらはユニット又はノードと呼ぶことがある。これは生物学的ニューロンからインスピレーションを得ている。ニューロンは相互に接続せいてネットワークを形成する。各ニューロンには多くの他のニューロンからの入力がある。ニューロンは入力に応答して、発火するかしないかにより出力を生成する。このようにして、ニューロンの出力は多くの他のニューロンへの入力になりうる。これがフィードフォワードNNの基本構造である。

0007

典型的にはニューロンは層を形成する。フィードフォワードNNにおいては、入力層、中間層及び出力層の、3タイプの層がある。第1の層は入力層であり、1以上のニューロンを内蔵する。同様に1以上のニューロンを有する出力層もある。NNは1以上の中間層を有する場合もある。入力層の全てのニューロンは次の層、すなわち出力層又は1以上の中間層がある場合には第1の中間層へ、出力を提示する。中間層が1つだけであると、中間層のニューロンは出力層に対して出力を報告する。中間層が1よりも多いと、ニューロンは次の中間層等の入力に向かって出力を送り、最後の中間層は出力層の入力に向かってその出力を送る。

0008

他のネットワークアーキテクチャも可能であり、NNは特定のデータセットを学習するよう特異的に設計しうる。これは特にNNの入力ベクトルのシーケンス学習に見られ、これは接続にフィードバックループを有することもある。これらのNNは回帰フィードフォワードニューラルネットワークと呼ばれ、一般的にはこのNNの出力はしばしばNNの入力にフィードバックしうる。

0009

最初の生物学的ニューロンモデルは、McCulloch及びPittにより1943年に開発された。これは、McCulloch−Pittニュートンとして知られた。McCulloch−Pittニューロンモデル又は直線閾値ゲート(以後、LTGと略称、Linear Threshold Gate)は、多くの入力接続及び各接続と関連付けられた重みを有するものとして定義される。入力は、数学的にベクトルxiとして定義され、

0010

式中、nはLTGへの入力数を示す正の整数であり、iはi番目の入力ベクトルである。入力接続はn個あるので、接続の重みは数学的にベクトルwと定義されうる。

0011

LTGへの各入力ベクトルは関連付けられた重みがかけ合わされて数学的にxi・wと表され、この結果はLTGの閾値Tと比較される。

0012

xi・w≧Tならば出力は1であり、さもなければxi・w<Tとなって出力は0である。換言すれば、LTGはニューロンの活性化関数としての、このステップ関数又はHeaviside関数を用いる。

0013

LTGは次式の定義を用いて数学的に定義しうる。w={w1,w2,..・wn}及びxi={x1,x2,...xn}ここで、

0014

0015

とおくと、LTGの挙動は次式1.1のようにまとめられる。
xj・w<T→0、及びxj・w<T→1 (1.1)

0016

このように、LTG、Oの出力はバイナリ{0,1}である。LTGは活性化すると1を出力し、しなければ0を出力する。

0017

1962年に、LTGは、永久的に1にセットされる追加バイアスで変更された。バイアス入力は閾値を吸収し、これをゼロにセットする。変更されたLTGモデルパーセプトロン名称変更した。パーセプトロンモデルにおいては、閾値Tはxi・wから除去されうるので、等式はxi・w<T≡xi・w−T<0、及びxi・w>T≡xi・w−T≧0となるすなわち、閾値は、重みw0と共にニューロンへの別の入力になることが可能で、ニューロンへの入力を1に固定することにより常に存在することが確定し、T=1・w0となる。重みw0はバイアスウェイトと呼ばれる。従って、前式は次のようになる。
xi・w−W0<0、及びxi・w−W0≧0

0018

1960年に、Rosenblattはパーセプトロンモデルを用いて重みのための数値を見出すことに注目した。これ以降、ニューロン内の各重みに足して単一の数値を見出すことが、ニューロン及びNNをトレーニングする方法を確立してきた。ニューロンにより生成する関係は提案ロジックを用いて表現しうることが認識されていたが、重みと閾値との象徴的な関係を直接に見出すことは意図されてこなかった。NNがトレーニング中に学習したデータセット内のルール数値コード化され、これによりルールは非圧縮性となりうる。重み及び閾値により見出される数値から、NNにより学習されたルールを見出すことが意図されてきた。このような方法は全てトレーニング後追加プロセスであり、これらによってNNから直接にルールを読み出すことはできない。

0019

1962年に、Rosenblattはパーセプトロン学習アルゴリズム収束を証明し、これは直線的に分離可能なデータセットを満足する数値を反復して見出すものであった。ニューロンは、特定の入力に与える所望の出力を生成するよう、接続の重みを加えることにより学習する。Rosenblattのトレーニングルールは、式1.2に見られるように、入力xiに基づいて重みwjが変更されるというものであり、式中、1≦j≦n、nはパーセプトロンへの入力の数、tは時間ステップ、ηは正のゲイン率で、η≦1である。Rosenblattのルーツバイナリ出力に対して動作する。特定の入力に対するパーセプトロンの出力が正しいならば、何も起こらない。
Wj(t+1)=Wj(t) (1.2)
さもなければ、出力が0であり、かつ1でなければならない場合は、次のようになる。
Wj(t+1)=Wj(t)+ηXi(t) (1.3)
あるいは、出力が1であり、かつ0でなければならない場合は、次のようになる。
Wj(t+1)=Wj(t)−ηxi(t) (1.4)

0020

反復して重みを調節するアイデアは、今やフィードフォワードNNをトレーニングする方法として確立した。

0021

1969年に、より複雑なデータセットに対してRosenblattの学習アルゴリズムは動作しないことが見出された。Minsky及びPapertは、単一層のパーセプトロンは有名な排他的論理和(XOR)問題を解けないことを示した。これが動作しない理由は、反復が重み空間内の単一点を見出すために用いられたからである。

0022

Boolean関数の全てが単一のLTGにより学習されうるとは限らない。n個の入力変数には2nの組み合わせがあり、可能な出力と組み合わせると2nのユニークなBoolean関数(あるいはスイッチング関数として公知)が存在することになる。2nの関数のうち、あるもののみが単一のn−入力LTGにより表されうる。入力スペースが直線的に分離可能であるBoolean関数は単一のLTGにより表すことができるが、直線的に分離可能ではないBoolean関数を学習するためには追加のLTGが必要である。XORは直線的に分離可能ではないBoolean関数の例であり、従って単一のLTGでは学習できない。

0023

LTGに追加の層を用いることで、直線的に分離可能ではない問題をNNに学習させることが可能になるが、しかしLTGの複数の層を同時にトレーニングしうる実用でキナトレーニングルールはなかった。

0024

結果として、LTGの複数の層をトレーニングしうる重み及び閾値のための数値を見出す反復方法がないという理由で、ニューロンのMcCulloch−Pittモデルは廃棄された。これは、バックプロパゲーションが開発されるまで続いた。

0025

1974年に、Werbosはエラーバックプロパゲーション(又は「バックプロパゲーション」)のアイデアに至った。後に1986年に、Rumelhart及びHinton、さらに1986年にWilliams、及び1985年にParkerが到達したアルゴリズムも同様であり、これにより多層NNモデルをトレーニングして反復的に重みのための数値を見出すことが可能になった。これにより、XOR問題並びに単一層のパーセプトロンでは解けない他の多くの問題の解答が可能になった。McCulloch−Pittのニューロンモデルは活性化関数としてステップ関数に替えシグモイド関数を用いるよう再び変更された。シグモイド関数の数学的定義は次式1.5で与えられる。
O=1/(1+e−kwx) (1.5)

0026

パーセプトロンは一般的にシグモイド関数をパーセプトロンの活性化関数として用いる。k項は曲線広がりを制御し、シグモイド関数は、

0027

において出力が

0028

となるようにステップ関数を近似する。しかしながら、tanh(kw・x)等の他の活性化関数も用いうる。この活性化関数は−1から+1の範囲であるため、NNが負の数を出力可能である必要がある場合に用いられる。

0029

バックプロパゲーションはRosenblattの学習アルゴリズムに基づいており、式1.2から式1.4に記載したものである。これは教師あり学習モデルであり、入力ベクトルをNNの入力層に加えることにより動作する。入力層はこの入力を第1の中間層に分配する。層内の各ニューロンの出力は式1.5にしたがって計算され、後続の層への入力となる。後続の層への入力となるニューロンの層の出力(又は活性化)を計算するプロセスは、NNの出力が計算されるまでの間に繰り返される。実際の出力と所望の出力との間にはエラーが生じることもあり、エラーの量に従って重みが変更される。出力におけるエラーは、NN何のエラーを低減するために、今度は出力層への接続から中間層における接続に向かう接続の重みを調節することにより、NNを通じて、フィードバックされるか、又は後方伝播される。重みの量は、これらのユニット内のエラー量に比例して直接的に調節される。

0030

バックプロパゲーションのデルタルールは式1.6で与えられ、式中、iは層、jはi−1層内に生起する接続元のパーセプトロン、kはi層内に向かう接続先のパーセプトロンである。

0031

式中、

0032

である。

0033

は、NN内の重みに関する数値のエラー低減を意図して重みが変更される量である。重みが変更される量は、ニューロンの出力Oijk、ゲイン項η(これは学習速度及び出力エラーδijkとも呼ばれる)に基づく。NNにおけるエラーは、NNの実際の出力と所望の出力との差である。

0034

NNが十分にトレーニングされると、NNにおけるエラーとしてのエラー関数大局極小値最小値と呼ぶ。エラー内には多くの局所的極小値が潜在しているので、エラーは面でありうる、すなわち関数でありうると見なされる。しかしながら、いかなるNNに対してもエラー関数は知られていない。エラー関数は、NNに加えられた全ての入力ベクトルに対する所望の出力と実際の出力との差に基づくので、経験的にのみ計算されうる。δijk項はエラー関数の1次微分(出力におけるエラーの差に基づく微分)である。バックプロパゲーションがNN内のエラーを最小化するときに、最小化されるのはエラー関数である。勾配(1次微分)を用いることで、NN内のエラーを最小化する重みを変化する方法の決定が可能になる。これは、勾配降下と呼ばれる。

0035

バックプロパゲーションは、そのアルゴリズム内にNNへのニューロンの追加も除去も許容しないため、固定サイズのNNでの動作を要する。NNがデータセットを学習するようトレーニングするときに、そのデータを学習するために何層の、各層にいくつのニューロンが必要であるかという推測がなされる。トレーニング後に、必要ではないニューロンを取り除くことにより、トレーニングしたNNの性能向上を試みてもよい。しかし、トレーニング中はニューロンの数は一定でなければならない。

0036

伝統的なバックプロパゲーションアルゴリズムは以下のように要約される。(a)初期化:NN内の層数及び各層のニューロン数を定義し、NNの重みをランダムな値で初期化する;(b)トレーニングセットからNNに入力ベクトルを加えるる。式1.5を用い、入力層に続く第1層内の各ニューロンに対する出力を計算し、この出力を次の層への入力として用いる。このプロセスをNNの各層に対して、出力が計算されるまで繰り返す;(c)式1.6を用い、NN内に存在するエラー量に従って重みを変更する;(d)ステップ(b)及び(c)を、NNがトレーニングされたと考えられるまで繰り返す。NNは、トレーニングセット中のある数の入力ベクトルに対して、エラーが任意の数値以下に低下する時に、トレーニングされたと見なされる。

0037

バックプロパゲーションを用いてNNがデータセットを学習するようトレーニングすることには多くの利点が伴う一方、バックプロパゲーションには限界がある。バックプロパゲーションでは、NNはデータセットの学習に長時間が必要となりうるか、さらに悪い場合としては全くデータセットを学習しないかもしれない。いくつかの場合において、NNがデータセットを学習しない理由の決定は不可能なことがあり、及び/又はトレーニング中にNNがデータセットを一体学ぶのかどうか、単に学習に時間がかかるのかを区別することは不可能である。

0038

バックプロパゲーションでは、NNはデータ学習に小さすぎる場合がある。伝統的には、NNの設計者各中間層に用いるニューロン数、及びデータセットの学習に要する中間層の数も推定しなければならない。NNが大きすぎると、適切に一般化できない場合がある。従って、この問題の改善を意図して、NNからニューロンが取り除かれることがある。NNはエラー空間の局所的極小内に固定されることがある。NNがデータセットの学習を完了すると、NNはエラー空間の大局的極小内にある。エラー関数の形状は未知であり、関数は大きいエラー及び小さいエラーの領域を有する。バックプロパゲーションはエラー関数の1次微分を試行することによりエラーを最小化するよう動作するだけであり、これは局所領域のみの試行である。中間層におけるニューロンのトレーニングの目標はデータセット内の異なる特徴を学習することにある。しかしながら、バックプロパゲーションがNN内にエラーを後方伝播するときは、全ての重みが幾分変更されるため、データセット内の特定の特徴に対する各ニューロンのユニークな関連付けが減少する可能性がある。これは、ニューロンは同一層にある他のニューロンが同一の特徴を学習しているか否かを決定できないために起こりうる。このために、特定のデータの特徴を学習し、その特徴を忘れてしまう重みが生じうる。

0039

バックプロパゲーションでのNNのトレーニングにおける主要な問題は、NNがデータセットを学習しない原因が上述の理由のいずれであるか決定できないことである。データセットを学習するかもしれないが単純に遅い、又はNNが小さすぎるために全くデータを学習しないかもしれない、又は局所的極小内に固定されるかもしれない。さらに顕著なバックプロパゲーションの問題は、NNがデータセットを学習してしまうと、NNが学習したものは不可解なことに数値としての重み及び閾値にコード化されるということである。

0040

バックプロパゲーションでのNNのトレーニングが困難であるため、フィードフォワードNNをトレーニングするための代替アルゴリズム開発に多くの研究がなされてきた。

0041

ィードフォワードNNをトレーニングするための代替アルゴリズム開発には多くの研究がある。代替アルゴリズムには2つの分類がある。(1)ニューロン又はNNの資源の数を固定することを要するアルゴリズム、及び(2)NNに対して動的にニューロンを割り当てられるもの、である。

0042

これらのアルゴリズムのほとんどは固定サイズのNNを有することに依存し、結果としてバックプロパゲーションと同一の問題を経験する。公知の方法の1つは、重みの数値を見出すために遺伝子アルゴリズムを用いる。遺伝子アルゴリズムは局所的極小点の問題を避けうるが、トレーニングの時間量は限りがなく、NNが小さすぎるために適切なトレーニングではない場合がある。別の代替法は、動径基底関数RBF、Radial Basis Function)を用いることであり、NNの学習に単一層のみを用いるが、1つのデータセットを学習するために利用可能な入力ベクトルをバックプロパゲーションよりも多く必要とする。固定サイズのNNに伴う問題の結果として、データセット学習のためにNNの成長を許容することが有用である。

0043

フィードフォワードNNトレーニングアルゴリズムは、動的にニューロンを追加するものであり、データ内の特徴が確実に学習されるよう、必要なときにのみニューロンを追加する柔軟性をもたらすので、予め定義された構造の問題に対する解答として導入されてきた。従って、他のニューロンがデータセット内の特定の特徴を学習できないときにニューロンが追加され、結果としてトレーニングされたNNを用いて、トレーニング中にNNにより学習されたルールが何であるかをより効率的に確認できる。予め定義されたネットワーク構造は、NNのデータ学習能力を制限する。NNは重みを加えることにより学習し、これは生物学的なNNにおけるシナプスの重みに対応する。前述のように、フィードフォワードNNは生物学的なNNからインスピレーションを得ている。しかしながら、生物学的なNNは、要求されると動的に接続を生成する。

0044

構造的動的アルゴリズムには2つのアプローチがある。(1)NNからニューロンを除去するもの。NNからニューロンを除去するアプローチは2つある。(i)エラー最小化プロセスにペナルティを追加するRumelhartの重み減衰等、トレーニング中に動作するもの、及び(ii)より一般的なアプローチ、すなわちNNからの重み除去後に大局的エラーへのインパクトを計算するOptimal Brain Surgeon等、トレーニング後にニューロンを除去するもの。(2)Cascade−Correlation Networks(以後「CCN」)、Dynamic Node Creation(以後「DNC」)、減数分裂及び超球面分類、例えば制限クーロンエネルギー分類(以後「RCEC」)及び多項式時間トレーニング超球面分類(以後「PTTHCs」)等、NNにニューロンを追加するもの。

0045

トレーニング中にNNにニューロンを動的に割り当てることにより動作するNNトレーニングアルゴリズムを提供する試みは数多くあるが、種々の広範な状況においてデータの効率的及び/又は正確な分類に対して理想的なものは1つもないと考えられている。

0046

NNが科学及び/又は産業に関心をもたれる主な理由は、データ内の関係を見出す能力のためであり、これによりデータが分類でき、次いでNNがトレーニング中には直面しなかった入力ベクトル又はパターンをうまく分類できる。この強力な特性は、NNの「一般化」能力とも呼ばれることがある。トレーニング中にNNが直面しなかった入力ベクトルは、一般的には未知パターン又は未知入力ベクトルと呼ばれる。NNが一般化を行うにはトレーニングが必要である。

0047

トレーニング中、ニューロンはトレーニングのためのデータセット内の突出した特徴を学習し、これにより未知入力ベクトルの出力を「予言」できる。NNが何を分類できるかは、NNが何でトレーニングされたによる。

0048

NNがデータ内のノイズを処理しうるのは、NNの一般化能力である。

0049

良好な一般化を確実にするためには、NN内でトレーニングされる重みの数よりも多くの入力ベクトルが利用可能でなければならないと考えられている。

0050

NNが学習した入力ベクトル及びテストセットも同様に高率でうまく分類すると、トレーニングされたと見なされる。しかしながら、トレーニング及びNNをテストするために利用可能な分類されたデータセットの数はわずかに限られるので、データセットを分割する方法を考えなければならない。NNをうまくトレーニングし、これによりテストも可能であることを決定するためのデータセットの分割法には多くのアプローチがある。

0051

NNがトレーニングされたか否かを決定する一般的な方法は、バックプロパゲーションでトレーニングされたNNを用いるときに入力ベクトルのそれぞれにエラーがいくつあるかを計算することによる。当業者であればNN内のエラー確認にこれまで用いられてきたアプローチを考慮するであろうから、本願明細書においては同様の詳細な議論は示さない。

0052

しかしながら、トレーニングアルゴリズム間の比較の根拠に用いうる属性について記載しておく。

0053

学習アルゴリズムの比較の際に考慮する要因は数多くあるため、性能の客観測定が行われる。

0054

典型的には、次の4つの学習アルゴリズムの属性が考慮される。(1)正確さ:これはトレーニング中に学習されるルールの信頼性である。(2)速度:これは入力ベクトルの分類に要する時間測定である。(3)学習時間:これは入力ベクトルの学習に要する時間測定である。(4)理解度:これは学習されたルールが代替方法に適用可能であることを解釈しうる能力である。このようなストラテジ定量化が困難である。

0055

これらの属性の2つ、すなわちデータセットの学習に要する学習アルゴリズムの時間及びNNが学習したものの理解度が、さらに試験される。

0056

前述したように、バックプロパゲーションでNNをトレーニングしてデータセットを学習することには長時間のトレーニングが必要であり、NNは全くデータセットを学習しない可能性もある。固定サイズのNNのトレーニングにかかる時間は指数関数的であると言われてきた。この理由から、NNのトレーニングにかかる時間は代替トレーニングアルゴリズム間の比較の標準となっている。理想的なトレーニングアルゴリズムは、トレーニング入力ベクトルに対する露出最短となるであろう。最適化した状況において入力ベクトルに対する露出が最短でありうるのは、NNを各入力ベクトルに1回のみ露出して十分にトレーニングすることであろう。このようなトレーニングアルゴリズムは単一パストレーニングアルゴリズムと呼ばれる。

0057

フィードフォワードNNをトレーニングするアルゴリズム間の比較の基盤として一般的に用いられる4つの属性のうち、理解度は、特に数値としてトレーニングされるフィードフォワードNNにおいては、最も定量化できないものであり、これはトレーニング中にNNに学習されるルールが不可解にも数値としてコード化されているからである。トレーニング中に学習されるルールを抽出可能な方法の1つは、感度分析を実施することによる。感度分析はエラーに対する頑強性の測定として参照されうる。

0058

ルール抽出はシステムが生成する結果におけるユーザの信頼性を与えるものとして関心をもたれ、これはNNが外科手術航空交通管制、及び原子力発電所監視等の危険な問題の領域に用いられるとき、又は天文データ等、NNのトレーニングにより収集されたデータから理論が推定されるときに特に重要である。

0059

理解度の保証に望まれるルールは、入力の同化に関する命題論理学のルールの形態である。

0060

感度分析は、NN内に蓄積された情報を見出す1つの道筋であり、しばしばNNに実施される。ルールは不可解にも数値としてコード化されているので、NNにより学習されたルールが何かを見出すことが望ましいく、感度分析のこのような実施はNNにとって貴重である。

0061

NNへの感度分析の実施に取られるアプローチは2つある。(1)重みを変更する効果、及び(2)NNに対してノイズの多い入力を適用する効果である。

0062

入力スペースが十分に既知であると、必要数のデータポイントの一般化と、以下の3つの方法により選択される入力ベクトルに対するNNの出力を見出すことが可能である。(1)データ空間内の全ポイントに対する出力を見出すこと。NNがバイナリ(2値)データでトレーニングされていると、データセットは有限である必要がある。(2)入力スペースからデータポイントをランダムに選択すること、又は(3)入力スペース内の全てのn番目のデータポイント(ただしn>l)を選択すること。これにより、入力スペース上の分布も可能になる。

0063

データポイントは、望ましいNNの反応が何であるかが既知ではない入力スペースの領域からも選択されうる。この場合、既知でないデータが与えられるときにNNがいかに反応するかが示される。

0064

ここまで入力スペースの探求方法を精査してきたが、次いでNN内のニューロンの重み空間を吟味する。

0065

システムには、指定の実施を要求され、あるいは要求された実施をシステムに許容する、多くの構成要素がある。個々の構成要素が指定の実施を行うとき、その構成要素は自己最適範囲にあると言われる。

0066

感度分析は、システム内の構成要素に対する最適な値又は範囲から外れる効果の試験でありこの場合、最適範囲はトレーニングされたNNにおいて重みのためのものである。この場合には、NNの挙動を変更することなく重みが変化できる範囲(又はインターバル)を見出すように、上限及び下限が確立される。感度分析の実施には、システム内の各構成要素が、他の全ての構成要素を一定にしたまま、順番に試験される。試験される構成要素は、システムの動作を決定するための、あらゆる可能な数値に設定される。このプロセス中、システムを最適に動作しうる構成要素の上限及び/又は下限が確認され、構成要素がこれらの範囲を外れるときにシステムの挙動が観察されうる。このプロセスは範囲試験と呼ばれる。上限及び下限は、制約条件として表されうる。

0067

既知の感度分析は、NNが理解可能に学習したものとなるであろう入力変数の同化に関する命題論理学のルールを生成しないと考えられている。

0068

感度分析の目的は、ボリュームの形状を決定しうることにあり、これは構成要素の挙動を正確に画定するからである。しかしながら、既知のNNトレーニング法の制約によってニューロンの活性化を生じるボリュームの面を見出すことはできない。この面の試験が可能であった唯一の方法は、統計的手法によりそれぞれの重みの範囲を決定することによる。ボリュームの実際の面の知識があれば、それは重みの間に存在する関係を画定し、このことから所望であれば重みの範囲が決定されるので、理想であろう。

0069

トレーニング中にフィードフォワードNNが何を学習したかを決定できることが強く望まれ、結果としてデータ内に存在する関係及びNNに学習された関係が何かを確認する試行に多くの研究がなされてきた。これが理解度と呼ばれるものであり、トレーニングアルゴリズムの良好さの決定に寄与する属性の1つである。現在、NNからルールを抽出するために用いられる方法は、トレーニングの完了後に実施される。

0070

見出す必要のある望ましい関係のタイプは、命題論理学により与えられる。この必要性は次のようにまとめられる。(a)トレーニング条件を満たす全ての数値解を定義し、これによりNNにおいて感度分析が容易に実施可能になるもの。(b)トレーニング中にNNにより学習されるルールが、NNにより読み取られるデータセットを容易に分類できるようにするもの。

発明が解決しようとする課題

0071

種々の動的アルゴリズムに関し、上述の公知のトレーニング方法のうちで、NNからのルールの直接読み取りを許容することに近い唯一のものは超球面分類であり、これは領域間にORの関係を形成する。従って、入力スペース内の領域はあるカテゴリーに属するか又はそうでないため、領域がANDで結合されることはない。関係が領域内に属さないならば、活性化すべきでないニューロンの活性化を抑制するために球面が追加されるので、入力スペースを表すにはORが適切である。入力スペースが複雑化すると超球面を定義する半径は0になる傾向があり、究極的には各入力ベクトルに超球面が追加される。中間層内のニューロンにより定義される領域は入力スペース内の領域に近いものであるが、画定するものではなく、最悪の場合を除いてはデータポイントと同数の超球面が存在する。PTTHCsは入力スペースの範囲の改良を意図したものであり、これにより計算の複雑化という代償を払っても一般化の性能を向上するもので、従って非常に低速である。

0072

CCN、減数分裂及びDNCは全て数値として重みをトレーニングするもので、このためトレーニング中にデータ内にいかなる関係が見出されたかを決定することは簡単ではない。

0073

これらのアルゴリズムは、一般化に関する性能の成功の程度は様々であるが、全て動的にニューロンをNNに対して割り当てるものである。アルゴリズムによっては、あるデータセットについて他のものよりも良好で、超球面分類を除く全ては重み空間の境界条件の情報を失うので、ルール抽出に対して有用ではない。

0074

アルゴリズムによっては、アニーリングに基づき、バックプロパゲーションよりもさらに低速な傾向のある減数分裂アルゴリズムのように、あるデータセットは他のものより迅速に学習するものもある。

0075

CCN及びDNCは特定のデータセットに対してトレーニング時間が早いという報告があるが、これらは単一パスのアルゴリズムではなく、両者ともNNにニューロンが追加される前にシステム内のエラー量を低減するための反復に依存する。

0076

これまでに、単一パスで学習し、要求通りにNNにニューロンも追加し、NNから直接のルールの読み取りを許容する、NNトレーニングアルゴリズムは存在していない。

0077

このため、本発明は、ニューロンが要求通りにNNに割り当てられてデータセットを学習しうる意味において、関係性があり動的であるNNトレーニング方法を提供することを目的とする。

0078

また、本発明は、単一バスでデータセットを学習しうるNNトレーニング方法を提供することを目的とする。

0079

さらに、本発明はルールがNNから直接に読み取られることを許容するNNトレーニング方法を提供することを目的とする。

課題を解決するための手段

0080

本発明の一態様によれば、入力ベクトルがニューロンによって既知であるか未知であるかを決定する方法が提供され、当該方法は、前記入力ベクトルから制約条件及びその補空間を構築するステップと、前記制約条件及び補空間を交互に前記ニューロンの制約条件セットに追加するステップと、いずれかの場合に解答があるか否かを決定するために前記制約条件セットを試験するステップであって、前記制約条件又はその補空間のいずれか一方に解答がある場合には、前記入力ベクトルは、前記ニューロンに既知であることが決定され、前記制約条件及びその補空間が交互に前記制約条件セットに追加されるときに解答がある場合には、前記入力ベクトルは、前記ニューロンによって既知ではないことが決定される、ステップと、を含む。

0081

前記方法において、前記制約条件セットは、LTGニューロンから構築されるニューラルネットワークのニューロンの制約条件セットであることが好ましい。

0082

また、前記方法において、前記ニューラルネットワークの未知入力ベクトルの出力を決定することを提供してもよい。

0083

また、前記方法において、前記ニューラルネットワークのLTGの未知入力ベクトルを決定するために、データセットに応じて、前記未知入力ベクトルのデフォルト出力は、1又は0にセットされることを提供してもよい。

0084

また、前記方法において、前記ニューラルネットワークのLTGの与えられた未知入力ベクトルが当該LTGに既知であるか未知であるかを決定することを提供してもよい。

0085

本発明の他の態様によれば、制約条件セットの最小活性化体積(MAV)を決定するための方法が提供され、当該方法は、(i)前記制約条件セット内に残る制約条件を変化させずに前記制約条件セットからそれぞれの制約条件を一度に1つ除去するステップと、(ii)前記除去した制約条件セットの補空間を前記制約条件セットに追加するステップと、(iii)解答があるか否かを調べるために新規な制約条件セットをテストするステップと、を含み、解答がある場合には、MAVを定義する制約条件セットに最初の制約条件が追加され、前記制約条件セットに追加された前記補空間は除去され、最初の制約条件が前記制約条件セットに戻され、前記制約条件セット内にまだ制約条件がある場合には、ステップ(i)から(iii)を繰り返し、さもなければ前記MAVは前記MAVを定義する制約条件セットの範囲内に保持される制約条件のセットとし、解答がない場合には、前記制約条件セットに追加された前記制約条件の補空間は除去され、最初の制約条件が前記制約条件セットに戻され、前記制約条件セットにテストする制約条件がまだある場合には、ステップ(i)から(iii)を繰り返し、さもなければ前記MAVは前記MAVを定義する前記制約条件セットの範囲内に保持される制約条件のセットとする。

0086

前記方法において、前記制約条件セットは、LTGニューロンから構築されるニューラルネットワークのニューロンの制約条件セットであることが好ましい。

0087

また、前記方法において、ニューラルネットワークにおいて、各LTGに対するMAVを決定することを提供してもよい。

0088

本発明の他の態様によれば、バイナリフォーマットデータセット以外のデータセットをニューラルネットワークにより学習されるバイナリフォーマットデータセットに変換するための方法が提供され、当該方法は、(i)前記データセットの各属性をバイナリで提示するためのビット数別個に決定するステップと、(ii)計算式:範囲=(最大−最小)+1を用いて前記データセットの属性の範囲を計算し、ステップ(i)で決定したビット数を用いて前記データセットの属性の範囲をコード化するステップと、を含む。

0089

また、前記方法において、ニューラルネットワークによりトレーニングされるデータセットを用意することを提供してもよい。

0090

本発明の他の態様によれば、ニューラルネットワークによりトレーニングされるデータセットをソートする方法が提供され、当該方法は、データセットの入力ベクトルを2つの群にソートするステップと、1を出力するものを0を出力するものと分離するステップと、ニューラルネットワークにより最初に学習される、前記2つの群の一方を選択するステップと、を含む。

0091

また、前記方法において、ニューラルネットワークによりトレーニングされるデータセットをソートすることを提供してもよい。

図面の簡単な説明

0092

本発明がより明確に理解され実用化されるために、以下に本発明に係るNNをトレーニングする方法及び/又はシステムの好適な構成を詳細に説明する。以下の説明は、非限定的な例としてのみ与えられ、添付の図面を参照する。
2入力1出力フィードフォワードNNの基本構造の例を示す模式図である。
本発明の好適な実施形態に係るNNのトレーニング方法を示すフロー図である。
図2のNNのトレーニング方法に従ってトレーニングされたNNの出力の単一のパターンを学習する好適な方法を示すフロー図である。
図2のNNのトレーニング方法に従ってトレーニングされたNNの中間層に新たなニューロンを割り当てる好適な方法を示すフロー図である。
図2のNNのトレーニング方法に従ってトレーニングされたNNに新たな出力ニューロンを割り当てる好適な方法を示すフロー図である。
本発明のNNトレーニング方法の好適な実施形態に従ってNNに新たなニューロンを割り当てる様子を示す模式図である。
2入力LTG−NNの基本構造の例を示す模式図である。
本発明のNNトレーニング方法に従ってModulo−8問題を用いてトレーニングされた、3出力NNの好適な実施形態を示す模式図である。
本発明のNNトレーニング方法の好適な実施形態に従ってNNの中間層にニューロンを割り当てる様子を示す模式図である。
本発明のNNトレーニング方法の好適な実施形態に従ってトレーニングされたNNに新たな出力層を追加する様子を示す模式図である。
3入力LTG−NNの基本構造の例を示す模式図である。
本発明の好適な実施形態に従って行われる、制約条件セットの入力ベクトルが既知か未知かを判定する方法を示すフロー図である。
トレーニングされたLTGの重み空間を一般化した図である。
好適な実施形態に従って、本発明のNNトレーニング方法でトレーニングされたModulo−8問題を解決することができるNNを示す模式図である。
本発明の好適な実施形態に従って行われる、制約条件セットの最小活性化体積(MAV)を判定する方法を示すフロー図である。
本発明の好適な実施形態に係るNNのトレーニング中に学習された活性化体積及びその他の制約条件を一般化した図である。
NNのトレーニングのテストに用いられる認められたデータセットである二重螺旋問題用のデータセットを示す図である。
本発明のNNトレーニング方法の好適な実施形態に従って生成され、図17のデータセット二重螺旋問題を解決するNNを示す模式図である。
図17の二重螺旋問題テストデータセットでトレーニングされた図18のNNの結果を示す図である。
図17の二重螺旋問題テストデータセットでトレーニングされたときに図18のNNの中間層の各ニューロンが本発明のNNトレーニング方法を用いて学習したことを示す図である。
本発明のNNトレーニング方法の好適な実施形態に従って生成され、ドイツクレジットデータセット問題を解決するNNを示す模式図である。

実施例

0093

以下、本発明の詳細な好適な構成を添付の図面を参照して説明する。以下の記載では、LTGニューロンモデルは、好適な実施形態としてのみ用いられる。利用可能なニューロンモデルは他にも多くあり、本発明のDRトレーニング方法又はアルゴリズムに係るNNの構成に用いうることは理解すべきである。従って、本発明は、添付の図面に示す特定のニューロンモデルに限定されるものではない。従って、以下の説明を通して「LTG」又は「LTGs(複数)」という表記は、単に「任意の適切なニューロンモデル」を意味するものとして解されるべきである。

0094

本発明のDRトレーニングアルゴリズムは、本発明のその他の様態と共に、以下に説明するように、任意の適切なコンピュータソフトウェア及び/又はハードウェアを用いて実装されてもよい。従って、本発明は、特定の実用上の実装に限定されるものではない。本発明のDRトレーニングアルゴリズムの性能評価の目的で、またアルゴリズム及び本発明のその他の様態が予想通りに動作することを証明する実験を行うために、アルゴリズムは、コードとしてプログラムされコンピュータ上のソフトウェアを用いて実装された。

0095

NNは、様々な形状で互いに接続されてネットワークを構成するニューロンの組み合わせである。2入力フィードフォワードNN10の基本構造を、例として模式的に図1に示す。NN10は、第1又は入力層16に設けられた2つの入力ニューロン12、14を備える。入力ニューロン12、14はそれぞれ、その出力を中間層24に設けられた3つのニューロン18、20、22へ送る。次に、中間層ニューロン18、20、22はそれぞれ、その出力を出力層28に設けられた1つのニューロン26へ送る。

0096

NNはデータセット内の関係の判定に用いられる。NNがトレーニングされる前に、利用可能なデータが、トレーニングに利用されるものとテストに利用されるものの2つのセットに分割される。トレーニングセットは、NNのトレーニングに用いられる。テストデータセットは、NNのトレーニング後まで保存する。テストデータセットは、トレーニング後、NNが十分にデータを学習したかどうか、又はNNがデータのうちある様態を欠いていないかどうかを判定するためにNNに送られる。以下の説明を通じて、「NNをトレーニングする」又は「トレーニング」という表記は全て、トレーニングデータセットでのNNのトレーニングについて述べるものとする。

0097

NNトレーニングアルゴリズムの多くは、トレーニング条件を満たそうとする1つの数値を見つけ、NNの所望の出力と実際の出力との間の誤差に基づいて重みの値を繰り返し修正することにより学習する。

0098

本発明のDRトレーニングアルゴリズムは、ニューロンのトレーニングに種々のアプローチをとる。このトレーニングアルゴリズムは、トレーニング条件を満足する重みについて単一の値を見つけることには基づいていない。その代わりに、本発明のDRトレーニングアルゴリズムは、トレーニング条件を満たすことになる重みを全て見つける。このため、入力ベクトルは、入力重みを閾値に関連付ける制約条件に変換されることが好ましい。各ニューロンは、互いに相互関係を形成する入力重みのセット及びトレーニング条件を満たす閾値を有している。ニューロンに制約条件を加えることにより、重み空間の領域にニューロンを活性化させる別の制約条件が置かれる。

0099

本発明は制約条件に変換される入力ベクトルに関連して説明されるが、言うまでも無く、本発明は制約条件の使用にのみ限定されるものではない。制約条件は、入力重みと閾値との間の関係を表すにすぎない。同様の関係を他の方法で、例えば電子的又は磁気的に表すこともでき、そのため、本発明は与えられた具体例に限定されるものではない。

0100

このニューロンのトレーニング方法を用いることにより、NNにニューロンを動的に追加することによってNNを形成することができる。この方法は、NNへのニューロン追加について厳密な基準を設けており、ニューロンを先に述べた標準的なフィードフォワードトポロジに追加することができる。

0101

このニューロンのトレーニング方法により、データセットは単一のパスで学習することができる。また、制約条件は各ニューロンの重みと閾値との間の関係を定義し、ニューロンがNNに追加されるときは前置詞論理に従って追加されるため、トレーニング中に学習された規則の抽出は簡単になる。

0102

NNが本発明のDRトレーニングアルゴリズムでデータセットを学習するには、一連のプロセスに取り組むことが望ましい。各データセットは固有であり、多数の出力を有し、これはデータセットに基づいている。このシーケンスを簡潔まとめると以下のようになる。(1)NNの初期化。(2)NNにより学習されるデータの準備。(3)NNにより学習されるデータを加える。(4)必要に応じてNNにニューロンの割当て。

0103

すでに述べたように、本発明の好適な実施形態に従って用いられるニューロンは、LTGすなわちマカロック−ピッツニューロンであり、制約条件セットを含むよう修正されている。LTGの初期化フェーズ(1)は、入力ニューロンの出力ニューロンへの接続と、最初にトレーニングされることになる出力の選択とを伴う。

0104

データ準備フェーズ(2)は、好ましくは、NNにより学習されるデータを準備する多数のステップを含み、以下の点が指摘される。(i)NNに提示されるデータがトレーニングに適した適切なフォーマットでない場合、NNに提示される前にデータセットが適切なフォーマットに変換されることが好ましい。本発明の好適な実施形態によれば、適切なデータフォーマットはバイナリデータである。従って、本発明のDRトレーニング方法でトレーニングされるデータセットは、NNへの提示前にバイナリ形式に変換される。任意の適切なデータのデジタル化方法を用いることができる。本発明のさらなる様態によれば、適切なデータのデジタル化方法については後の実験結果を説明する部分で、本願明細書において説明する。バイナリデータは好適なトレーニングデータフォーマットとして提示されるが、本発明のDRトレーニングアルゴリズムは、例えば浮動小数点データ等のその他のデータフォーマットでも機能することは言うまでもなく、そのため、本発明は与えられた具体例に限定されると解釈するべきものではない。(ii)本発明のDRトレーニングアルゴリズムは単一パスアルゴリズムであるため、入力ベクトルの提示順にある程度の注意払うことが好ましいが、これはNNが学習する規則とどれぐらいうまく動作するかに影響を与えることがあるためである。検討の価値があるとはいえ、本発明のDRトレーニングアルゴリズムはどの入力ベクトルがニューロンをNNに追加させるかを検知し報告することができるNNを構築するため、入力ベクトルの提示順は不可欠というわけではない。このステップは、トレーニングされたNNの動作がよくない場合に用いられることが好ましい。このステップは、データセットがNNへのLTG追加が必要とされるに十分複雑である場合には常に大いに推奨される。

0105

次のフェーズ(3)では、NN入力にデータを加え、データが重みと学習されるLTGの閾値との間の関係である制約条件に変換されることが好ましい。中間層がある場合には、LTGの出力は次の層のLTGへの入力になり、今度は次の層のLTGは、受信する入力ベクトルをうまくいくならば学習しうる制約条件へと変形する。このプロセスはNNが所望の出力を生成するまで繰り返される。これがNNにより学習可能な場合には、次の入力ベクトルでトレーニングが継続され、そうでなければプロセスは次のNNに1つ以上のLTGを追加するフェーズ(4)に移る。

0106

入力ベクトルの学習ができない場合の考えられるシナリオには、少なくとも2つある。これらは、以下の通りである。(i)中間層が入力ベクトルを学習できなかった場合、新たなLTGが中間層に追加される。(ii)出力層がその入力ベクトルを学習できなかった場合、新たな層がNNに追加され、古い出力が中間層のLTGとなる。そして、別のLTGがこの新たな中間層に追加されて古い出力ユニットが学習できなかったことを学習し、これらのLTGはいずれも出力を組み合わせる新たな出力に接続される。

0107

LTGがNNに割り当てられた後は、以下のことが重要である。(a)新たなLTGがNN内の既存のLTGに接続される。(b)新たに追加されたLTGの制約条件セットが空に設定される、又は以前の最後のLTGからの制約条件が新たなLTGにコピーされる。(c)新たなLTGの追加によりNNが以前に学習したことを忘れることがないようにする。これは単一パストレーニングアルゴリズムであるので、新たに追加されたLTGがNNが以前に学習したことを生成することができるようにすることが不可欠である。

0108

本発明のDRトレーニングアルゴリズムは(1)〜(4)の一連のプロセスとの関連で提示されるが、これらのステップ又は少なくともこれらのステップそれぞれの様態が提示された以外の順序で行われてもよいことは言うまでもない。例えば、ステップ(1)及び(2)の場合、利用可能なデータセットは、トレーニングされるNNの出力が選択される前に適切なデータフォーマットに変換されてもよい(図2参照)。同様に、ステップ(4)の場合、新たな中間層LTGは、新たな出力LTGが追加される前にNNに追加されてもよいし、その逆でもよい。従って、本発明のDRトレーニングアルゴリズムは、提示されるステップ又はシーケンスの特定の順序に限定されるものではない。

0109

以下、本発明のDRトレーニングアルゴリズムの好適な実施形態、及び本発明のその他の様態を、上記で概観したフェーズに従って提示する。(1)NNの初期化。(2)データの準備。(3)学習されるデータのNNへの提示。(4)必要に応じて、最終的にLTGの割当て。

0110

(DRトレーニングアルゴリズムの説明)
図2に、本発明の好適な実施形態に従って行われるNNトレーニング方法すなわちアルゴリズム30のフロー図を示す。

0111

トレーニングプロセスはLTGの入力層で始まる。以下、NNにLTGを動的に追加するDRトレーニングアルゴリズム30をまとめて、以下のステップで提示する。

0112

(1)NNの初期化
DRトレーニングアルゴリズム30によるNNの初期化は、一般に、図2ブロック32により示される。ブロック32において、NNを初期化するプロセスは、以下のステップを含むことが好ましい。
a)出力ベクトルの各次元が個別にトレーニングされる。学習される次元Ojを選択する。
b)出力LTGOjの制約条件セットを空に設定する。
c)出力LTGOjを入力層に完全に接続する。

0113

(2)NNにより学習されるデータの準備
DRトレーニングアルゴリズム30によるNNにより学習されるデータの準備のプロセスは、一般に、図2のブロック31及び33より示される。NNにより学習されるデータの準備プロセスは、少なくとも以下のステップを含むことが好ましい。
a)本発明のDRトレーニングアルゴリズム30はバイナリデータで動作することが好ましいため、図2のブロック31に示すようにデータセットをトレーニング前にバイナリに変換することが必要となることがある。本発明のさらなる様態による各種のデータセットをトレーニングのためにNNに提示する前にバイナリに変換するための適した技術についての考察は、後で述べる。言うまでも無く、本発明のDRトレーニングアルゴリズム30に従ってその他のデータフォーマットを用いることもでき、そのため、ブロック31は、単に利用可能なデータセットの任意の適切なデータフォーマットへの変換を言うものである。
b)トレーニングセット内の矛盾したデータの有無を判定する。矛盾したデータは、異なる出力を生成する2つ以上の同一の入力ベクトルxiが存在するときに生じる。矛盾したデータの例としては、xi→0及びxi→1であって、データセット中に同じ入力ベクトルが複数回表れ、異なる出力を生成するというものである。矛盾がある場合には、入力ベクトルxiの1つのみを用いるべきである。NNはこのデータを学習することができるが、NNはうまく動作しないことになる。NNが矛盾したデータを学習する場合には、全ての入力について0を出力することになる。このような状況を回避するために、矛盾した出力の有無を判定するための入力ベクトルのチェックを行うことが好適である。このトレーニングセット内の矛盾したデータの有無を判定するプロセスは、図2には特に示されていないが、ブロック31又は33の一部として同様の動作を行うことができる。
c)学習されるデータは、図2のブロック33に示すように、任意の適切なソート技術を用いてソートされることが好ましい。DRトレーニングアルゴリズム30はデータをランダムに学習することができるが、結果として生じるNNは効率的にデータを分類するとは限らない。従って、好適なソート技術は以下を含む。
・入力ベクトルを2つのグループにソートし、1を出力するものをその出力について0を生成するものから分離する。入力ベクトルを1を出力するものと0を出力するものの2つのセットに分離する。これら2つのセットのいずれかを最初に学習することができる。又は、
・SOM(自己組織化マップ)でデータをソートする。

0114

すでに検討したように、本発明は特定のソート技法に限定されるものではない。
d)入力ベクトルのセットから1つのリストが生成される。このステップは、ブロック33により表されるソートステップの一部である。
e)学習対象のデータセットに0入力ベクトルが利用可能か否かを判定する。この0ベクトルは全ての入力次元を0に設定する。この入力ベクトルが利用可能である場合、この入力ベクトルをその出力にかかわらず最初に学習するものとしてソートする。0ベクトルがトレーニングに利用可能であり、その出力にかかわらず最初に学習されることが好適であるが、利用可能でない場合には、重要ではない。ここでも、このステップはブロック33により表されるソートステップの一部である。

0115

(3)NNにより学習されるデータを加える
DRトレーニングアルゴリズム30に従ってNNにより学習されるデータを加えるプロセスは、概ね、図2のブロック34により表される。ブロック34において、NNの出力について各パターン(又は入力ベクトル及び関連付けられた出力の組み合わせ)が、これ以上学習するものがなくなるまで、学習されることがわかる。DRトレーニングアルゴリズム30に従って出力に対して単一のパターンを学習するプロセス40の好適な実施形態を図3に示す。

0116

プロセス40は、ブロック41においてNNの第1層で始まる。そして、トレーニングセット内の各入力ベクトルについて、以下が行われる。
a)ブロック42で、入力層に加えられた入力ベクトルに基づく制約条件が次の層の各LTGについて構築される。制約条件を生成するために、(LTGを定義した箇所ですでに検討した)LTGの定義が用いられ、入力ベクトルXi及びLTGの重みベクトルwがLTGの閾値TとNNの出力に基づいて関係を形成する。従って、LTGが1を生成するのであれば、構築される制約条件は以下のようになる。
xi・w>T→1
又は、出力が0であれば、生成される制約条件は以下の通りとなる。
xi・w<T→0
b)またブロック42において、入力ベクトルxiから構築された制約条件がこの層内のどのLTGでも学習することができるかどうかを判定するテストが行われる。制約条件を学習するということは、LTGの制約条件セットに制約条件を追加することができるということである。制約条件は、数的な解答を見つけることができれば、追加することができる。アルゴリズムにとって、どのような数的解答であるかは関心のないことであり、見出すことができることが必要なだけである。これは、制約条件間に共通部分がなければならないことと等価である。このテストは、LTGをNNに追加する基準を構成する。入力ベクトルから形成される制約条件を学習することができるLTGがなければ、これが新たなLTGをNNに割り当てる基準となる。
・LTGが入力ベクトルを学習することができる場合、ブロック43でLTGの制約条件セットに制約条件が追加される。新たな制約条件の追加により、LTGの有効化を可能とするLTGの重み空間の領域が減少する。次いでこの層からの出力は、ブロック45で次の層に加えられ、NNが正しい出力を出力するまでプロセス40が繰り返される(ブロック42に戻る)。ブロック44において、現在の層が出力層であるかどうかを判定し、そうである場合には、プロセス40はブロック46で完結し、さらに学習するパターンがある場合には次のパターンが学習される。ある時点において1つの層内で入力ベクトルを学習できなければ、これはLTGの割当ての根拠となる(図3のブロック47〜49で示される。これに続くステップ4を参照)。各層は所望のNN出力を出力することができるLTGを有していなければならない。前の層からの入力を受信する層の目的は、所望のNN出力を生成するために前の層の出力を組み合わせることにある。
・すでに述べたように、ブロック44での確認後、ブロック45において、NNが正しい回答を出力しさらに学習すべき入力ベクトルが存在する場合には、プロセス40はステップ3の最初(ブロック42)に戻る。
・ブロック44において、NNが正しい回答を生成しさらに学習すべき入力ベクトルが存在しない場合には、このNNのトレーニング出力はトレーニングを終了し、プロセス40はブロック46で完結し、さらに学習するパターンがある場合には次のパターンが学習される。
・ブロック35において、DRトレーニングアルゴリズム30によりさらにトレーニングするNNの出力があると判定された場合には、図2に示すようにDRトレーニングプロセスは初期化ステップ1(ブロック32)に戻る。

0117

(4)必要に応じたNNに新たなLTGの割当て
新たなLTGを必要に応じてNNに割り当てるプロセスは、概ね図3のブロック47〜49により表される。ブロック47はNNの中間層への新たなLTGの割当てを示し、ブロック49はNNへの新たな出力LTGの割当てを示す。新たな中間層LTGをNNに割り当てるプロセス50の好適な実施形態を、図4のフロー図に示す。同様に、新たな出力をNNに割り当てるプロセス60の好適な実施形態を、図5のフロー図に示す。この新たなLTGをNNに割り当てるプロセス50、60をよりよく理解するために、本発明のDRトレーニングアルゴリズム30のプロセス50、60によるNN70の構築を模式的に示す図6a及び図6bを参照する。

0118

図3に示す出力について単一のパターンを学習する好適なプロセス40において、新たな出力LTGの割当て(ブロック49)の前に行われるものとして新たな中間層LTGのNNへの割当て(ブロック47)が示される。図3において、ブロック42でLTGが入力ベクトル(又はパターン)を学習できない場合には、ブロック47で新たなLTGが現在の(中間)層に追加されて入力ベクトルを学習することが示される。ブロック47で新たなLTGが現在の層に追加された後、ブロック48でテストが行われて、現在の層がNNの出力層であるかどうかが判定される。ブロック48で現在の層がNNの出力層ではないと判定された場合、プロセス40はブロック45に続き、この(現在の)層からの出力が次の層に加えられる。その後、NNが先に検討したように正しい出力を出力するまで、プロセス40は繰り返される(ブロック42に戻る)。ブロック48で現在の層がNNの出力層であると判定された場合、プロセス40はブロック49に続き、新たな出力LTGがNNに追加される。ブロック49で新たな出力LTGがNNに割り当てられた後、プロセス40はブロック46で完結し、さらに学習するパターンがある場合には次のパターンが学習される。

0119

図3のプロセス40は新たな出力LTGがNNに割り当てられる(ブロック49)前の新たなLTGの中間層(ブロック47)への割当てを示すが、言うまでもなく、新たな中間層LTGの割当て前に新たな出力LTGをNNに割り当てることができる。従って、本発明は特定の例に限定されるものではない。本発明のDRトレーニングアルゴリズム30に従って、新たな出力LTGが新たな中間層LTGの割当て前にNNに割り当てることができることを説明するために、図6a及び図6bのNN70へのLTGの割当てを、図3の好適なプロセス40に示した順序とは逆の順序で示す。

0120

以下、新たな出力LTGをNN70に割り当てるプロセス60(図6a及び図6b)を、図5を参照して説明する。
・ブロック42で出力LTGが入力ベクトルに必要な出力を生成できない場合(図3)、図6a及び図3のブロック49に示すように新たな出力LTGがNN70に割り当てられる。
I.現在の出力LTGであるLTG−Aは、N層にある。図6a(i)参照。別のLTGであるLTG−Bが、N層に追加される。図6a(ii)参照。LTG−Bの制約条件セットが、好ましくは空のセットに初期化される。新たなLTGであるLTG−BのNN70のN層への割当ては、図5のフロー図には示さないが、以下に説明するブロック61の一部であることは言うまでもない。同様に、新たなLTGであるLTG−BのN層への割当ては、新たな出力LTGであるLTG−CのN+l層への割当ての後に起こってもよい。
II.ブロック61において、出力Ojについてのこの層の1つの新たなLTGであるLTG−Cを有する新たな出力層であるN+l層が追加される。そして、LTG−Cの制約条件セットが、好ましくはステップV及びVIに従って初期化される。
III.ブロック62でN層>1である場合、LTG−Aに接続された前の層であるN−1層(図示せず)のLTGから新たなLTGであるLTG−Bに接続が追加される。
IV.またブロック62において、N層のLTG−A及びLTG−Bのそれぞれの出力がN+1層の新たな出力LTGであるLTG−Cの入力に接続される。
V.学習される入力ベクトルが出力0を生成する場合、ブロック63において以下を行う。
a)N層において新たなLTG−Bがこの層の制約条件に入力を学習するようトレーニングされる。これらのLTGであるLTG−B及びLTG−Cは、LTG−Aがこのを学習できなかったために追加される。
b)LTG−Aからの制約条件は、新たなLTGであるLTG−Bの制約条件セットにコピーされ、LTG−Bで全ての制約条件が≧閾値となるよう設定する。
c)ANDを形成する制約条件が、N+1層において、N層のLTG−AとLTG−Bの間の新たな出力LTGであるLTG−Cに追加される。
VI.学習される入力ベクトルが出力1を生成する場合、ブロック64において以下を行う。
a)N層において新たなLTG−Bがこの入力の制約条件を学習するようトレーニングされる。
b)LTG−Aからの制約条件は、新たなLTGであるLTG−Bの制約条件セットにコピーされ、LTG−Bで全ての制約条件を<閾値に設定する。
c)ORを形成する制約条件が、N+1層において、N層のLTG−AとLTG−Bの間の新たな出力LTGであるLTG−Cに追加される。
・ブロック42(図3)でN層のLTGが必要な出力を生成することを学習できない場合、新たなLTGであるLTG−Dが図6b及び図3のブロック47に示すようにNN70のその層であるN層に割り当てられる。

0121

以下、新たな中間層LTGをNN70に割り当てるプロセス50(図6a及び図6b)を、図4を参照して説明する。
I.ブロック51で、どのLTGもデータを学習することができないN層に追加LTGであるLTG−Dが追加される。次いで、制約条件セットが好ましくはステップV及びVIに従って初期化される。残りのステップであるステップII〜VIは、概ね置き換え可能であり、従ってこれらの手続きステップの順序は図4に示すものから変化してもよい。
II.ブロック53で、このNN出力Ojについて、LTG−Dの出力からN層の出力層を形成するN+1層内の全LTGへの接続が行われる。ブロック54で、N層内のその他のLTGであるLTG−A及びBにより学習されてはならないことに基づいて、N+1層内のLTG(この場合はLTG−C)が新たなLTGであるLTG−Dからの入力をどうすればよいかがわかるように、これらのLTGが更新される。
III.N層>1のとき、ブロック52で、このNN出力Ojについて、前の層であるN−1層(図示せず)の入力を形成する全てのLTGから、LTG−Dに入力接続が追加される。
IV.ブロック55で、新たなLTGであるLTG−DがN層が学習できない入力ベクトルを学習するようトレーニングされる。新たなLTGであるLTG−DがN層内の他のLTGが学習できない入力ベクトルを学習するトレーニングプロセス(ブロック55)をよりよく理解するために、関連する好適な手続きのより詳細な分析を含むさらなるブロックであるブロック56が設けられる。
V.学習する入力ベクトルが出力0を生成する場合、ブロック57及び58において、以下が行われる。
a)この層であるN層内の以前の最後のLTGであるLTG−Bの制約条件が、新たなLTGであるLTG−D制約条件セットにコピーされて(ブロック57)、全ての制約条件を≧新たな閾値に設定する(ブロック58)。
b)LTG−Cは、N層内のLTG−D及びその他のLTGからの入力についてその制約条件セット内でANDを形成する。ブロック54を参照のこと。論理は(A・・・B)かつDである。
VI.学習する入力ベクトルが出力1を生成する場合、ブロック57及び59において、以下が行われる。
a)この層であるN層内の以前の最後のLTGであるLTG−Bの制約条件が、新たなLTGであるLTG−D制約条件セットにコピーされ(ブロック57)、全ての制約条件を<新たな閾値に設定する(ブロック59)。
b)LTG−Cは、N層内のLTG−D及びその他のLTGからの入力についてその制約条件セット内でORを形成する。ブロック54を参照のこと。論理は(A・・・B)又はDである。
図3を参照すると、新たなLTGであるLTG−Dの割当ての後、ブロック47で、NN70が正しい回答を出力しさらに学習すべき入力ベクトルが存在する(ブロック48)場合には、プロセス40はステップ3の最初(ブロック45を経由してブロック42)に戻る。
また図3を参照すると、新たなLTGであるLTG−Dの割当ての後、ブロック47で、NN70が正しい回答を出力しさらに学習すべき入力ベクトルが存在しないがさらに学習すべき出力が存在する(ブロック48)場合には、プロセス40は初期化ステップ1(図2のブロック32)に戻る。

0122

言うまでもなく、制約条件をN層内で以前の最後のLTGであるLTG−Bから新たなLTGであるLTG−Dにコピーするときには、論理のその他の組み合わせも可能である。ここに示した具体例は、LTGをNN70に割り当てるいずれの場合(プロセス50、60)にも機能する単に好適な論理構成である。用いられる特定の学習論理は本発明に必須のものではないが、データはなんらかの形でコピーされる必要があり、そうでなければNN70はそれまでに学習したことを全て完全に忘れてしまうことになる。

0123

DRトレーニングアルゴリズム30によるNN70へのLTGの割当てはどのような順序でも行うことができることは言うまでもない。従って、図6a及び図6bによれば、LTG−Dは、LTG−Cが新たな出力層であるN層+1に追加される前に、N層に追加することができたはずである。同様に、手続きステップであるステップI〜VIは、LTGをNN70に割り当てるいずれの場合(プロセス50、60)にも、概ね置き換え可能であり、そのため、本発明は特定のステップの順序に限定されるものではないことも言うまでもない。

0124

(DRトレーニングアルゴリズムのフェーズの詳細な説明)DRトレーニングアルゴリズム30及び本発明のその他の様態をよりよく理解するために、以下にアルゴリズム30の各フェーズ又はステップをより詳細に説明する。このトレーニングアルゴリズム30は、フィードフォワードNNアーキテクチャに基づいており、これはトレーニング条件を満たす単一の数値を見つけることを試みるLTGのNNをトレーニングする従来のアプローチとは異なっている。そのかわり、すでに述べたように、このアプローチは、重み空間内に各LTGについてトレーニング条件を満たす領域を見つけ、これはトレーニングデータセットの単一のパスで学習し、LTGを動的にNNに割り当てることを可能とし、入力ベクトルが分類可能であるか否かを判定することができ、トレーニング中に学習された規則がNNから容易に抽出できるようにする。

0125

初期化:特に、図2のDRトレーニングアルゴリズム30のブロック32を参照。出力のトレーニング開始には、少なくとも2つのステップが含まれることが好ましい。トレーニング対象の出力の選択、及びその出力に対する出力LTGの追加である。

0126

第1ステップ・学習対象出力の選択:NNは、NNの各出力の生成をデータセットごとに別々に学習する。各出力すなわち出力ベクトルの次元は、別の学習プロセスとして扱われる。これは、出力ベクトルの各次元が独立しているため、正当化される。

0127

トレーニングアルゴリズムにかかわらず、各LTGは、共通入力共有するにもかかわらず、中間層にしろNNの出力層にしろ、その層内の他のLTGとは別個に機能する。これは、バックプロパゲーションで訓練されたNNで問題を引き起こす。すなわち、NNの誤差がNNを通してフィードバックされるとき、どの重みを増減するべきなのかを判定することができない。Fahlmanらは、これを信用割り当て問題(credit assignment problem)と呼んだ。この新たなアルゴリズム30は、各LTGの独立行動を利用し、各出力LTGを別々にトレーニングする。これがNNの構築方法の主原則となる。出力ベクトルの次元が選択されると、出力LTGがNNに追加される。

0128

第2ステップ・出力LTGの追加:初めに、入力層のLTGは完全に出力層LTGに接続される。また、出力LTG内の制約条件セットは、空であることが好ましい。そして出力LTGにより学習されるデータを準備することができる。

0129

データ準備:特に、図2のDRトレーニングアルゴリズム30のブロック31及び33を参照。これは単一パスのトレーニングアルゴリズムであるため、データがNNに提示される順番が重要になる。データの準備には、少なくとも4つのステップが含まれることが好ましい。

0130

第1ステップとして、NNに提示されるデータがトレーニングに適した適切なフォーマットでない場合、図2のブロック31に示すように、データセットはNNに提示される前に適切なフォーマットに変換されることが好ましい。

0131

第2ステップにおいてはデータの矛盾をチェックする。矛盾したデータはNNのトレーニングの際に問題を引き起こす。相反する出力を生成する入力ベクトルXiの例が2つ以上あるため、データの矛盾をチェックする必要がある。言い換えると、Xiが出力0を生成するときに、出力1も生成される。NNはこのデータを学習することができるが、データは矛盾しており、この問題を回避するためにNNが固有の入力ベクトルでトレーニングされることが好適である。このステップは、図2のDRトレーニングアルゴリズム30のブロック31又はブロック33で行うことができる。

0132

第3ステップにおいては、トレーニングセット内のデータをNNのトレーニング前に順序付ける。0ベクトルの学習によりシステムの多くは不安定になり、これには否定の制約条件及びデータセット学習をバックプロパゲーションでトレーニングされたフィードフォワードNNを備えるシンプレックス法を含み、ここでは入力ベクトル0は出力が1であることを要求する。これがNNにとって問題である理由は、ニューロンの閾値が負数であることにある。本発明のDRトレーニングアルゴリズム30は、トレーニングセット内のデータをNNのトレーニング前に順序付けることにより、このような状況を回避する。0ベクトルは、全ての入力次元が0である入力ベクトルと定義される。例えば、3入力のニューロン又はNNについての0ベクトルは、[0 0 0]である。0ベクトルがトレーニングセット内に利用可能である場合、これが最初にNNにより学習されるが、これにより0ベクトルがNNに1を出力させる場合にNNに起こりうる不安定性を回避するからである。

0133

第4ステップ:入力ベクトル0が既知である場合、利用可能であれば、これが最初に学習されるべきである。そして、特にトレーニング中にLTGがNNに割り当てられる必要がある場合には、ブロック33でNNのトレーニング前に入力ベクトルが何らかの順番にソートされることが好ましい。本発明のアルゴリズム30は、データがNNに提示されたまま学習されるため、ビルトインサーチメカニズムを有していない。これは、DR学習がNNを単一のパスでトレーニングするため、NNが提示された全てのデータセットを学習できなければならないからである。

0134

本発明のさらなる様態によれば、好適なソート方法(ブロック33)は、データをそれぞれ1又は0を生成するセットにソートし、データセットによっては1又は0を生成するこれらのベクトルを最初に学習する。大まかなガイドラインとして、0→0ならば、0を出力するベクトルを最初に学習し、そうでなければ1を出力するベクトルを最初に学習する。

0135

別の考えられるソート方法としては、生物学的な脳のソート技術の1つをシミュレートするSOMすなわち自己組織化マップを使用する方法がある。生物学的な脳は、大脳皮質の表面上でSOMに類似のメカニズムを用いる。SOMは、入力ベクトルをデータセットにおける特徴の2次元クラス表現組織化又はソートすることにより機能する。特徴は入力ベクトルをその出力を参照することなく分類する。SOMで特定の特徴に属するものとして分類された入力ベクトルは、特徴に分離及びソート可能であり、トレーニングメカニズムに与えるために収集可能である。このようにして、DR学習はデータセットの特定の特徴を分類する方法を学習するLTGをまとめてクラスター化することができる。

0136

この構造は3次元的にも想像可能であり2次元SOM及び3次元はDRにトレーニングされたNNである。おおよそドーム型の生物学的な脳を単純化して見ると、SOMが表面にありフィードフォワードNNが表面から発生している。1つの考えられるモデルとしては、大脳皮質がフィードフォワードニューロンと相互に接続されたSOMの層からなるというものがある。

0137

言うまでもなく、本発明のDRトレーニングアルゴリズム30で用いることのできるソート技術としては数多く考えることができ、そのため、本発明は特定の例に限定されるものではない。

0138

NNへのデータを加える:特に、図2のDRトレーニングアルゴリズム30のブロック34及び35、より詳細には図3のプロセス40を参照。本発明のDRトレーニングアルゴリズム30は、好ましくは先に述べたようなLTGを用いる。さらに、DRトレーニングアルゴリズム30、好ましくは、移転機能としてヘヴィサイド、又はステップ機能を用いる。このタイプのゲートは、入力空間クラス間はっきりとした境界を設け、入力ベクトルのクラスを綺麗に分けるため、用いられることが好ましい。

0139

本発明のDRトレーニングアルゴリズム30は、重み及び閾値についてトレーニング条件を満たす単一の数値を見出すのではなく、LTGの重み空間を制約することにより学習するため、LTGでうまく機能する。そのため、重み空間内で重み及び閾値を満たす単一の値を見出すかわりに、空間の領域が見出される。制約条件は、教師ありトレーニングの概念に従って、入力ベクトル及び所望の出力から形成される。

0140

LTGの閾値Tは、定数として扱われる。Kohaviが示すように、LTGの閾値はそのようなものとして扱うことができる。Kohaviは補空間重み(論理NOTを用いて)を用い、T<=0及びT>0の両方の閾値を説明する。本発明のトレーニングアルゴリズム30において、データは、トレーニング中に、T<=0であるかT>0であるかを判定する。

0141

もともとのLTGに行われる修正は制約条件セットを含むことだけであり、これは初期化されてからにされる。これは、重みとニューロンの閾値との間の関係についてLTGが学習したことを格納するために用いられるので、実装に必要なことである。すでに述べたように、本発明は制約条件の使用のみに限定されるものではない。制約条件は、入力重みのと閾値との間の関係を表すだけであり、単に本発明の好適な特徴である。

0142

単一のLTGをトレーニングする制約条件が構築される方法について、以下で検討する。

0143

単一のLTGについての制約の構築:特に、図3のDRトレーニングアルゴリズム30に従って出力に対する単一のパターンを学習する好適なプロセス40を参照。LTGに、ブロック42で学習することになる入力ベクトル(又はパターン)が提示される。これらの入力ベクトルは、LTGの制約条件セットに記録される制約条件に変換される。学習に先立って、制約条件セットは空に初期化されることが好ましい。

0144

トレーニングの開始のために、制約条件を構築する際に第1ステップ(ブロック42)で、各入力ベクトルxiがLTGの入力重みベクトルwに加えられxi・wを生成する。積xi・wは、LTGの行動を定義する式1.1に基づいて、LTGの閾値Tとの考えられる関係を少なくとも2つ有する。これらの2つの考えられる関係は、それぞれ関連付けられた出力を生成する。Tに対する関係及び関連付けられた出力は、式2.1及び2.2で表される。
xi・w≧T→1(2.1)
又は
xi・w<T→0(2.2)

0145

教師あり学習については、本明細書ですでに述べている。教師あり学習の原則を用いて、必要とされる出力が1であれば、必要な制約条件はxi・w≧Tである。同様に、生成される出力が0であれば、wはxi・w<Tであるように制約される。新たな制約条件が、この制約条件及びその他の以前に追加された制約条件が解答を有するならば、そのLTGの制約条件セットに追加される。これについては、後でより詳細に検討する。入力ベクトル及びLTGの重みから構築される制約条件のLTGの制約条件セットへの追加プロセスは、トレーニングセット中のn個の入力ベクトル全てについて繰り返される。

0146

図7に、2入力LTGのNN80の例を示す。この例では、重みベクトルを[w1 w2]T、入力ベクトルを[x1 x2]、[Oj]をLTGの出力とする。入力[0 1]について出力が1になるのであれば、LTG82に対する制約条件はw2>Tとなる。別の入力ベクトル[1 1]が出力0を生成すると予測されるならば、制約条件w1+w2<Tも追加される。これらの2つの入力が、{w2>T,w1+w2<T}というこのLTG82についての制約条件セットとなる。制約条件セットを構築することにより、LTG82は入力/出力の分類を学習する。

0147

以上、LTGをトレーニングする入力ベクトルから制約条件を構築する方法を説明してきた。新たな入力ベクトルが学習され、関連付けられた制約条件をLTGについての制約条件セットに追加できるようになる前に、LTGが入力ベクトルを形成する制約条件を学習することができるのかどうかを確認しなければならない。以下、新たな入力ベクトルを学習することができるか否か、ひいては制約条件がLTGの制約条件セットに追加されるか否かを判定する、入力ベクトルの学習の基準に関する検討を行う。

0148

入力ベクトル学習の基準:特に、図3プロセス40のブロック42を参照。制約条件をLTGの制約条件セットに追加する際の最も基本的な問題は、教えられたことを学習することができるかどうかを判定することである。これについては、本明細書においてすでにより詳細に述べている。

0149

LTGが入力ベクトルを学習することができるかどうかについてのテストは、LTGのNNを構築する際の基本である。単一のLTGが全てのデータを学習することができない場合、追加のLTGが必要となる。

0150

本発明のDRトレーニングアルゴリズム30は入力ベクトルを関連付けられた出力から制約条件へと変換するため、新たな制約条件は重み空間内にLTGがすでに学習した全ての制約条件に解答があるかどうかを判定するためにテストされてよい。これはシンプレックス法を用いて行われてもよい。重み及び閾値のそれぞれについて特定の数値を見出す必要はないが、このテストは、重み及び閾値について確実に数値を見出すことができるようにする。制約条件を満たす数的解答を見つけることができれば十分である。

0151

以下、重み及び閾値のそれぞれについて特定の数的解答を見出す上で、学習問題への一般的な解答を見出すことが好ましい理由について検討する。

0152

従来、一般的な解答を見出すことができなかったため、重みのそれぞれについて単一の数値が見出された。

0153

バックプロパゲーション等の従来のトレーニング方法でトレーニングされたNNの重みについて解答を見出すことができるならば、重みが以下の数式から選択されるとき全重みについて無限の数の解答が存在することになる。

0154

この無限の数の解答は、各LTGについての重み空間に領域を形成する。通常はバックプロパゲーションで選択される解答は、予め指定された許容誤差内のNNを生成する見出される数値の最初のセットであることが多い。各LTGについて見いだされるwは、LTGの重み空間内のこの領域の単一の値である。

0155

この重みの値の解答は、トレーニング中にNNに加えられた入力値に基づく平均のようなものであり、値の範囲が単一の解答を見出すために失われるため、両極端が失われている。

0156

本発明に係るニューロンのトレーニング方法は、一般的な解答が見出されるため、トレーニング中に学習された全情報が保存されるようにする。一般的な解答は、重み空間内の領域を分析してLTGを有効化する重みと有効化しない重みとの間の境界を見出せるようにする。一般的な解答は、全ては互いに相対的であるように見えるため相対的な関係を定義し、そのほかの全てに関してのみ理解可能である。一般的な解答を見出すことにより重み間の関係を分析することができ、その結果、入力間の関係を分析することがでる。最後に、絶対に必要であれば、データセット内の関係をはっきりと具現化する特定の数値を見出すことができる。

0157

従って、本発明のDRトレーニングアルゴリズム30で訓練されたLTGにより新たな制約条件が学習可能であるかどうかを判定するテストが利用可能である。このテストは、またLTGをNNに追加する基準である。入力ベクトルを学習することができなければ、LTGはNNに追加される。

0158

LTGのNNへの割当て:特に、図3プロセス40のブロック47及び49、並びに図4及び図5の本発明のDRトレーニングアルゴリズム30に従ってLTGをNNに割り当てる好適なプロセス50、60を参照。単一のLTGのトレーニング方法についてはすでに述べた。単一のLTGの行動は、LTGのNNを構築するための基礎を形成する。単一のLTGのトレーニングは、以下の3ステップを含む。1)入力ベクトルを重みと閾値との間の関係に変換する。2)LTGが新たな入力ベクトルを学習可能かどうかを判定する。LTGが入力ベクトルを学習可能かどうかの基準は、制約条件がLTGの制約条件セットに追加される際に数的解答が見出されるか否かによって判定される。3)LTGが入力ベクトルを学習可能であれば、入力ベクトルから構築される制約条件がLTGの制約条件セットに追加される。

0159

LTGがブロック42で入力ベクトルを学習することができなければ、追加のLTGが必要となる。従って、ステップ2はLTGをNNに割り当てる基本的な基準を形成する。以下、NNを構築するためにどのようにLTGを追加するかを説明する。LTGは、入力ベクトルが必要な出力を生成できないときにのみ割り当てられる。

0160

このプロセスは、以下のステップを含む。1)新たなLTGとすでにNN内にあるLTGとの間の接続を形成する(図4のブロック52及び53、図5のブロック62)。2)新たなLTGによりNNがすでに学習したことを忘れないようにする。

0161

以下、これらのプロセスのそれぞれをより詳細に説明する。まず、NNアーキテクチャに対する一般的なアプローチについて述べる。その後、出力の選択及び出力を別の問題へ分離することの正当化について述べる。

0162

NNアーキテクチャ:初めに、入力LTGが完全に出力LTGに接続される。入力LTG及び出力LTGの数は、NNによって学習されるデータセットに依存する。各出力は、その他の出力の独立した学習タスクとみなされる(図2のブロック32)。

0163

ここでの説明のために、以下ではまず単一出力のNNについて考える。本発明のDRトレーニングアルゴリズム30は、トポロジを成長させ、バックプロパゲーションを用いて形成される従来のNNに類似のNNを形成する。これはユニットを中間層に割当てることができ(図4のプロセス50)、単一のLTGを含む新たな出力層を追加することができる(図5のプロセス60)。そして、以前の出力層が、NN内の中間層となる。この新たな中間層は、これに割り当てられた追加のLTGを有し(図3のブロック47)、その層内の他のLTGが学習できなかったことを学習する。3つの出力O1、O2、O3を有するNN90の例を図8に示す。NN90は、Modulo−8問題データセットを用いて本発明のDRトレーニングアルゴリズム30でトレーニングされた。

0164

図8に示すNN90において、O3は中間層が完全なトレーニング後に必要とされる解答を生成することができることを必要としなかったことがわかる。しかしながら、O1及びO2は中間層を必要とした。トレーニングの始めは、閾値T11及びT13のLTGがもともとの出力であった。しかしながら、これらはデータを学習することができずT12が中間層92に追加され、T21がにO1ついての出力となった。同様に、T13がO2を生成できなかったときにはT14が追加された。

0165

本明細書で用いるLTGを指定する慣例は、LTGは閾値Tを有し、層Lに属するということである。どの機能も3層以内で学習することができるので、層の識別には1桁だけが割り当てられる。各層はN個のLTGを有しており、これらはその層内を通してk=1・・Nと数をつけられる。各LTGはLTGLKと呼ばれ、これに関連付けられたTLKと呼ばれる閾値を有する。各LTGは入力接続重みのセットを有する。重みベクトルの個々の要素はWLKjと呼ばれ、ここでjは受け付けられた入力が送られてきた前の層のLTGである。

0166

NNの構築:LTGは、入力ベクトルがNNによって学習されることができないときのみNNに追加される(ブロック42参照)。LTGをNNに追加する必要がある場合には、2つの場合がある。(1)まず、出力が必要とされる出力を生成できない場合である(ブロック49)。(2)次に、中間層内のどのLTGも入力ベクトルを学習することができない場合である(ブロック47)。すでに述べたように、出力LTGと中間層LTGのNNへの割当てはどのような順序であってもよい。

0167

LTGをNNに追加するときに考慮することが好ましいことは以下の通りである。
a)NN内の既存のLTGから形成することが必要な全ての接続は、新たなLTGへと形成される(図4のブロック52及び53、及び図5のブロック62)。
b)新たなLTGをNNに追加した後、新たに追加されたLTGがそれまでにNNが学習したことをすべて学習することが重要である(ブロック55)。これにより、NNがそれまでに学習することを忘れることを意味する健忘症と呼ばれる状態を避けることができる。どのようにしてこれが回避されるのかについては、本明細書の後ろで学習論理について述べるときに検討する。
c)NN内にすでに存在し新たに割り当てられたLTGからの入力を受け付けることになるLTGは、入力を受け付けるように処理されなければならない(ブロック54)。新たに割り当てられたLTGからこの新たな入力を受け付けることになるLTGの処理ができない場合、これらは新たなLTGの出力を無視する。

0168

LTGの中間層への追加:特に、図4の本発明のDRトレーニングアルゴリズム30に従って新たなLTGをNNの中間層に割り当てるプロセス50を参照。ここでは、入力ベクトルが最初に出力を1つだけ有するNNに加えられる場合について考える。第1中間層の最初のLTGで制約条件が形成される。層内の第1LTGが前述のテストで判定された制約条件を学習できない場合(図3のブロック42)、この層内の次のLTGは、層内のLTGの1つがこれを学習するまで、その出力等で入力ベクトルから形成される制約条件を学習しようとする。しかしながら、この層内のいかなるLTGも制約条件を学習することができない場合、さらにLTGを層に追加してこれを学習しなければならない(ブロック47)。これは図6bのNN70に示しており、ここでLTG−DがN層に追加される。

0169

例えば、図6bにおいて、LTG−A又はLTG−Bが新たな入力ベクトルを学習することができない場合、図示されるようにLTG−DがN層に追加される。LTG−Dは、この層すなわちN層への入力に基づいて新たな制約条件を学習する(ブロック55又は56)。この新たなLTGであるLTG−Dの出力は、出力Ojを有するNN70の出力層であるN+1層内の出力LTGであるLTG−Cへの入力にもなる(ブロック53及び54)。

0170

次に、任意の中間層について考える。入力ベクトルがNNに加えられるとき、第1中間層の各LTGは、LTGのトレーニングに依存して有効化される又はされないことにより応答する。これらのLTGの応答は、次の層への入力ベクトルとして機能し、これは次にそのトレーニング等を前提として応答する。入力ベクトルの結果、受け付ける入力の分類を学習することができない中間層がある場合(ブロック42)、新たなLTGがその層に追加される(図4参照)。このLTGの中間層への追加プロセスは、全ての入力データが学習されるまで繰り返される。

0171

LTGを確立した中間層に動的に割り当てる好適な形式化又はプロセス50は、以下のアルゴリズムで行われる。
a)N−1層内の全てのLTGへの接続を形成する(ブロック52)。これらの接続は、新たに割り当てられたLTGへの入力の役割を果たす。
b)学習されている出力についてN+1層内の全てのLTGへの接続を形成する(ブロック53)。これらの接続は、新たに割り当てられたLTGからの出力の役割を果たす。
c)N+1層内のLTGは、N層内の既存のLTGと新たなLTGとの間の論理関係を形成する(ブロック54)。
d)新たに割り当てられたLTGは、N層内の他のLTGが学習したことで処理される(ブロック55又は56)。

0172

十分に複雑なデータでトレーニングされた後にNN100が構築された接続形態図9に示す。

0173

LTG−HはN層のNN100に割り当てられる(ブロック51)。LTG−Hからの出力接続は、出力層ではなく次の中間層であるN層+1内のLTGF及びGの入力へ形成される(ブロック53)。これについては、個別の学習タスクとして各出力が解決されることについて検討した際に、すでに述べた。前の層であるN−1層内のLTGであるLTG−A、B及びDからの入力接続が確立される(ブロック52)。

0174

まとめると、中間層LTGのいずれもその層への入力により形成された制約条件を学習することができない場合、すなわち解答がない場合、LTGが中間層に追加される。新たなLTGは、その出力を次の層内のOjに関連する全LTGに接続する。出力LTGが入力の制約条件を学習できない場合、現在の出力層LTGは中間層となり、図5のプロセス60に従って新たな出力がNNへの出力として追加される。

0175

LTGを中間層に追加する方法について説明したので、次に、新たな出力をNNに追加する方法を検討する。

0176

新たな出力の追加:特に、図5のプロセス60を参照。本発明のDRトレーニングアルゴリズム30に従って新たな出力LTGをNNに割り当てる。トレーニングに出力Ojを選択した後(図2のブロック32)、すでに述べたように、全ての入力ソースが単一の出力LTGに直接接続される。単一の出力LTGは、同じくすでに図3を参照して説明したように、入力ベクトルをLTGに連続的に加えて制約条件を形成することによりトレーニングされる。図10a(i)において、現在トレーニング中の出力Ojを有する出力層112に配された単一のLTGであるLTG−Aを有するNN110の模式図を示す。

0177

LTG−Aの制約条件セットの制約条件が、入力ベクトルが形成する各制約条件でテストされる(ブロック42)。用いられるテストについてはすでに述べた。

0178

新たな制約条件が既存の制約条件セットで解答を持つ場合、制約条件セットに追加される。しかしながら、解答がない場合(ブロック42)、図10a(ii)に示すように、別の出力層114が追加され、新たなLTGであるLTG−Cが追加される(ブロック61)。LTG−CがNN110の新たな出力LTGOjとなる。中間層112(元の出力層112)内に入力ベクトルを学習できなかったLTGであるLTG−Aがあったため、図10a(ii)に示すように、新たなLTGであるLTG−Bが中間層112に追加される(これもブロック61)。LTG−Aが学習することができなかった入力ベクトルは、LTG−Bによって学習できるようになる。LTG−A及びLTG−Bの出力は、出力層114のLTG−Cの入力に接続される(ブロック62)。LTG−A及びBは、NN110の中間層112を形成する。

0179

また図10bのNN110のLTG−Cが学習できない入力があった場合、新たな中間層114(以前の出力層114)が追加されて、新たな出力層116がつくられる。このようにして、新たな中間層が作られて出力層が追加される。新たな中間層LTGであるLTGEが中間層114に追加され、新たな出力LTGであるLTGFが新たな出力層116に追加される図10bを参照する。

0180

まとめると、出力LTGが入力ベクトルを学習できない場合、現在の出力層としての同じ層に別のLTGが追加されて、全ての入力が直接これに接続される。このLTGは古い出力が学習できなかった入力を学習する。追加のLTGは次の層に追加される。このLTGへの入力は、NNの古い出力であり、その層に新たに追加されたLTGである。

0181

NNに動的に割り当てられたLTGに接続を追加する方法を定めたので、次は、NNがすでに学習したことを再生し続けるようにLTGをトレーニングする方法を考慮することが重要である。以下、これについて検討する。

0182

論理の学習:本発明のDRトレーニングアルゴリズム30は単一パスアルゴリズムであるので、LTGがNNに追加されるときでも、NNは以前に学習した入力ベクトルに対して正しい応答を返さなければならない。従って、LTGの追加によりNNがすでに学習したことを忘れることがないようにしなければならない。これは、以下のような場合に起こる。(a)LTGが中間層に割り当てられる。(b)新たな出力層がNNに追加される。この場合、新たなLTGは中間層に割り当てられる。

0183

この問題を回避するために:(a)新たに中間層に割り当てられたLTGは、特定の論理規則に従ってこの層の他のLTGが学習したことで処理されなければならない(図4のブロック55又は56)。(b)また、新たに割り当てられたLTGが割り当てられている層から直接入力を受け付けるLTGの層は、新たに割り当てられたLTGの所望の行動に基づいて学習したことを更新する必要がある(ブロック54)。この場合は新たな出力層の割当てをカバーする。

0184

次に、新たに割り当てられたLTGが学習することについて検討する。まず、図10a(i)に示すNN等の、中間層のないNNを考える。

0185

LTGが入力ベクトルを学習できない状況には少なくとも2つあり、これらは以下の通りである。(1)学習中の入力ベクトルが1を出力する必要があるが、LTGは以前に学習したことに基づいてこの入力ベクトルについて0しか出力できない場合。(2)学習中の入力ベクトルが0を出力する必要があるが、LTGは以前に学習したことに基づいてこの入力ベクトルについて1しか出力できない場合。

0186

すでに述べたように、このような状況においては、図10a(ii)に示すように、新たな出力がNNに割り当てられる。

0187

続く層がLTGが割り当てられた中間層からの入力を結合することができる考えられる少なくとも2つの方法は、以下の通りである。(1)出力LTGは中間層LTGからの入力ベクトルを論理ORで結合する(ブロック64)。(2)出力LTGは中間層LTGからの入力ベクトルを論理ANDで結合する(ブロック63)。

0188

ORの学習:特に、図5のプロセス60のブロック64を参照。初めに、LTGが学習することができなかった入力ベクトルについて検討する。ベクトルがNNに1を出力させることになっており、LTGが以前に学習したことの結果としてLTGが0しか出力できない場合、新たな出力はその入力間にORを形成する必要がある。

0189

再び図l0a(ii)を参照すると、NN110の出力であるLTG−CはLTG−Aが有効化されるとき有効化されることが必要であるが、この場合、LTG−Aは有効化される必要があるができないため、LTG−Bが入力の特徴を学習する。LTG−Bは、また、NN110により以前に学習された入力ベクトルを学習する必要がある。これにより、LTG−Bは出力が有効化されるべきでないときに有効化されることがないようにする。このためには、LTG−Aの制約条件セット内の全ての制約条件がLTG−Bの制約条件セットにコピーされるが、全ての制約条件は<Tとして学習される。LTG−BはLTG−Aが学習できなかった新たな制約条件を学習し、この入力ベクトルの検出により有効化されることになる。これにより、2つの入力をORすることを学習するためLTG−Cが有効化されて、必要に応じて1を出力する。

0190

ANDの学習:特に、図5のプロセス60のブロック63を参照。出力が0でなくてはならないがLTGは1を出力する場合、新たな出力はLTG−Aからの入力と新たに割り当てられたLTGであるLTG−BとをANDすることを学習する。この場合、制約条件は、0<TがLTG−Aの制約条件セットにある場合を除いて、LTG−Aの制約条件セットから≧Tとしてコピーされる。この場合、制約条件はそのままコピーされる。

0191

LTGがさらに既存の中間層に割り当てられる場合、すでに述べたように、制約条件はその層の以前のLTG(LTG−B)からコピーされて適宜修正される。しかしながら、LTGがN層に追加される場合、N+1層でLTGが学習したことには修正が必要である。

0192

次の層が学習する論理は、(...(x1 Op1 x2)Op2 x3)Op3 x4)...)であり、ここでOp1...OpNは論理AND又はORであり、x1....xNは新たなLTGを割り当てた中間層から受け付けた入力である。新たに割り当てられたLTGが既存の中間層に割り当てられる場合、この層からの入力を受け付けるLTGは、その論理に基づく制約条件を更新する必要があってもよい。例えば、この層が既存の論理(x1 AND x2)を有する場合、制約条件{wn1+wn2>Tn,wn1<Tn,wn2<Tn,0<Tn}を有する。論理が(x1 AND x2)AND x3となる場合、制約条件セットは{wn1+wn2+wn3≧Tn,wn1+wn3<Tn,wn2+wn3<Tn,wn3<Tn,wn1+wn2<Tn,wn1<Tn,wn2<Tn,0<Tn}となる。

0193

入力ベクトルが学習されることができるときに層内のLTGにより学習される論理は、これらがNNに追加される論理に従う。LTGがANDを形成するよう追加される場合、LTGは制約xi・w≧Tを学習し、LTGがORを形成するよう追加される場合、LTGはxi・w<Tを学習する。

0194

(完全な学習と一般化についての説明)
以下、NNが完全にトレーニングされた状態、言い換えると、NNが学習したことを再生することができ一般化することができることを説明する。まず、LTGが学習した入力を回復することができ、従って十分にトレーニングされていることを説明する。

0195

LTGの完全なトレーニング:LTGがトレーニングされるとき、結果として生じる制約条件のセットをLTGの出力の決定に用いることができる。これは、入力をトレーニングされたLTGの制約条件セットに加え、マカロック−ピッツLTGの行動を定義する式1.1を用いることによって行われる。これは、以下の例において説明される。

0196

図7に示すように、制約条件セット(w1+w2<T、W2≧T)を生成する2入力LTG82を考える。その後入力ベクトル[1 1]を加えると、1.W1+1.W2=W1+W2<Tであるため、LTGは0出力を生成する。従って、十分にトレーニングされるLTGには重みに対する数値は必要ではない。

0197

この引数は、LTGが学習したことを重み及び閾値についての数値を見出すことなく生成することができることを説明する。また、トレーニングされたNNにより学習されたことが100%の精度で思い出すことができることを説明する。

0198

本発明は、主要には入力ベクトルに関連付けられた適切な出力を決定するためのNNのトレーニングに関するが、NNのトレーニングに用いられるデータ及びトレーニング中に起こりうる2つの問題についての検討も行う。

0199

一般化:本発明の好適な実施形態は、サンプルデータセットでトレーニング可能でありその後トレーニング中にはNNによって見ることのできなかったデータパターンをうまく分類することができるため、フィードフォワードNNを用いる。これを一般化と呼ぶ。

0200

データ空間についてほとんどわからないブラックボックスNN分類システムが望ましいこともあるが、データにはNNのトレーニングに極めて重大な少なくとも2つの様態があり、これは以下の通りである。(1)大きくノイズの多いデータセットの問題のひとつに、矛盾があるかもしれないことがあり、例えば、ある例ではXi→0であり別の例ではXi→1であるような入力ベクトルXiがあるとNNはこのベクトルの学習に困難が生じる。この問題は全ての学習アルゴリズムに共通する。(2)NNをトレーニングするために用いられるトレーニングサンプルが確実にデータセットを表す。以下、これについてより詳細に述べる。

0201

各データセットはいくつかの特徴を有する。トレーニング中にNNがさらされるデータセットがNNを十分にトレーニングするために必要な全ての特徴を表すことが望まれる。しかしながら、データセットが大きくほとんどわからない場合、トレーニングセットが全データセットの全ての特徴を表していることを判断する方法はない。この場合、データセットは「未知」と呼ばれる。

0202

トレーニングされたNNをテストすることにより、NNがデータセット中の全ての特徴を学習したかどうかを判定することが可能となる。追加の分類入力ベクトルを有するNNのテストは、これを実現するための好適な方法である。フィードフォワードNNをトレーニングするためのデータセットの分割については、すでに検討した。しかしながら、データセットがよく理解されておらず大きい場合には、それでもまだデータセットのその他の特徴がわからないことがある。

0203

以下、演繹法が常に機能するわけではない理由について検討する。演繹法は、トレーニングデータセットに欠けている特徴があると機能せず、この問題は「不十分なトレーニング」と呼ばれる。

0204

LTGの不十分なトレーニング:LTGがトレーニングされる各データセットは、データの特徴をいくつ持っていてもよい。トレーニングデータセットは、これらの特徴のうち、その内部で表される特徴を有してもよい。しかしながら、トレーニングセット内に未知のデータセット内の全ての特徴が提示されるという保証はない。

0205

従って、トレーニングデータセットに表れていない特徴があれば、LTGはトレーニング中にはデータセットの全ての特徴にさらされることがない。従って、LTGが見えない入力ベクトルでテストされるとき、間違った結果を出力することがある。従って、LTGが不十分にトレーニングされていると言うことができる。

0206

例えば、図7に示す、2つの入力ベクトル[0 0]→0及び[0 1]→1のみでトレーニングされる2入力LTG82を考える。

0207

LTG82は入力ベクトルの最初のビットが設定されたどのベクトルにもまださらされていないため、[1 0]と[1 1]とを正確に分類することができないかもしれない。このLTG82が上記トレーニングセットから学習する制約条件セットは{0<T、w2≧T}であり、w2についての情報はいくらかあるものの、w1に対する関係は成立していない。例えば、Tに対する関係がw1+w2かw1かは未知である。その結果、入力ベクトル[1 1]及び[1 0]についての出力を推定することができない。入力間で形成される論理関係については、これらはx2、x1 OR x2、又はX1 XOR x2であってもよいが、さらに情報がなければどちらであるかを言うことはできない。

0208

本発明のDRトレーニングアルゴリズム30によれば、LTGが不十分にトレーニングされている場合、1を出力することが好ましいが、これはデータセットに依存し、かわりに0を出力してもよい。言い換えると、LTGはデータ入力に対する応答の仕方を学習するまで有効なままとなる。しかしながら、これはNNによって学習されているデータセットに応じて変化してもよい。

0209

従って、トレーニングセット内に欠けている特徴がある場合にはLTGは正しい応答を出力することが難しくなることは言うまでもない。バックプロパゲーション等のその他のトレーニング方法でトレーニングされるその他のニューロンが経験する問題もある。しかしながら、バックプロパゲーションでトレーニングされる知覚とは異なり、本発明のDRトレーニングアルゴリズム30はLTGがデータパターンの分類の仕方を学習していない場合を識別することができ、言い換えると、本発明のDRトレーニングアルゴリズム30でトレーニングされるLTGは、入力ベクトルを正しく分類する方法を知らない場合を示すことができる。

0210

以下、LTGの最も有用な特性のひとつ、すなわちLTGが十分にトレーニングされている場合に見えない入力ベクトの出力を推論することができるLTGの能力について検討する。

0211

見えない入力ベクトルを推論する:NNがトレーニングされているとき、NNは入力ベクトルのセットでトレーニングされ、その後、NNがトレーニング中にはさらされなかった多数の入力ベクトルでテストされる。これらの入力ベクトルは、「見えない」と呼ばれ、NNがその関連付けられた出力を正しく判断することができるかどうかを判定する。

0212

NNがトレーニング中に見られなかったデータパターンの分類を判断することができるためには、NNが以前に学習したことから見えない入力ベクトルの分類を推論することができる必要がある。トレーニング中に全ての特徴を学習したことは保証されないため、LTGを考えられる全ての入力ベクトル及びその関連付けられた出力にさらさなければ、出力を正しく推論することはできないかもしれない。全てのデータパターン又は入力ベクトルが利用できるわけではないことが多く、入力データセットを十分に列挙して見出されたとしても分類の仕方がわからないこともある。入力データセットの比率にすぎないトレーニングセットがNNが学習のためにトレーニングされているそのデータセットを表すものかどうかを判定する方法があることはあまり考えられない。その結果、特定のデータセットでのトレーニングにより、見えないデータパターンの出力がNNによって正しく判定できることがあることを示すことができるだけである。

0213

命題3.1:見えない入力ベクトルについてLTGの閾値に対する関係が以前に学習した制約条件から推論可能であれば、見えない入力ベクトルについての出力を判定することができる。

0214

図11に示すLTG120を考えると、LTGは以下のような入力ベクトル及び出力ベクトルを用いてトレーニングされる。[0 0 0]→0、[0 0 1]→1、[0 1 0]→1、[1 1 1]→0。

0215

そして、LTG120は、以下のような制約条件セットを有することになる。{0<T、w3>T、w2>T、w1+w2+w3<T}。

0216

入力ベクトル[1 0 0]はトレーニング中にLTG120によって見られておらず、このベクトルに対する必要な出力は0である。LTG120が閾値に対する関係を推論することができない場合、出力が0であることを判断することができない。

0217

0<T、w2≧T、及びw3≧Tであるため、w2及びw3>TではT、w2、及びw3は全て正の数である。従って、w2+w3は>Tでなければならない。しかしながら、w1が小さく負の数であることを意味するw1+w2+w3<Tであるため、<Tである。従って、LTG120に加えられLTGの行動を定義する式1.1を用いるときの入力ベクトル[1 0 0]では、1・w1+0.W2+0・w3=W1<Tが推論される。従って、LTGは0を出力する。

0218

従って、LTG120は正しい出力を推論することができる。LTG120が正しい出力を導き出すことができたので、十分にトレーニングされれば出力を推論することができることがわかる。

0219

本発明のDRトレーニングアルゴリズム30はNNの構築にLTGを用いることが好ましいため、演繹法の原則は、本発明によれば、NNの見えない入力ベクトルの分類の推論に用いることができる。代替的に、本発明のさらなる様態に従って、トレーニング中に見えなかったデータパターンの分類を判定する異なる方法を用いることもできる。以下、この代替的なデータパターンの分類を判定する又は制約条件セットの入力ベクトルが既知か未知かを判定する方法を説明する。

0220

以下、ベクトルが明示的に学習されたかどうかにかかわらず、入力ベクトルを分類する方法を学習したかどうかを判定するために、新規なテストを行う。以下のテストは、NN出力が入力ベクトルについて既知であるかどうかを示す。

0221

LTGが入力ベクトルを知っているかどうかのテスト:トレーニングされたLTGからパターンの分類又は入力ベクトルを見出すことができることが好適である。入力ベクトルがトレーニングされたLTGに加えられるとき、以下のいずれかを行う。(1)有効化する。(2)有効化しない。(3)不十分なトレーニングの結果、入力ベクトルの分類方法を知らない。

0222

従来のトレーニングアルゴリズムは、LTGが入力ベクトルの分類方法を知らない状況をLTGに識別させない。本発明のDRトレーニングアルゴリズム30は、LTGが分類方法を知らない入力ベクトルの識別を可能とする。

0223

以下、本発明のさらなる様態に係る、制約条件セットの入力ベクトルが既知か未知かを判定する方法130の好適な実施形態を、図12のフロー図を参照して説明する。制約条件セットが、本発明のDRトレーニングアルゴリズム30に従ってトレーニングされたNNのニューロンの制約条件セットであることが好適である。言うまでもなく、入力ベクトルが既知か未知かを判定する方法130は、NNに限定されるものではない。入力ベクトルを分類する方法130は、例えばDNAといったデータストリングの分析等の制約条件のシステムを利用する他の分野においても有用であると考えられる。同様に、入力ベクトルを分類する方法130は、CSPやオペレーションリサーチの用途に利用することもできる。従って、本発明のこの様態は、独立しており、本発明のDRトレーニングアルゴリズム30での使用に限定されるものではない。

0224

以下の入力ベクトルを分類する方法130の説明は、本発明のDRトレーニングアルゴリズム30に従ってトレーニングされたLTGの出力の判定の点から説明される。この説明は、本発明の方法130の考えられる使用の一例に過ぎない。

0225

LTGが不十分にトレーニングされたかどうか、言い換えると入力ベクトルXiの分類の仕方を知らないかどうかを判定するためには、まず、ブロック131で、先に述べたように制約条件とその補空間が入力ベクトルから構築される。形成される制約条件は、xi・w<Tとその補空間xi・w≧T、又はxi・w≧Tとその補空間xi・w<Tである。

0226

この入力ベクトルに関連付けられた出力はまだ既知ではないとする。制約条件xi・w<T又はxi・w>TはトレーニングされたLTG制約条件セットに追加され、その後、ブロック132で解答の有無を判定するために任意の適切な制約充足アルゴリズムを用いてテストされる(数的解答を見出すことができるが特定の解答を見出すには重要ではなく、又は同等に、図12に示すように制約条件により定義された体積の共通部分を見出すことができる)。解答がない場合には、LTGはブロック133によって表される1又は0を出力しなければならず、LTGは十分にトレーニングされており入力ベクトルの分類の仕方を知っている。言い換えると、xi・w≧T又はxi・w<Tについての解答がなければならない。

0227

しかしながら、ブロック132で、制約条件xi・w<T又はxi・w≧TがトレーニングされたLTGの制約条件セットに追加されたときに、解答がある場合、ブロック134において制約条件xi・w<T又はxi・w≧Tは取り除かれ、その補空間が代わりに追加される。ブロック135でチェックが行われたときに解答がない場合、LTGは入力ベクトルの分類の仕方を知っており、ブロック136により表されるように0又は1を出力する。

0228

しかしながら、ブロック135でチェックが行われたとき、制約条件及びその補空間が代替的にブロック134で追加されたときLTGが解答を有していた場合、ブロック137により表されるように不十分にトレーニングされているため入力ベクトルをどのように分類するべきかは知られていない。言うまでもなく、これらのステップの順序は必須ではない。

0229

任意の適切な制約充足方法又はアルゴリズムを用いて制約条件を学習することができるかどうかをテストすることができる。重み及び閾値の特定の数的解答を見出すことは重要ではないが、これを見出すことができるか否かを判定することは不可欠である。これは、制約条件により定義された体積の共通部分を見出すことと同等に提示することができる。

0230

入力ベクトルが制約条件に変換されるとき、これはLTGの重み空間内に面を形成する。入力ベクトルはLTGにより学習されるたびに、重み空間を二分する面を形成し、トレーニング条件を満たす体積を減らしていく。これは図13(a)で示され、囲まれたくぼみ領域がこれまでに学習したトレーニング条件を満足する重み空間である。領域を二分する面はLTGに提示されている入力ベクトルから形成される。この状況では、LTGは、それぞれ図13(b)及び図13(c)に見られるように、xi・w<T又はxi・w≧Tを学習することができる。この場合、入力ベクトルの分類の仕方は知られていない。図13(d)において、LTGは面の上の領域を学習することができるだけであり、下は学習することができず、従って、出力はトレーニング条件を満たす重み空間の体積を交差する制約条件により決定されることになる。

0231

図13(e)において、xi・w=Tにより形成される面は凸部の体積を交差するが、図13(f)では、その面で形成された1つの制約条件のみがLTGにより学習されることができる。出っ張り領域は、これらの制約条件の全ての共通部分により形成された領域にのみ交差が与えられるため、凹部領域を減らす。

0232

たまたまトレーニングセットに入力ベクトルがある場合には、これがトレーニング中に構築された制約条件セットにより定義される体積の表面の1つを形成することになり、入力ベクトルが既知となる。

0233

まとめると、制約条件及びその補空間はいずれも入力ベクトルから形成され(ブロック131及び134)、トレーニングされたLTGの制約条件セットで共通部分の有無についてテストされる(ブロック132及び135)。制約条件のいずれかが解答を導くことができない場合(ブロック133及び136)、この入力ベクトル内の特徴はトレーニング中に学習済みであることを意味する。しかしながら、LTGがすでに学習した両方の制約条件について利用可能な解答がある場合には(ブロック137)、トレーニングセットから欠けている特徴がある。このような特性は、形式上、以下のように言うことができる。

0234

定理:制約条件xi・w<T又はw≧Tとその補空間をLTGが学習した制約条件のリストに交互に追加し(ブロック131及び134)、共通部分をテストすることにより(ブロック132及び135)、ベクトルXiが学習されているか否かを判定することができる。両方のケースに解答がある場合には(ブロック137)、制約条件は学習されていない。しかしながら、xi・w<T又はその補空間のみが以前に学習した制約条件の解答を有する場合には、このベクトルはLTGによって学習済みである(ブロック133及び136)。

0235

証明:図13において、与えられた重み空間の図に、LTGが学習したことにより定義される2つの体積の表現を示す。くぼみ領域が図13(a)から図13(d)に示されており、出っ張り領域が図13(e)及び図13(f)に示されている。ベクトルによって形成された面は、重み空間、すなわちxi・w=Tに適用される。これは、図13(d)に示すように定義された体積に交差しないか、その他の全ての場合のように交差する。交差しない場合には、入力ベクトルは学習済みである。この場合、これは体積依存してLTGを有効化する又は有効化しない、すなわちxi・w<T又はxi・w≧Tは、LTGがすでに学習した制約条件により形成された体積に交差する。そうでない場合にはxi・wは学習されていない。

0236

この場合、図13(e)及び図13(f)に示すように面は出っ張り領域に交差し、領域はLTGが以前に学習した全ての制約条件に共通しなければならないため、これらのいずれか一方のみを学習することができる(関心は両方の共通領域にのみ与えられるため、図13(e)及び図13(f)の領域はくぼみ領域すなわちその共通部分に縮小されることに注意)。以下に、上記を示すための例を示す。

0237

図11に示す3入力LTG120について考える。LTG120が入力ベクトル[0 1 0]→1及び[0 1 l]→0でトレーニングされる場合、LTG120が学習する制約条件セットは{w2>T、W2+W3<T}である。ベクトル[1 0 0]及び[0 0 1]の出力を判定する。

0238

入力ベクトル[1 0 0]について、面W1=Tが領域{w2≧T、W2+W3<T}に交差することが見いだされ、W1<T及びW1≧Tの両方がLTG120により学習された領域と交差する。従って、LTG120は出力が何であるべきかを知らない。すでに述べたように出力は1であるべきであるが、これは必要であれば学習されたデータセットに従って修正可能である。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ