(57)【要約】【課題】  学習及びスプリアスアトラクタ識別機能及び学習・非学習入力データ識別機能を持った、２つのニューラルネットワークを用いた高性能・大容量相互（ヘテロ）連想記憶装置とそのソフトウェアを提供する。【解決手段】  ２つのニューラルネットワークを用いた相互連想メモリにあって、学習入力データとその分類カテゴリに対応した学習アトラクタである教師信号を学習した前進ニューラルネットワーク手段と、該教師信号に対して該学習入力データを送出することができるよう学習した後進ニューラルネットワーク手段と、該前進ニューラルネットワーク手段の出力信号に対応した分類カテゴリ番号を基に、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段と、該前進ニューラルネットワークの入出力信号及び該後進ニューラルネットワークの出力信号とを用いてアトラクタ収束状態を識別するアトラクタ収束状態識別手段と、該学習アトラクタとスプリアス・アトラクタとを少なくとも識別するアトラクタ識別処理手段とを少なくとも有することを特徴とした相互連想記憶装置。【選択図】図１
2006053850.tif 000002
【特許請求の範囲】
【請求項１】
学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネットワーク手段１２に、該教師信号に対して該学習入力データを送出することができるよう学習した後進ニューラルネットワーク手段１３を従属接続し、
前進連想入力信号を連想ループ回数の元に制御される入力切替スイッチ１０を介して該前進ニューラルネットワーク手段１２に一旦入力し（連想ループ回数n=0）、該後進ニューラルネットワーク手段１３の出力信号を得た後、該後進ニューラルネットワーク手段１３の出力信号を該前進ニューラルネットワーク手段１２の入力に前記入力切替スイッチ１０を介してフィードバックし、該前進ニューラルネットワーク手段１２の出力信号及び該後進ニューラルネットワーク手段１３の出力信号を順次得る連想ループ処理（連想ループ回数n≧1）を行い、連想ループ回数計数と制御とを行う連想ループ制御処理手段１１を有する相互連想記憶装置にあって、
前記教師信号の全てに対応した分類カテゴリ番号から構成された予め準備された分類カテゴリ番号領域と該前進ニューラルネットワーク手段１２の出力信号に対応した分類カテゴリ番号との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段１５とを少なくとも有することを特徴とした相互連想記憶装置。
【請求項２】
学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネットワーク手段１２と、該教師信号に対して該学習入力データを送出することができるよう学習した後進ニューラルネットワーク手段１３とを用い、該後進ニューラルネットワーク手段１３に該前進ニューラルネットワーク手段１２を従属接続し、連想ループ回数計数と制御とを行う連想ループ制御処理手段１１を有する相互連想記憶装置にあって、
後進連想入力信号を入力切替スイッチ１７を介して該後進ニューラルネットワーク手段１３に一旦入力（連想ループ回数n=0）し、該前進ニューラルネットワーク手段１２の出力信号を得た後、該前進ニューラルネットワーク手段１２の出力信号を該後進ニューラルネットワーク手段１３の入力に前記入力切替スイッチ１７を介してフィードバックし、該後進ニューラルネットワーク手段１３の出力信号及び該前進ニューラルネットワーク手段１２の出力信号を順次得る連想ループ処理（連想ループ回数n≧1）を行い、
前記教師信号の全てに対応した分類カテゴリ番号から構成された予め準備された分類カテゴリ番号領域と該前進ニューラルネットワーク手段１２の出力信号に対応した分類カテゴリ番号との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段１５とを少なくとも有することを特徴とした相互連想記憶装置。
【請求項３】
学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネトワーク手段１２に、該教師信号に対して該学習入力データを送出することができるよう学習させた後進ニューラルネット手段１３を従属接続し、前進連想入力信号を入力切替スイッチ１０を介して該前進ニューラルネットワーク手段１２に一旦入力（連想ループ回数n=0）し、該後進ニューラルネットワーク手段１３の出力信号を得た後、該後進ニューラルネットワーク１３の出力信号を該前進ニューラルネットワーク手段１２の入力に前記入力切替スイッチ１０を介してフィードバックし、該前進ニューラルネットワーク手段１２の出力信号及び該後進ニューラルネットワーク手段１３の出力信号を順次得る連想ループ処理（連想ループ回数n≧1）を行い、連想ループ回数計数と制御とを行う連想ループ制御処理手段１１を有する相互連想記憶装置にあって、
複数個の並列接続された、前記分類カテゴリに対する前記教師信号とは異なる割り当て配置を持った夫々の並列接続用教師信号を学習した多層ニューラルネットワーク４１、４２、４３と、該多層ニューラルネットワーク４１，４２，４３からの各出力信号を前記教師信号の基本となる出力コード体系の出力信号に逆変換する出力逆変換処理手段４４，４５，４６と、該出力逆変換処理手段４４、４５、４６の出力信号から一つの出力信号を選択送出する出力複合手段４７とから少なくとも構成され、前記学習入力データに対して前記教師信号を送出することができる学習させた第１の前進並列複合ニューラルネットワーク手段４０を用いて、前記前進ニューラルネットワーク手段１２を少なくとも構成し、
前記教師信号の全てに対応した分類カテゴリ番号から構成された予め準備された分類カテゴリ番号領域と該第１の前進並列複合ニューラルネットワーク手段４０の出力信号に対応した分類カテゴリ番号との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段１５とを少なくとも有することを特徴とした相互連想記憶装置。
【請求項４】
学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネトワーク手段１２と、該教師信号に対して該学習入力データを送出することができるよう学習させた後進ニューラルネット手段１３とを用い、該後進ニューラルネットワーク１３に該前進ニューラルネットワーク１２を従属接続し、連想ループ回数計数と制御とを行う連想ループ制御処理手段１１を有する相互連想記憶装置にあって、
複数個の並列接続された、前記分類カテゴリに対する前記教師信号とは異なる割り当て配置を持った夫々の並列接続用教師信号を学習した多層ニューラルネットワーク４１、４２、４３と、該多層ニューラルネットワーク４１，４２，４３からの各出力信号を前記教師信号の基本となる出力コード体系の出力信号に逆変換する出力逆変換処理手段４４，４５，４６と、該出力逆変換処理手段４４、４５、４６の出力信号から一つの出力信号を選択送出する出力複合手段４７とから少なくとも構成され、前記学習入力データに対して前記教師信号を送出することができる学習済み第１の前進並列複合ニューラルネットワーク手段４０を用いて、前記前進ニューラルネットワーク手段１２を少なくとも構成し、
後進連想入力信号を入力切替スイッチ１７を介して該後進ニューラルネットワーク手段１３に一旦入力（連想ループ回数n=0）し、該第１の前進並列複合ニューラルネットワーク手段４０の出力信号を得た後、該第１の前進並列複合ニューラルネットワーク手段４０の出力信号を該後進ニューラルネットワーク手段１３の入力に前記入力切替スイッチ１７を介してフィードバックし、該後進ニューラルネットワーク手段１３の出力信号及び該第１の前進並列複合ニューラルネットワーク手段４０の出力信号を順次得る連想ループ処理（連想ループ回数n≧1）を行い、
前記教師信号の全てに対応した分類カテゴリ番号から構成された予め準備された分類カテゴリ番号領域と該第１の前進並列複合ニューラルネットワーク手段４０の出力信号に対応した分類カテゴリ番号との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段１５とを少なくとも有することを特徴とした相互連想記憶装置。
【請求項５】
学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネトワーク手段１２に、該教師信号に対して該学習入力データを送出することができるよう学習させた後進ニューラルネット手段１３を従属接続し、前進連想入力信号を入力切替スイッチ１０を介して該前進ニューラルネットワーク手段１２に一旦入力（連想ループ回数n=0）し、該後進ニューラルネットワーク手段１３の出力信号を得た後、該後進ニューラルネットワーク１３の出力信号を該前進ニューラルネットワーク手段１２の入力に前記入力切替スイッチ１０を介してフィードバックし、該前進ニューラルネットワーク手段１２の出力信号及び該後進ニューラルネットワーク手段１３の出力信号を順次得る連想ループ処理（連想ループ回数n≧1）を行い、連想ループ回数計数と制御とを行う連想ループ制御処理手段１１を有する相互連想記憶装置にあって、
前記学習入力データを夫々異なる並列用学習入力データに変換する入力変換処理手段５１、５２、５３と、複数個の並列接続された、該並列用学習入力データ及び前記教師信号とを学習した多層ニューラルネットワーク４１、４２、４３と、該多層ニューラルネットワーク４１、４２、４３の出力信号から一つの出力信号を選択送出する出力複合手段４７とから少なくとも構成され、前記学習入力データに対して前記教師信号を送出することができる学習させた第２の前進並列複合ニューラルネットワーク手段５０を用いて、前記前進ニューラルネットワーク手段１２を少なくとも構成し、
前記教師信号の全てに対応した分類カテゴリ番号から構成された予め準備された分類カテゴリ番号領域と該第２の前進並列複合ニューラルネットワーク手段５０の出力信号に対応した分類カテゴリ番号との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段１５とを少なくとも有することを特徴とした相互連想記憶装置。
【請求項６】
学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネトワーク手段１２と、該教師信号に対して該学習入力データを送出することができるよう学習させた後進ニューラルネット手段１３とを用い、該後進ニューラルネットワーク１３に該前進ニューラルネットワーク１２を従属接続し、連想ループ回数計数と制御とを行う連想ループ制御処理手段１１を有する相互連想記憶装置にあって、
前記学習入力データを夫々異なる並列用学習入力データに変換する入力変換処理手段５１、５２、５３と、複数個の並列接続された、該並列用学習入力データ及び前記教師信号とを学習した多層ニューラルネットワーク４１、４２、４３と、該多層ニューラルネットワーク４１、４２、４３の出力信号から一つの出力信号を選択送出する出力複合手段４７とから少なくとも構成され、前記学習入力データに対して前記教師信号を送出することができる学習済み第２の前進並列複合ニューラルネットワーク手段５０を用いて、前記前進ニューラルネットワーク手段１２を少なくとも構成し、
後進連想入力信号を入力切替スイッチ１７を介して該後進ニューラルネットワーク手段１３に一旦入力（連想ループ回数n=0）し、該第２の前進並列複合ニューラルネットワーク手段５０の出力信号を得た後、該第２の前進並列複合ニューラルネットワーク手段５０の出力信号を該後進ニューラルネットワーク手段１３の入力に前記入力切替スイッチ１７を介してフィードバックし、該後進ニューラルネットワーク手段１３の出力信号及び該第２の前進並列複合ニューラルネットワーク手段５０の出力信号を順次得る連想ループ処理（連想ループ回数n≧1）を行い、
前記教師信号の全てに対応した分類カテゴリ番号から構成された予め準備された分類カテゴリ番号領域と該第２の前進並列複合ニューラルネットワーク手段５０の出力信号に対応した分類カテゴリ番号との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段１５とを少なくとも有することを特徴とした相互連想記憶装置。
【請求項７】
請求項１、３及び請求項５の何れかの前記相互連想記憶装置にあって、
連続した連想ループ処理を介して、得られた前記前進ニューラルネットワーク手段１２、４０、５０の２入力信号間及び対応した２出力信号間、前記後進ニューラルネットワーク手段１３の２出力信号間の夫々の一致状態を基に、アトラクタ収束状態を識別するアトラクタ収束状態識別手段１４を有することを特徴とした相互連想記憶装置。
【請求項８】
請求項２、４及び請求項６の前記相互連想記憶装置にあって、
連続した連想ループ処理を介して、得られた前記後進ニューラルネットワーク手段１３の２入力信号間及び対応した２出力信号間、前記前進ニューラルネットワーク手段１２、４０、５０の２出力信号間の夫々の一致状態を基に、アトラクタ収束状態を識別するアトラクタ収束状態識別手段１４を有することを特徴とした相互連想記憶装置。
【請求項９】
請求項７の前記アトラクタ収束状態識別手段１４にあって、
前記前進連想入力信号を前記前進ニューラルネットワーク手段１２に入力し、対応した出力信号及び前記後進ニューラルネットワーク手段１３の出力信号を夫々得る連想ループ回数n=0の連想ループ処理と、その後該後進ニューラルネットワーク手段１３の該出力信号を前記入力切替スイッチ１０を介してフィードバックして該前進ニューラルネットワーク手段１２に入力し、対応した出力信号及び該後進ニューラルネットワーク手段１３の出力信号を夫々得る連想ループ回数n=1の連想ループ処理とを介して、得られた前記前進ニューラルネットワーク手段１２の２入力信号間の一致状態と、前記学習内外カテゴリ識別手段１５の学習内外カテゴリ識別信号とにより、前記前進ニューラルネットワーク手段１２に入力された前記前進連想入力信号の学習・非学習入力データ識別することを特徴とした相互連想記憶装置。
【請求項１０】
請求項８のアトラクタ収束状態識別手段１４にあって、
前記後進連想入力信号を前記後進ニューラルネットワーク手段１３に入力し、対応した出力信号及び前記前進ニューラルネットワーク手段１２の出力信号を夫々得る連想ループ回数n=0の連想ループ処理と、該前進ニューラルネットワーク手段１２の該出力信号を入力切替スイッチ１７を介してフィードバックして該後進ニューラルネットワーク手段１３に入力し、対応した出力信号及び該前進ニューラルネットワーク手段１２の出力信号を夫々得る連想ループ回数n=1の連想ループ処理とを介して、得られた前記後進ニューラルネットワーク手段１３の２入力信号間の一致状態と、前記学習内外カテゴリ識別手段１５の学習内外カテゴリ識別信号とにより、前記後進ニューラルネットワーク手段１３に入力された前記後進連想入力信号の学習・非学習入力データ識別し、前記の一致状態で、学習内カテゴリ識別状態である場合のみ、学習入力データと識別することを特徴とした相互連想記憶装置。
【請求項１１】
請求項７、８、９及び１０の何れかの前記相互連想記憶装置にあって、
前記学習内外カテゴリ識別手段１５からの前記前進ニューラルネットワーク手段１２の出力信号に対する前記学習内外カテゴリ識別信号と、前記アトラクタ収束状態識別手段１４からのアトラクタ収束識別信号とを基に、アトラクタ収束状態で学習外カテゴリ識別状態ならばスプリアス・アトラクタ識別及び学習内カテゴリ識別状態ならば前記学習・アトラクタ識別を少なくともするアトラクタ識別処理手段１６とを有することを特徴とした相互連想記憶装置。
【請求項１２】
請求項１１の前記アトラクタ識別処理手段１６にて、前記アトラクタ収束識別信号と前記学習内外カテゴリ識別信号とから、連想ループ回数n=1の時、アトラクタ収束状態で、学習内カテゴリ識別状態あれば、学習・アトラクタ識別、学習外カテゴリ識別状態であれば、One-Shotスプリアス・アトラクタ識別、連想ループ回数n＞１の時、アトラクタ収束状態で、学習内カテゴリ識別状態であれば、汎化学習・アトラクタ識別、及び学習外カテゴリ識別状態であれば、汎化スプリアス・アトラクタ識別とすることを特徴とした相互連想記憶装置。
【請求項１３】
学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネットワーク処理１３０と、該教師信号に対して該学習入力データを送出することができるよう学習した後進ニューラルネットワーク処理１４０とを少なくとも有し、
前進連想入力信号を該前進ニューラルネットワーク処理１３０にて処理し出力信号を得え、更に、該出力信号を入力し該後進ニューラルネットワーク処理１４０にて出力信号を得、その後、該出力信号を後進ニューラルネットワーク出力信号入力設定処理２００を介してフィードバック入力し該前進ニューラルネットワーク処理１３０にて出力信号を得る連想ループ処理を行い、連想ループ回数を計数する連想ループ回数判定処理１８０を有する相互連想記憶処理ソフトウェアにあって、
該前進ニューラルネットワーク処理１３０の出力信号に対応した分類カテゴリ番号と該前進ニューラルネットワーク処理１３０の全ての前記教師信号に対応した分類カテゴリ番号から構成された分類カテゴリ番号領域との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別処理１５０と、
連続した連想ループ処理を介して、得られた前記前進ニューラルネットワーク処理１３０の２入力信号間及び対応した２出力信号間、前記後進ニューラルネットワーク処理１４０の２出力信号間の夫々の一致状態を基に、アトラクタ収束状態を識別するアトラクタ収束状態識別処理１６０と、
前記前進連想入力信号と連想ループ回数n=1に於ける該前進ニューラルネットワーク処理１３０の入力信号との２入力信号間一致状態と、前記学習内外カテゴリ識別処理１５０の学習内外カテゴリ識別信号とにより、前記前進連想入力信号の学習・非学習入力データ識別する前進連想入力信号学習・非学習入力データ識別処理２２０と、
前記学習内外カテゴリ識別処理１５０からの前記学習内外カテゴリ識別信号と、前記アトラクタ収束状態識別処理１６０からのアトラクタ収束識別信号とを基に、アトラクタ収束状態で学習外カテゴリ識別状態ならばスプリアス・アトラクタ識別及び学習内カテゴリ識別状態ならば学習・アトラクタ識別を少なくともするアトラクタ識別処理２３０とを少なくとも有することを特徴とした相互連想記憶処理ソフトウェア。
【請求項１４】
学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネットワーク処理１３０と、該教師信号に対して該学習入力データを送出することができるよう学習した後進ニューラルネットワーク処理１４０と、連想ループ回数を計数する連想ループ回数判定処理１８０を少なくとも有する相互連想記憶処理ソフトウェアにあって、
後進連想入力信号を該後進ニューラルネットワーク処理１４０にて処理し出力信号を得え、更に、該出力信号を入力し該前進ニューラルネットワーク処理１３０にて出力信号を得、その後、該出力信号を前進ニューラルネットワーク出力信号入力設定処理３３０を介してフィードバック入力し該後進ニューラルネットワーク処理１４０にて出力信号を得る連想ループ処理を行い、
該前進ニューラルネットワーク処理１３０の出力信号に対応した分類カテゴリ番号と該前進ニューラルネットワーク処理１３０の全ての前記教師信号に対応した分類カテゴリ番号から構成された分類カテゴリ番号領域との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別処理１５０と、
連続した連想ループ処理を介して、得られた前記後進ニューラルネットワーク処理１４０の２入力信号間及び対応した２出力信号間、前記前進ニューラルネットワーク処理１３０の２出力信号間の夫々の一致状態を基に、アトラクタ収束状態を識別するアトラクタ収束状態識別処理３２０と、
前記後進連想入力信号と連想ループ回数n=1に於ける該後進ニューラルネットワーク処理１４０の入力信号との２入力信号間一致状態と、前記学習内外カテゴリ識別処理１５０の学習内外カテゴリ識別信号とにより、前記前進連想入力信号の学習・非学習入力データ識別する後進連想入力信号学習・非学習入力データ識別処理３４０と、
前記学習内外カテゴリ識別処理１５０からの前記学習内外カテゴリ識別信号と、前記アトラクタ収束状態識別処理３２０からのアトラクタ収束識別信号とを基に、アトラクタ収束状態で学習外カテゴリ識別状態ならばスプリアス・アトラクタ識別及び学習内カテゴリ識別状態ならば学習・アトラクタ識別を少なくともするアトラクタ識別処理２３０とを少なくとも有することを特徴とした相互連想記憶処理ソフトウェア。
【請求項１５】
請求項１３及び請求項１４の前記アトラクタ識別処理２３０にて、前記アトラクタ収束識別信号と前記学習内外カテゴリ識別信号とから、連想ループ回数n=1の時、アトラクタ収束状態で、学習内カテゴリ識別状態あれば、学習・アトラクタ識別、学習外カテゴリ識別状態であれば、One-Shotスプリアス・アトラクタ識別、連想ループ回数n＞１の時、アトラクタ収束状態で、学習内カテゴリ識別状態であれば、汎化学習・アトラクタ識別、及び学習外カテゴリ識別状態であれば、汎化スプリアス・アトラクタ識別とすることを特徴とした相互連想記憶ソフトウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、劣化画像の雑音除去や復元機能も持った画像認識、種々のパターン認識や、不正アクセス防止などのセキュリティシステム、或いは更に高速メモリ検索などに適用可能な多層ニューラルネットワークを用いた相互連想（Hetero-Associative）記憶装置に関するものである。
【背景技術】
【０００２】
ニューラルネットワークを用いた連想メモリの種類としては、自己連想メモリと相互（ヘテロ）連想メモリとがある。文献、Hopfield,J.J., Proc. Nationl. Acad. Sci. USA, 79,pp.2554-2558, 1982や、Associative Neural Memories Theory and Implementation Edited by Mohamad H. Hassoun OXFORD University Press 1993などに詳細が記載されている。
【０００３】
図２は、従来技術としての一つのニューラルネットワークを用いた自己連想メモリの１構成例がある。入力層と出力層だけから構成された２層ニューラルネットワークや３層ニューラルネットワーク（砂時計ニューラルネットワーク）或いはホップフィールドネットワークとして知られる相互結合ネットワーク型のニューラルネットワークなどが用いられている。これらは自己連想ニューラルネットワークの出力信号が直接入力にフィードバックされる構成となっている。
【０００４】
図２の従来技術による自己連想メモリとして、自己連想ニューラルネットワーク２２の２層ニューラルネットワークを用いた場合について、これらの動作を簡単に説明する。
先ず、最初に連想ループ制御処理部２０からの制御のもとに、入力端子２９からの連想入力信号が切替スイッチ１０及び端子３０を介して自己連想ニューラルネットワーク２２に入力される。自己連想ニューラルネットワーク２２としての学習済み２層ニューラルネットワークの出力層出力信号が出力端子３１に得られると、これを、連想ループ制御処理部２０の制御の基に、入力切替スイッチ１０を介して該２層ニューラルネットワークの入力端子３０にフィードバックする。この為、入力層ユニット数と出力層ユニット数は同一の構成となっている。従って、学習入力データ（学習アトラクタ）と教師信号が同一で、これらを学習させる。この場合には、多くの場合、重み係数は、計算によって求められる。
【０００５】
連想ループ制御処理部２０により、自己連想ニューラルネットワーク２２からの出力信号を入力切替スイッチ１０と入力端子３０を介して自己連想ニューラルネットワーク２２へフィードバックし、再度、自己連想ニューラルネットワーク２２から出力信号を得る。この一連のフィードバック処理を連想ループ処理と呼び、そのフィードバック回数を連想ループ回数ｎとする。
ここで、連想ループ回数ｎに於ける入力端子３０の自己連想ニューラルネットワーク２２の入力層への入力信号をX(n)とし、自己連想ニューラルネットワーク２２の出力信号をX(n+1)とし、連想ループ回数ｎ＋１の連想ループ処理に於いて、X(n+1)が入力端子３０へ再度フィードバックされる。
【０００６】
この連想ループ処理を繰り返し行った際に、前回の連想ループ処理との出力信号が同一となり、変化しなくなった状態をアトラクタ収束状態と呼び、その時の出力信号をアトラクタと呼び、アトラクタ出力信号として出力端子３１から得る。
収束し得られたアトラクタは、連想入力信号に最も近い特徴を持った学習入力データである学習アトラクタ（教師信号）となる場合と、スプリアス・アトラクタ（偽りのアトラクタ）となる場合とがある。スプリアス・アトラクタは、学習入力データではなく、殆どの場合は、多くの雑音を含んだデータから構成されており明確な特徴を持っていない。
【０００７】
このように、入力端子２９の連想入力信号を入力した後、アトラクタ収束状態になるまでの一連の動作を以下に説明する。先ず、連想ループ制御処理部２０からの連想ループ制御によって入力切替スイッチ１０の初期設定（n=0時）を行い、入力端子２９と入力端子３０を接続する。また、アトラクタ収束状態識別処理部２１の内部状態をリセットする。入力端子２９の連想入力信号X(0)が自己連想ニューラルネットワーク２２に入力信号として入力される。自己連想ニューラルネットワーク２２から出力信号X(1)が得られ、アトラクタ収束状態識別処理部２１に該出力信号X(1)がアトラクアに収束したかどうかの識別を行う収束識別処理の為に入力記憶される。
【０００８】
更に、連想ループ制御処理部２０は、該出力信号X(1)をフィードバックし自己連想ニューラルネットワーク２２に入力する為に、連想ループ回数n=1とし、入力切替スイッチ１０を切り替え、出力信号X(1)を、入力端子３０を介して自己連想ニューラルネットワーク２２にフィードバック入力し、新たな出力信号X(２)を得え、アトラクタ収束状態識別処理部２１に入力する。このような連想ループ処理を繰り返す。
【０００９】
アトラクタ収束状態識別処理部２１では、蓄積されている連想ループ回数ｎでの自己連想ニューラルネットワーク２２の出力信号X(n)と連想ループ回数n+1連想ループ処理により得られた連想ニューラルネットワークの出力信号X(n+1)と比較し一致検出を行う。即ち、一般にはX(n)とX(n+1)の一致検出を行う。但し、n≧0である。
一致すると、アトラクタに収束したとして、アトラクタ収束識別信号を出力端子３２に送出すると共に、連想ループ制御処理部２０に連想ループ処理を停止するよう連想ループ処理完了信号を送出する。この時の自己連想ニューラルネットワーク２２の出力信号がアトラクタ出力信号として出力端子３１に送出される。このアトラクタに収束した状態を想起状態と呼ぶ。
【００１０】
一致しない場合には、収束していないと見なし、連想ループ制御処理部２０に再度連想ループ処理を要求するために、連想ループ処理要求信号を送出する。
連想ループ制御処理部２０では、連想ループ処理要求信号を受信すると、予め指定された連想ループ最大許容回数N未満であれば、連想ループ回数n=n+1として、連想ループ処理を再度実行するため、出力信号X(n)を、入力切替スイッチ１０を介して入力端子３０へフィードバックする。一方、連想ループ処理完了信号を受信した場合、或いは連想ループ回数nが連想ループ最大許容回数N以上となると、連想ループ処理を終了する。
【００１１】
連想ループ回数ｎ=Nの状態で連想ループ処理を終了し、アトラクタ収束状態識別処理部２１から連想ループ処理要求信号を受信した場合には、アトラクタ発散識別信号送出要求信号をアトラクタ収束状態識別処理部２１に送る。この時、アトラクタ収束状態識別処理部２１はアトラクタ発散識別信号を出力端子３２に送出する。
この状態は、連想ループ回数nが指定された最大許容回数Nとなっても、アトラクタ収束状態識別処理部２１に於いて、X(n)とX(n+1)との一致状態が得られない状態を意味する。このアトラクタ発散識別状態は、不想起状態と呼ばれる。
【００１２】
連想ループ制御処理部２０では、入力端子２９に新たな連想入力信号X(0)が入力される度毎に入力切替スイッチ10及びアトラクタ収束状態識別処理部２１とを初期設定し、上記の一連の処理を新たな連想入力信号X(0)に対して繰り返す。
自己連想ニューラルネットワーク２２は、重み係数が予め設定された学習済みニューラルネットワークであるが、その重み係数の学習処理では、入力端子２９の学習アトラクタとして与えられた連想入力信号とその出力信号とが同一の学習アトラクタとなる関係の基で重み係数を計算により得、設定している。尚、この重み係数の求め方については、前記の文献に詳細が記載されている。
【００１３】
出力端子３１から得られたアトラクタ出力信号が学習入力データ（学習アトラクタ）であれば、この学習アトラクタを用いたその後に接続される応用処理システムを正しく動作させることができ、問題とならない。しかしながら、後述のスプリアス・アトラクタと呼ばれる偽のアトラクタの場合には、応用処理システムに於いて、誤動作の原因となる。
【００１４】
入力端子２９の連想入力信号が学習アトラクタとは異なり、これに似た連想入力信号の場合、複数回の連想ループ処理を介してアトラクタ収束状態に達し、想起される場合がある。例えば、雑音などを含む未知連想入力信号に対しても、連想ループ処理を繰り返すことにより、学習アトラクタに収束し、想起が成功する場合もある。このような動作はフィルタ作用やコンテント・アドレッサブル・メモリとしての働きをする。
【００１５】
一方、アトラクタ収束状態識別処理部２１の出力端子３２からアトラクタ収束識別信号が送出されると同時に、出力端子３１に学習アトラクアとは異なるアトラクタ出力信号が送出され、スプリアス・アトラクタ（偽りアトラクタ）と呼ばれるアトラクタ収束状態に想起される場合がある。即ち、多くの雑音や歪みを含んだ連想入力信号に対して、アトラクタ収束状態となるが、通常の学習アトラクアタとは全く異なった有意な意味を殆ど持たないスプリアス・アトラクタで、端子３１から誤って学習アトラクタ出力信号として送出される。
【００１６】
これは、従来方式では、学習アトラクタとは区別できず、重み係数に記憶されている学習入力データの影響を大きく受け自動的に生成され、予期し得ず紛らわしいスプリアス・アトラクタであり、想起が正しく行われていない。このスプリアス・アトラクタに収束した場合には、出力端子３１からのアトラクタ出力信号や端子３２からのアトラクタ収束状態識別信号を用いる応用処理システムで、誤動作の原因となる。
【００１７】
従来の自己連想ニューラルネットワーク２２での正しい想起をできるだけ成功させ、然もスプリアス・アトラクタの発生を抑えるには、学習アトラクタとしての学習入力データは互いに相関を持たない直交関係を持つ必要がある。即ち、比較的似た連想入力信号を、学習入力データとして学習記憶させる重み係数を計算し求めて設定すると、学習アトラクタ間の干渉が発生し、スプリアス・アトラクタに収束する場合が増加するか、或いは想起されない無収束の発散状態になる場合が増える。
【００１８】
従って、自己連想ニューラルネットワーク２２の最適な重み係数によって記憶されている学習入力データ数、即ち学習アトラクタ数に大幅な制限がある。また、自己連想ニューラルネットワーク２２では、ニューラルネットワークの一つの特徴である、汎化能力を余り利用しておらず、連想ループ処理に於けるフィードバック・ループによってのみアトラクタ収束を行わせることから、アトラクタに中々収束せず、アトラクタ発散状態になりやすく、然も、アトラクタに収束してもスプリアス・アトラクタになり易いなどの欠点があることを意味している。
【００１９】
更に、このような従来方式では、このスプリアス・アトラクタ出力信号は、記憶している全ての学習アトラクタと比較しない限り、学習アトラクタかスプリアス・アトラクタかの区別はできず、比較する為には多くの処理量を要する。
このような自己連想ニューラルネットワーク２２を用いた自己連想メモリの最も大きな欠点は、取り得る重み係数への大きな制約による、記憶容量の少なさである。上記の文献によると、この記憶容量は、理論的に約0.12x入力層ユニット数Pで与えられる。
更に、互いに似た学習入力データを学習させると、互いの干渉からアトラクタ収束状態が得にくくなるなどの欠点もある。また、誤って想起されるアトラクタ収束状態でのスプリアス・アトラクタを少なくするためには、記憶容量が更に少なくなる。従って、学習入力データ数が理論的限界に近づくとアトラクタ収束が一段と困難となってくる。
【００２０】
この他の従来技術として、２つの従属接続されたニューラルネットワークを用いた相互（ヘテロ）連想メモリと呼ばれる方式がある。この方式は，図３のように、夫々教師信号を用いて学習された前進３層ニューラルネットワーク２３及び後進３層ニューラルネットワーク２４から構成される。従来では、前進３層ニューラルネットワーク２３としては、粗コード出力型前進３層ニューラルネットワーク２３が用いられている。
【００２１】
粗コード出力型前進３層ニューラルネットワーク２３の出力信号としては、何れか１つのユニットのみが１となり、他のK-1個のユニットは０となるKユニットの２値出力信号形式、即ち、One out of Kと呼ばれる粗い符号化コードが用いられる。これは、ニューラルネットワークの学習入力データに対応した教師信号の分類カテゴリへの対応づけが簡単であることから、殆どの多層ニューラルネットワークの出力信号形式として採り入れられ、学習させている。
【００２２】
一方、後進３層ニューラルネットワーク２４では、粗コード出力型前進３層ニューラルネットワーク２３の教師信号を学習入力データとして学習させる。後進３層ニューラルネットワーク２４の教師信号としては、入力切替スイッチ１０を介して、粗コード出力型前進３層ニューラルネットワーク２３にフィードバック入力する為に、入力端子１からの前進連想入力信号X(0)と同一入力ユニット数の出力形式を持たせる必要があり、粗コード出力型前進３層ニューラルネットワーク２３の学習入力データ、即ち学習アトラクタとする。
【００２３】
即ち、粗コード出力型前進３層ニューラルネットワーク２３への学習入力データが、後進３層ニューラルネットワーク２４の出力信号として再現されるよう夫々の学習を行う。このようにして学習された重み係数を、粗コード出力型前進３層ニューラルネットワーク２３及び後進３層ニューラルネットワーク２４の重み係数として夫々設定する。
【００２４】
ここで、これらの動作を簡単に説明する。図３の入力切替スイッチ１０、連想ループ制御処理部２０、アトラクタ収束状態識別処理部２１は、夫々図２のそれらと同一構成である。図２の場合と同様に、連想ループ制御処理部２０からの制御信号により、入力切替スイッチ１０は制御され、初期設定として、入力端子１の前進連想入力信号が学習済みの粗コード出力型前進３層ニューラルネットワーク２３の入力端子２を介して入力されるよう接続を行う。粗コード出力型前進３層ニューラルネットワーク２３は、前進連想入力信号X(0)に対応した出力信号を出力端子３から送出し、更に端子４を介して学習済み後進３層ニューラルネットワーク２４に入力される。対応した出力信号は、連想ループ制御処理部２０の制御の基に、連想ループ処理として、入力切替スイッチ１０を介して入力端子２にフィードバックされると共に、アトラクタ収束状態識別処理部２１に入力記憶される。
【００２５】
アトラクタ収束状態識別処理部２１に於いては、連想ループ回数n-1の時の記憶された後進３層ニューラルネットワーク２４の出力信号X(n)と、連想ループ回数nの出力信号X(n+1)とが一致すると、アトラクタに収束したとみなし、アトラクタ収束識別信号を出力端子３２から送出し、出力端子５から後進３層ニューラルネットワーク２４の出力信号がアトラクタ出力信号として送出される。連想ループ回数n=Nに於いても、アトラクタに収束しないアトラクタ発散状態では、アトラクタ発散識別信号が出力端子３２から送出される。
【００２６】
この従来の相互連想メモリの構成では、必要なK個の学習アトラクタとしての学習入力データとそれらに夫々対応したOne out of K出力信号形式の教師信号とを学習させることから、重み係数による記憶容量を多くすることが出来る。しかしながら、学習アトラクタとしての学習入力データ数Kが非常に多い場合には、前進３層ニューラルネットワーク２３のK個の出力層ユニット数と同一のユニット数を持つ後進３層ニュラールネットワーク２４の入力層ユニット数が必然的に非常に大きくなる。従って、粗コード出力型前進３層ニューラルネットワーク２３及び後進３層ニューラルネットワーク２４の規模が非常に大きくなり、学習処理の演算量が膨大となる欠点を有している。また、K個のユニットの粗コードからなるスパース出力信号形式が用いられることから、スプリアス・アトラクタに収束する場合が非常に多くなる。
【００２７】
この従来方式に於いても、スプリアス・アトラクタへの収束状態の検出ができないことから、学習アトラクタとスプリアス・アトラクタとの区別ができず、アトラクタ収束状態識別処理部２１からアトラクタ収束識別信号が送出された際に、出力端子５から学習アトラクタ出力信号として出力されたアトラクタを用いた応用処理システムでは、誤動作を発生する欠点を持っている。しかしながら、学習アトラクタ数が多い場合には、アトラクタ収束状態に到達しない不想起のアトラクタ発散状態は、自己連想メモリほどは多くない。
上記では、教師信号を用い学習する粗コード出力型前進３層ニューラルネットワーク２３について説明したが、この他に、性能が劣化するが自己組織化ネットワークを用いる場合もあるが、上記に述べた欠点は併せ持っている。
【００２８】
上記の説明の如く、自己連想メモリは、入出力ユニット数が同一で限定された構成であることから、劣化画像データなどの認識などへの応用に限られる欠点を持っている。また、カテゴリ分類機能を有していない。更に、学習入力データである学習アトラクタに収束するためには、重み係数に制約があり、多くの学習入力データを記憶することが出来ない欠点を持っている。例えば、２層ニューラルネットワークに於ける記憶できる理論的最大学習入力データ数は、0.12x入力層ユニット数であり、重み係数の記憶量が非常に少ない欠点を持っている。
【００２９】
また、必然的に、入力信号と同一の多くのユニット数からなる出力信号は、記憶する学習入力データ数が少ないことから粗い出力信号形式となっている。この為、比較的小さな雑音劣化した連想入力信号が入力された後、その出力信号を入力端子２にフィードバックし連想ループ処理を繰り返すことにより、アトラクタ収束状態識別処理部２１に於いて学習アトラクタ以外の正しく想起されていないスプリアス・アトラクタ状態に収束する場合が非常に多く発生し、また、大きく雑音劣化した連想入力信号に対しては、アトラクタ収束状態に到達しないアトラクタ発散状態となる場合が非常に多いなどの欠点も有している。
【発明の開示】
【発明が解決しようとする課題】
【００３０】
上記の説明のごとく、従来の自己連想メモリや相互連想メモリに多くの欠点を有している。自己連想ニューラルネットワーク２２では、重み係数が持つ記憶容量が非常に小さく、多くの学習アトラクタを記憶できない。この記憶容量は、理論的に約0.12x入力層ユニット数で与えら、記憶容量を増加するためには、ニューラルネットワークが非常に複雑なものとなる。また、連想ループ処理に於いて、アトラクタに中々収束せず、アトラクタ発散状態になりやすく、然も、アトラクタに収束しても、所望の学習アトラクタではなく、スプリアス・アトラクタになり易いなどの欠点がある。更に、入出力ユニット数が同一で限定された構成であること、及びカテゴリ分類機能を持っておらず、応用が限られる欠点も併せ持っている。
【００３１】
一方、従来の３層ニューラルネットワークによる相互連想メモリでは、粗コード出力型前進３層ニューラルネットワーク２３が用いられることから、多くの学習アトラクタを記憶させる為には、前進３層ニューラルネットワーク２３の出力層ユニット数を非常に大きくしなければならず、前進及び後進３層ニューラルネットワーク規模が非常に大きくなり、当然のことながら演算量が膨大となるとともに、正しい学習も困難となる欠点を持っている。また、同様の構成理由からスプリアス・アトラクタに非常に収束し易い欠点も有している。
更に、スプリアス・アトラクタの検出手段が無い事から、アトラクタ出力信号やアトラクタ収束識別信号を用いた応用処理システムでの誤動作の原因となるなどの欠点も持っている。
【００３２】
本発明の目的は、上記の問題を解決し、従来のニューラルネットワークを用いた自己連想メモリや相互連想メモリなどに比べて、非常に大きな記憶容量を持たせることができると共に、スプリアス・アトラクタに落ち込むことも非常に少なく、アトラクタ発散状態も非常に少ない、然もアトラクタ検出識別機能及び連想入力信号の学習・非学習入力データの識別機能を持った非常に優れた高性能な多層ニューラルネットワークを用いた相互連想記憶装置を提供することにある。
【課題を解決するための手段】
【００３３】
上記の問題点を解決するために、第１の手段として、学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネットワーク手段に、該教師信号に対して該学習入力データを送出することができるよう学習した後進ニューラルネットワーク手段を従属接続し、前進連想入力信号を連想ループ回数の元に制御される入力切替スイッチを介して該前進ニューラルネットワーク手段に一旦入力し（連想ループ回数n=0）、該後進ニューラルネットワーク手段の出力信号を得た後、該後進ニューラルネットワーク手段の出力信号を該前進ニューラルネットワーク手段の入力に前記入力切替スイッチを介してフィードバックし、該前進ニューラルネットワーク手段の出力信号及び該後進ニューラルネットワーク手段の出力信号を順次得る連想ループ処理（連想ループ回数n≧1）を行い、連想ループ回数計数と制御とを行う連想ループ制御処理手段を有する相互連想記憶装置にあって、前記教師信号の全てに対応した分類カテゴリ番号から構成された予め準備された分類カテゴリ番号領域と該前進ニューラルネットワーク手段の出力信号に対応した分類カテゴリ番号との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段とを少なくとも有することを特徴とした相互連想記憶装置を構成する。
【００３４】
第２の手段として、学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネットワーク手段と、該教師信号に対して該学習入力データを送出することができるよう学習した後進ニューラルネットワーク手段とを用い、該後進ニューラルネットワーク手段に該前進ニューラルネットワーク手段を従属接続し、連想ループ回数計数と制御とを行う連想ループ制御処理手段を有する相互連想記憶装置にあって、後進連想入力信号を入力切替スイッチを介して該後進ニューラルネットワーク手段に一旦入力（連想ループ回数n=0）し、該前進ニューラルネットワーク手段の出力信号を得た後、該前進ニューラルネットワーク手段の出力信号を該後進ニューラルネットワーク手段の入力に前記入力切替スイッチを介してフィードバックし、該後進ニューラルネットワーク手段の出力信号及び該前進ニューラルネットワーク手段の出力信号を順次得る連想ループ処理（連想ループ回数n≧1）を行い、前記教師信号の全てに対応した分類カテゴリ番号から構成された予め準備された分類カテゴリ番号領域と該前進ニューラルネットワーク手段の出力信号に対応した分類カテゴリ番号との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段とを少なくとも有することを特徴とした相互連想記憶装置を構成する。
【００３５】
第３の手段として、学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネトワーク手段に、該教師信号に対して該学習入力データを送出することができるよう学習させた後進ニューラルネット手段を従属接続し、前進連想入力信号を入力切替スイッチを介して該前進ニューラルネットワーク手段に一旦入力（連想ループ回数n=0）し、該後進ニューラルネットワーク手段の出力信号を得た後、該後進ニューラルネットワークの出力信号を該前進ニューラルネットワーク手段の入力に前記入力切替スイッチを介してフィードバックし、該前進ニューラルネットワーク手段の出力信号及び該後進ニューラルネットワーク手段の出力信号を順次得る連想ループ処理（連想ループ回数n≧1）を行い、連想ループ回数計数と制御とを行う連想ループ制御処理手段を有する相互連想記憶装置にあって、複数個の並列接続された、前記分類カテゴリに対する前記教師信号とは異なる割り当て配置を持った夫々の並列接続用教師信号を学習した多層ニューラルネットワークと、該多層ニューラルネットワークからの各出力信号を前記教師信号の基本となる出力コード体系の出力信号に逆変換する出力逆変換処理手段と、該出力逆変換処理手段の出力信号から一つの出力信号を選択送出する出力複合手段とから少なくとも構成され、前記学習入力データに対して前記教師信号を送出することができる学習させた第１の前進並列複合ニューラルネットワーク手段を用いて、前記前進ニューラルネットワークニューラルネットワーク手段を少なくとも構成し、前記教師信号の全てに対応した分類カテゴリ番号から構成された予め準備された分類カテゴリ番号領域と該第１の前進並列複合ニューラルネットワーク手段の出力信号に対応した分類カテゴリ番号との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段とを少なくとも有することを特徴とした相互連想記憶装置を構成する。
【００３６】
第４の手段として、学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネトワーク手段と、該教師信号に対して該学習入力データを送出することができるよう学習させた後進ニューラルネット手段とを用い、該後進ニューラルネットワークに該前進ニューラルネットワークを従属接続し、連想ループ回数計数と制御とを行う連想ループ制御処理手段を有する相互連想記憶装置にあって、複数個の並列接続された、前記分類カテゴリに対する前記教師信号とは異なる割り当て配置を持った夫々の並列接続用教師信号を学習した多層ニューラルネットワークと、該多層ニューラルネットワークからの各出力信号を前記教師信号の基本となる出力コード体系の出力信号に逆変換する出力逆変換処理手段と、該出力逆変換処理手段の出力信号から一つの出力信号を選択送出する出力複合手段とから少なくとも構成され、前記学習入力データに対して前記教師信号を送出することができる学習済み第１の前進並列複合ニューラルネットワーク手段を用いて、前記前進ニューラルネットワーク手段を少なくとも構成し、後進連想入力信号を入力切替スイッチを介して該後進ニューラルネットワーク手段に一旦入力（連想ループ回数n=0）し、該第１の前進並列複合ニューラルネットワーク手段の出力信号を得た後、該第１の前進並列複合ニューラルネットワーク手段の出力信号を該後進ニューラルネットワーク手段の入力に前記入力切替スイッチを介してフィードバックし、該後進ニューラルネットワーク手段の出力信号及び該第１の前進並列複合ニューラルネットワーク手段の出力信号を順次得る連想ループ処理（連想ループ回数n≧1）を行い、前記教師信号の全てに対応した分類カテゴリ番号から構成された予め準備された分類カテゴリ番号領域と該第１の前進並列複合ニューラルネットワーク手段の出力信号に対応した分類カテゴリ番号との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段とを少なくとも有することを特徴とした相互連想記憶装置を構成する。
【００３７】
第５の手段として、学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネトワーク手段に、該教師信号に対して該学習入力データを送出することができるよう学習させた後進ニューラルネット手段を従属接続し、前進連想入力信号を入力切替スイッチを介して該前進ニューラルネットワーク手段に一旦入力（連想ループ回数n=0）し、該後進ニューラルネットワーク手段の出力信号を得た後、該後進ニューラルネットワークの出力信号を該前進ニューラルネットワーク手段の入力に前記入力切替スイッチを介してフィードバックし、該前進ニューラルネットワーク手段の出力信号及び該後進ニューラルネットワーク手段の出力信号を順次得る連想ループ処理（連想ループ回数n≧1）を行い、連想ループ回数計数と制御とを行う連想ループ制御処理手段を有する相互連想記憶装置にあって、前記学習入力データを夫々異なる並列用学習入力データに変換する入力変換処理手段と、複数個の並列接続された、該並列用学習入力データ及び前記教師信号とを学習した多層ニューラルネットワークと、該多層ニューラルネットワークの出力信号から一つの出力信号を選択送出する出力複合手段とから少なくとも構成され、前記学習入力データに対して前記教師信号を送出することができる学習させた第２の前進並列複合ニューラルネットワーク手段を用いて、前記前進ニューラルネットワーク手段を少なくとも構成し、前記教師信号の全てに対応した分類カテゴリ番号から構成された予め準備された分類カテゴリ番号領域と該第２の前進並列複合ニューラルネットワーク手段の出力信号に対応した分類カテゴリ番号との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段とを少なくとも有することを特徴とした相互連想記憶装置を構成する。
【００３８】
第６の手段として、学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネトワーク手段と、該教師信号に対して該学習入力データを送出することができるよう学習させた後進ニューラルネット手段とを用い、該後進ニューラルネットワークに該前進ニューラルネットワークを従属接続し、連想ループ回数計数と制御とを行う連想ループ制御処理手段を有する相互連想記憶装置にあって、前記学習入力データを夫々異なる並列用学習入力データに変換する入力変換処理手段と、複数個の並列接続された、該並列用学習入力データ及び前記教師信号とを学習した多層ニューラルネットワークと、該多層ニューラルネットワークの出力信号から一つの出力信号を選択送出する出力複合手段とから少なくとも構成され、前記学習入力データに対して前記教師信号を送出することができる学習済み第２の前進並列複合ニューラルネットワーク手段を用いて、前記前進ニューラルネットワーク手段を少なくとも構成し、後進連想入力信号を入力切替スイッチを介して該後進ニューラルネットワーク手段に一旦入力（連想ループ回数n=0）し、該第２の前進並列複合ニューラルネットワーク手段の出力信号を得た後、該第２の前進並列複合ニューラルネットワーク手段の出力信号を該後進ニューラルネットワーク手段の入力に前記入力切替スイッチを介してフィードバックし、該後進ニューラルネットワーク手段の出力信号及び該第２の前進並列複合ニューラルネットワーク手段の出力信号を順次得る連想ループ処理（連想ループ回数n≧1）を行い、前記教師信号の全てに対応した分類カテゴリ番号から構成された予め準備された分類カテゴリ番号領域と該第２の前進並列複合ニューラルネットワーク手段の出力信号に対応した分類カテゴリ番号との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別手段とを少なくとも有することを特徴とした相互連想記憶装置を構成する。
【００３９】
第７の手段として、第１、第３及び第５の手段の何れかの前記相互連想記憶装置にあって、連続した連想ループ処理を介して、得られた前記前進ニューラルネットワーク手段の２入力信号間及び対応した２出力信号間、前記後進ニューラルネットワーク手段の２出力信号間の夫々の一致状態を基に、アトラクタ収束状態を識別するアトラクタ収束状態識別手段を有することを特徴とした相互連想記憶装置を構成する。
【００４０】
第８の手段として、第２、４及び第６の手段の前記相互連想記憶装置にあって、連続した連想ループ処理を介して、得られた前記後進ニューラルネットワーク手段の２入力信号間及び対応した２出力信号間、前記前進ニューラルネットワーク手段の２出力信号間の夫々の一致状態を基に、アトラクタ収束状態を識別するアトラクタ収束状態識別手段を有することを特徴とした相互連想記憶装置を構成する。
【００４１】
第９の手段として、第７の手段の前記アトラクタ収束状態識別手段にあって、前記前進連想入力信号を前記前進ニューラルネットワーク手段に入力し、対応した出力信号及び前記後進ニューラルネットワーク手段の出力信号を夫々得る連想ループ回数n=0の連想ループ処理と、その後該後進ニューラルネットワーク手段の該出力信号を前記入力切替スイッチを介してフィードバックして該前進ニューラルネットワーク手段に入力し、対応した出力信号及び該後進ニューラルネットワーク手段の出力信号を夫々得る連想ループ回数n=1の連想ループ処理とを介して、得られた前記前進ニューラルネットワーク手段の２入力信号間の一致状態と、前記学習内外カテゴリ識別手段の学習内外カテゴリ識別信号とにより、前記前進ニューラルネットワーク手段に入力された前記前進連想入力信号の学習・非学習入力データ識別することを特徴とした相互連想記憶装置を構成する。
【００４２】
第１０の手段として、第８の手段のアトラクタ収束状態識別手段にあって、前記後進連想入力信号を前記後進ニューラルネットワーク手段に入力し、対応した出力信号及び前記前進ニューラルネットワーク手段の出力信号を夫々得る連想ループ回数n=0の連想ループ処理と、該前進ニューラルネットワーク手段の該出力信号を入力切替スイッチを介してフィードバックして該後進ニューラルネットワーク手段に入力し、対応した出力信号及び該前進ニューラルネットワーク手段の出力信号を夫々得る連想ループ回数n=1の連想ループ処理とを介して、得られた前記後進ニューラルネットワーク手段の２入力信号間の一致状態と、前記学習内外カテゴリ識別手段の学習内外カテゴリ識別信号とにより、前記後進ニューラルネットワーク手段に入力された前記後進連想入力信号の学習・非学習入力データ識別し、前記の一致状態で、学習内カテゴリ識別状態である場合のみ、学習入力データと識別することを特徴とした相互連想記憶装置を構成する。
【００４３】
第１１の手段として、第７、８、９及び１０の手段の何れかの前記相互連想記憶装置にあって、前記学習内外カテゴリ識別手段からの前記前進ニューラルネットワーク手段の出力信号に対する前記学習内外カテゴリ識別信号と、前記アトラクタ収束状態識別手段からのアトラクタ収束識別信号とを基に、アトラクタ収束状態で、学習外カテゴリ識別状態ならばスプリアス・アトラクタ識別及び学習内カテゴリ識別状態ならば学習・アトラクタ識別を少なくともするアトラクタ識別処理手段とを有することを特徴とした相互連想記憶装置を構成する。
【００４４】
第１２の手段として、第１１の手段の前記アトラクタ識別処理手段にて、前記アトラクタ収束識別信号と前記学習内外カテゴリ識別信号とから、連想ループ回数n=1の時、アトラクタ収束状態で、学習内カテゴリ識別状態あれば、学習アトラクタ識別、学習外カテゴリ識別状態であれば、One-Shotスプリアス・アトラクタ識別、連想ループ回数n＞１の時、アトラクタ収束状態で、学習内カテゴリ識別状態であれば、汎化学習・アトラクタ識別、及び学習外カテゴリ識別状態であれば、汎化スプリアス・アトラクタ識別とすることを特徴とした相互連想記憶装置を構成する。
【００４５】
第１３の手段として、学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネットワーク処理と、該教師信号に対して該学習入力データを送出することができるよう学習した後進ニューラルネットワーク処理とを少なくとも有し、前進連想入力信号を該前進ニューラルネットワーク処理にて処理し出力信号を得え、更に、該出力信号を入力し該後進ニューラルネットワーク処理にて出力信号を得、その後、該出力信号を後進ニューラルネットワーク出力信号入力設定処理を介してフィードバック入力し該前進ニューラルネットワーク処理にて出力信号を得る連想ループ処理を行い、連想ループ回数を計数する連想ループ回数判定処理を有する相互連想記憶処理ソフトウェアにあって、該前進ニューラルネットワーク処理の出力信号に対応した分類カテゴリ番号と該前進ニューラルネットワーク処理の全ての前記教師信号に対応した分類カテゴリ番号から構成された分類カテゴリ番号領域との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別処理と、連続した連想ループ処理を介して、得られた前記前進ニューラルネットワーク処理の２入力信号間及び対応した２出力信号間、前記後進ニューラルネットワーク処理の２出力信号間の夫々の一致状態を基に、アトラクタ収束状態を識別するアトラクタ収束状態識別処理と、前記前進連想入力信号と連想ループ回数n=1に於ける該前進ニューラルネットワーク処理の入力信号との２入力信号間一致状態と、前記学習内外カテゴリ識別処理の学習内外カテゴリ識別信号とにより、前記前進連想入力信号の学習・非学習入力データ識別する前進連想入力信号学習・非学習入力データ識別処理と、前記学習内外カテゴリ識別処理からの前記学習内外カテゴリ識別信号と、前記アトラクタ収束状態識別処理からのアトラクタ収束識別信号とを基に、アトラクタ収束状態で学習外カテゴリ識別状態ならばスプリアス・アトラクタ識別及び学習内カテゴリ識別状態ならば学習・アトラクタ識別を少なくともするアトラクタ識別処理とを少なくとも有することを特徴とした相互連想記憶処理ソフトウェアを構成する。
【００４６】
第１４の手段として、学習入力データに対してその分類カテゴリに対応した学習アトラクタである教師信号を送出することができるよう学習した前進ニューラルネットワーク処理と、該教師信号に対して該学習入力データを送出することができるよう学習した後進ニューラルネットワーク処理と、連想ループ回数を計数する連想ループ回数判定処理を少なくとも有する相互連想記憶処理ソフトウェアにあって、後進連想入力信号を該後進ニューラルネットワーク処理にて処理し出力信号を得え、更に、該出力信号を入力し該前進ニューラルネットワーク処理にて出力信号を得、その後、該出力信号を前進ニューラルネットワーク出力信号入力設定処理を介してフィードバック入力し該後進ニューラルネットワーク処理にて出力信号を得る連想ループ処理を行い、該前進ニューラルネットワーク処理の出力信号に対応した分類カテゴリ番号と該前進ニューラルネットワーク処理の全ての前記教師信号に対応した分類カテゴリ番号から構成された分類カテゴリ番号領域との比較処理により、該出力信号の学習内外カテゴリを識別する学習内外カテゴリ識別処理と、連続した連想ループ処理を介して、得られた前記後進ニューラルネットワーク処理の２入力信号間及び対応した２出力信号間、前記前進ニューラルネットワーク処理の２出力信号間の夫々の一致状態を基に、アトラクタ収束状態を識別するアトラクタ収束状態識別処理と、前記後進連想入力信号と連想ループ回数n=1に於ける該後進ニューラルネットワーク処理の入力信号との２入力信号間一致状態と、前記学習内外カテゴリ識別処理の学習内外カテゴリ識別信号とにより、前記前進連想入力信号の学習・非学習入力データ識別する後進連想入力信号学習・非学習入力データ識別処理と、前記学習内外カテゴリ識別処理からの前記学習内外カテゴリ識別信号と、前記アトラクタ収束状態識別処理からのアトラクタ収束識別信号とを基に、アトラクタ収束状態で学習外カテゴリ識別状態ならばスプリアス・アトラクタ識別及び学習内カテゴリ識別状態ならば学習・アトラクタ識別を少なくともするアトラクタ識別処理とを少なくとも有することを特徴とした相互連想記憶処理ソフトウェアを構成する。
【００４７】
第１５の手段として、第１３の手段及び第１４の手段の前記アトラクタ識別処理にて、前記アトラクタ収束識別信号と前記学習内外カテゴリ識別信号とから、連想ループ回数n=1の時、アトラクタ収束状態で、学習内カテゴリ識別状態あれば、学習・アトラクタ識別、学習外カテゴリ識別状態であれば、One-Shotスプリアス・アトラクタ識別、連想ループ回数n＞１の時、アトラクタ収束状態で、学習内カテゴリ識別状態であれば、汎化学習・アトラクタ識別、及び学習外カテゴリ識別状態であれば、汎化スプリアス・アトラクタ識別とすることを特徴とした相互連想記憶処理ソフトウェアを構成する。
【発明の効果】
【００４８】
本発明の多層ニューラルネットワークによる相互連想メモリは、前進多層ニューラルネットワークの出力信号に於いて、密な２値コードを教師信号として割り当てた分散型出力形式を用い、更に、前進多層ニューラルネットワークの２値出力信号に対する学習内外カテゴリ識別と、連想入力信号の学習・非学習入力データ識別と、連想ループ処理に於いて、前進多層ニューラルネットワークの入力信号間及び出力信号間、更に後進多層ニューラルネットワークの出力信号間での夫々の一致比較によるアトラクタ収束状態識別及びアトラクタ識別とを行っている。
【００４９】
上記説明のごとく本発明の相互連想記憶装置は、分類カテゴリ番号を密に符号化した２値コードを前進多層ニューラルネットワークの２値教師信号として用いることから、連想ループ回数n=1の段階での、前進連想入力信号の学習・アトラクタ識別とOne-Shotスプリアス・アトラクタ識別、及び学習・非学習入力データの識別が瞬時にできる。更に、連想ループ処理に於いて、前進多層ニューラルネットワーク及び後進多層ニューラルネットワークの汎化状態を検出することにより、アトラクタ収束状態での汎化学習・アトラクタ識別や汎化スプリアス・アトラクタ識別もできる。また、非常に少ない連想ループ処理の基でアトラクタ収束状態が達成されるとともに、スプリアス・アトラクタの発生が非常に少ない。更に、非常に多量の学習アトラクタを自由且つ安定に記憶できるなど、従来装置にない、一段と優れた相互連想メモリを実現している。
【００５０】
これらのことから、本発明の大容量の記憶能力を持った優れた相互連想記憶装置は、高速データ検索や、未知入力データによる不正アクセス検出などのセキュリティシステムへの応用や、ネットワーク障害検出システムなどへの応用、更には、多くの雑音により劣化した大容量の画像データなどの認識や劣化除去フィルタリングなどのパターン認識へ幅広く適用できる。
【発明を実施するための最良の形態】
【００５１】
本発明の実施形態の３層ニューラルネットワークを用いた相互連想メモリの１実施例を図１に示す。以下の本発明の多層ニューラルネットワークを用いた相互（ヘテロ）連想メモリの実施形態に於いて、その基本構成の説明を簡単にする為、２値教師信号を用いた３層ニューラルネットワークを例に挙げ、その構成及びその動作について詳細に説明する。尚、本発明は、３層ニューラルネットワークに限るものではなく、4層以上の多層ニューラルネットワークなどの教師信号を用いて学習するニューラルネットワークであればよい。
【００５２】
入力端子１に入力された前進連想入力信号と後進３層ニューラルネットワーク１３からの出力信号の何れかを連想ループ制御処理部１１からの制御信号により切替選択し、入力端子２を介して前進３層ニューラルネットワーク１２へ送出すると共に、アトラクタ収束状態識別処理部１４に送出する入力切り替えスイッチ１０と、入力端子１から前進連想入力信号と入力端子１８からの後進連想入力信号の何れかを連想ループ制御処理部１１からの制御信号により切替選択し、アトラクタ収束状態識別処理部１４に送出する入力切替スイッチ１９と、入力端子２からの入力信号に対して２値出力信号を得、出力端子３から送出し、出力端子９から分類カテゴリ出力信号として送出するとともに、入力切り替えスイッチ１７、学習内外カテゴリ識別処理部１５、アトラクタ収束状態識別処理部１４へ夫々送出する前進３層ニューラルネットワーク１２と、前進３層ニューラルネットワーク１２からの２値出力信号と端子１８からの後進連想入力信号の何れかを連想ループ制御処理部１１の制御により切替選択し、入力端子４を介して前記後進３層ニューラルネットワーク１３に入力する入力切り替えスイッチ１７と、入力端子４の入力信号に対する出力信号を入力切替スイッチ１０及びアトラクタ収束状態識別処理部１４へ夫々送出すると共に、アトラクタ出力信号として出力端子５から送出する後進３層ニューラルネットワーク１３と、前進３層ニューラルネットワーク１２からの２値出力信号が入力され、学習内外カテゴリ識別信号をアトラクタ収束状態識別処理部１４及びアトラクタ識別処理部１６へ夫々送出する学習内外カテゴリ識別処理部１５と、連想ループ制御処理部１１から初期設定され、入力切替スイッチ１９からの連想入力信号と前進３層ニューラルネットワーク１２の入力信号及び出力信号と後進３層ニューラルネットワーク１３の出力信号とが入力され、アトラクタ識別処理部１６及び出力端子８へアトラクタ収束識別信号を送出し、更に学習・非学習入力データ識別信号を出力端子７へ送出し、前記連想ループ制御処理部１１へ連想ループ処理要求信号或いはアトラクタ収束信号を送出するアトラクタ収束状態識別処理部１４と、学習内外カテゴリ識別処理部１５から学習内外カテゴリ識別信号とアトラクタ収束状態識別処理部１４からアトラクタ収束識別信号が入力され、連想ループ制御処理部１１からアトラクタ識別信号送出要求信号或いはアトラクタ発散識別信号送出要求信号が入力され、アトラクタ識別信号を出力端子６へ送出する前記アトラクタ識別処理部１６と、前進連想入力信号が入力端子１から入力される時、或いは後進連想入力信号が入力端子１８から入力される時、前記入力切替スイッチ１０、１７及び１９の切替設定制御を行い、アトラクタ収束状態識別処理部１４の初期設定及びアトラクタ識別処理部１６へアトラクタ識別信号送出要求信号或いはアトラクタ発散識別信号送出要求信号を送出し、更に連想ループ処理の開始及び終了を制御する連想ループ制御処理部１１とから構成される。
【００５３】
以下に、これらの連想ループ処理の動作を説明する。連想ループ処理に先だって、前進３層ニューラルネットワーク１２の学習入力データとしての学習アトラクタと、分類カテゴリに割り当てられた２値教師信号としての２値コードとからなる学習データを用いて前進３層ニューラルネットワーク１２を予め学習させ、更に、前記の前進３層ニューラルネットワーク１２の学習データとは逆配置の入出力関係を持つ学習データを用いて後進３層ニューラルネットワーク１３を学習させ、夫々を設定しておく。ここでは、前進ニューラルネットワーク１２の２値出力信号は、分類カテゴリを表す２値コードの分散型出力形式である。
【００５４】
また、前進３層ニューラルネットワーク１２の分類カテゴリ数（教師信号数）M個の分類カテゴリに割り当てられた２値教師信号に対応した０からM-1の連続した整数の通し番号の分類カテゴリ番号から構成された分類カテゴリ番号領域を設け、この領域の最大値（M-1）を最大分類カテゴリ番号Maxcatgとして、学習内外カテゴリ識別処理部１５に予め設定する。更に、０からM-1のカテゴリ番号に２値教師信号としての分散型２値コードを対応させる。
【００５５】
ここでは、先ず、前進連想入力信号が入力端子１に入力される通常の場合についての動作を説明する。連想ループ制御処理部１１に於いて連想ループ回数ｎ＝０を初期設定し、連想ループ制御信号を、入力切替スイッチ１０、１７、１９の設定及びアトラクタ収束状態識別処理部１４の連想ループ回数記憶及び入出力信号記憶の初期設定の為夫々送出する。端子１に前進連想入力信号X(0)が入力されると、入力切替スイッチ１０は、入力端子１と入力端子２とが接続されるよう、また入力切替スイッチ１７は、常に出力端子３と入力端子４とが接続されるよう、更に入力切替スイッチ１９は、前進連想入力信号X(0)がアトラクタ収束状態識別処理部１６に入力されるよう設定制御され、連想ループ処理が実行される。
入力端子１の雑音を多く含む画像データや一部の情報からなる画像データ、或いは、メモリ高速検索データとしての前進連想入力信号X(0)が入力切替スイッチ１０を介して、学習済み前進ニューラルネットワーク１２に入力され、更にアトラクタ収束状態識別処理部１４へ入力され記憶される。
【００５６】
連想ループ回数n=0の場合に、前進連想入力信号X(0)に対応して、前進３層ニューラルネット１２から２値出力信号Y(0)、更に後進３層ニューラルネット１３から出力信号X(1)が得られる。また、連想ループ回数n（但し、n≧1）の場合には、連想ループ制御処理部１１からの制御信号の基に、入力切替スイッチ１０を介して入力端子２に後進３層ニューラルネットワーク１３の出力信号X(n)が入力され、更に前進３層ニューラルネットワーク１２から出力信号Y(n)、後進３層ニューラルネットワーク１３から出力信号X(n+1)が夫々得られ、これらの比較の為に、アトラクタ収束状態識別処理部１４に夫々入力され記憶される。
【００５７】
学習内外カテゴリ識別処理部１５では、前進３層ニューラルネットワーク１２の２値出力信号Y(n)である分散型出力形式の２値コードから変換された整数値、即ち分類カテゴリ番号IcatgY(n)を得る。これを前記の最大分類カテゴリ番号Maxcatgと比較処理をする。
【００５８】
分類カテゴリ番号IcatgY(n)が予め与えられた前記の最大分類カテゴリ番号Maxcatgより大きい場合には、
即ち、
IcatgY(n)＞Maxcatg      （１）
を満足する場合には、前進３層ニューラルネットワーク１２の２値出力信号Y(n)が学習外カテゴリの２値出力信号であると識別され、学習外カテゴリ識別信号を学習内外カテゴリ識別信号として、アトラクタ収束状態識別処理部１４及びアトラクタ識別処理部１６へ夫々送出する。
【００５９】
一方、最大分類カテゴリ番号Maxcatg以下の場合には、
即ち、
IcatgY(n)≦Maxcatg      （２）
を満たす場合には、前進３層ニューラルネットワーク１２の２値出力信号Y(n)が学習内カテゴリの出力信号と識別され、学習内カテゴリ識別信号を学習内外カテゴリ識別信号として、アトラクタ収束状態識別処理部１４及びアトラクタ識別処理部１６へ夫々送出する。
このように、学習内外カテゴリ識別処理部１５に於いて、２値教師信号とその分類カテゴリ番号間の割り当て規則に従った分類カテゴリ番号を介した演算処理により、学習内外カテゴリ識別が簡単にできる。
【００６０】
連想ループ回数ｎの連想ループ処理では、後進３層ニューラルネットからの出力信号X(n)が入力切替スイッチ１０を介してフィードバックされ、前進３層ニューラルネット１２に入力される。これに対応した前進３層ニューラルネット１２からの２値出力信号Y(n)は、入力端子４を介して後進３層ニューラルネットワーク１３へ、更に学習内外カテゴリ識別処理部１５及びアトラクタ収束状態識別処理部１４にそれぞれ送出される。また、出力端子９へ分類カテゴリ出力信号として出力される。
後進３層ニューラルネットワーク１３は、入力された２値出力信号Y(n)に対する出力信号X(n+1)を出力し、アトラクタ収束状態識別処理部１４及び入力切替スイッチ１０へ夫々送出する。
【００６１】
アトラクタ収束状態識別処理部１４では、表１の如く、これらの前進及び後進３層ニューラルネットワーク１２、１３の記憶された入出力信号を夫々比較し、アトラクタの収束状態識別を行い、One-Shotアトラクタ収束識別信号、アトラクタ収束直前識別信号、アトラクタ未収束識別信号の何れかのアトラクタ収束識別信号を出力端子８から送出すると共にアトラクタ識別処理部１６へ送出する。更に、連想ループ制御処理部１１へアトラクタ未収束状態ならば、連想ループ処理要求信号を、アトラクタ収束状態或いは汎化アトラクタ収束直前状態ならば、アトラクタ収束信号を送出する。また、連想ループ回数n=1の連想ループ処理に於いて、学習内外カテゴリ識別処理部１５からの学習内外カテゴリ識別信号を基に、出力端子７から学習・非学習入力データ識別信号としての学習入力データ識別信号、或いは非学習入力データ識別信号の何れかを送出する。
【００６２】
【表１】
2006053850.tif 000003
【００６３】
アトラクタ識別処理部１６では、アトラクタ収束状態識別処理部１４からアトラクタ収束識別信号及び連想ループ制御処理部１１からアトラクタ識別信号送出要求信号或いはアトラクタ発散識別信号送出要求信号が、また、学習内外カテゴリ識別処理部１５から学習内外カテゴリ識別信号が夫々入力される。これら信号を基に、収束したアトラクタのアトラクタ識別信号として、学習・アトラクタ識別信号、汎化学習・アトラクタ識別信号、One-Shotスプリアス・アトラクタ識別信号、汎化スプリアス・アトラクタ識別信号及びアトラクタ発散識別信号の何れかを出力端子６から送出する。
【００６４】
更に、後進３層ニュウラルネット１３からの２値出力信号が、学習・アトラクタ出力信号、汎化学習・アトラクタ出力信号、One-Shotスプリアス・アトラクタ出力信号、汎化スプリアス・アトラクタ出力信号或いはアトラクタ未収束出力信号の何れかのアトラクタ出力信号として、出力端子５から送出される。
【００６５】
ここで、前進連想入力信号X(0)が学習入力データの場合には、連想ループ回数n=0に於いて、常にそれに対応した２値教師信号である２値出力信号Y(0)が得られ、学習内外カテゴリ識別処理部１５に於いて、式（２）を満足することから、学習内カテゴリと識別される。更に、入力切替スイッチ１０を切替え、連想ループ回数n=1の連想ループ処理を行うと、同様に式（２）を満足し、学習内カテゴリと識別される。
【００６６】
アトラクタ収束状態識別処理部１４では、表１のように、前進及び後進3層ニューラルネットワーク１２、１３の入出力関係が、X(0)=X(1), Y(0)=Y(1), X(1)=X(2)となるOne-Shotアトラクタ収束状態となり、出力端子８からOne-Shotアトラクタ収束識別信号がアトラクタ収束識別信号として送出される。
また、学習内外カテゴリ識別処理部１５でY(1)が学習内カテゴリと識別され、然も前進連想入力信号X(0)=X(1)であることから、前進連想入力信号X(0)が学習入力データであることが明かとなる。この結果、学習入力データ識別信号が学習・非学習入力データ識別信号として出力端子７に送出される。このように、連想ループ回数n=1の時点で、前進連想入力信号X(0)が学習入力データか非学習入力データかの識別が行われる。
【００６７】
更に、アトラクタ識別処理部１６に於いて、連想ループ制御処理部１１からのアトラクタ識別信号送出要求信号のもとに、アトラクタ収束識別信号としてのOne-Shotアトラクタ収束識別信号と学習内外カテゴリ識別信号としての学習内カテゴリ識別信号とからアトラクタの識別が行われ、学習・アトラクタ識別信号をアトラクタ識別信号として出力端子６に送出する。
また、後進３層ニューラルネットワーク１３からの出力信号X(1)である学習・アトラクタ出力信号がアトラクタ出力信号として出力端子５に送出される。
【００６８】
一方、前進連想入力信号X(0)として、前記の学習入力データ以外の非学習入力データである未知入力データが入力された場合、連想ループ回数n=1で、学習内外カテゴリ識別処理部１５でIcatgY(1)が学習外カテゴリと識別されていると、前進連想入力信号X(0)は非学習入力データで、即座に判明する。この時、表１に示すように、X(0)=X(1)、Y(0)=Y(1)、X(1)=X(2)の関係を満たすOne-Shotアトラクタ収束状態では、One-Shotスプリアス・アトラクタである。
【００６９】
アトラクタ収束状態識別処理部１４では、連想ループ回数n+1(但し、n≧1)に於いて、X(n)=X(n+1)、Y(n)=Y(n+1)、X(n+1)=X(n+2)の関係を満たす汎化アトラクタ収束状態になる場合には，その直前の連想ループ回数nに於いて必ず前進或いは後進３層ニューラルネットワーク１２、１３の何れかに於いて汎化状態が発生し、前進３層ニューラルネットワーク１２が汎化状態の場合には、X(n-1)≠X(n)、Y(n-1)=Y(n)、X(n)=X(n+1)の関係が満たされる。一方、後進３層ニューラルネットワーク１３が汎化状態の場合には、X(n-1)≠X(n)、Y(n-1)≠Y(n)、X(n)=X(n+1)の関係が満たされる。何れの場合も、汎化アトラクタ収束直前状態となり、夫々アトラクタ収束直前識別信号が、出力端子８から送出される。
【００７０】
例えば、連想ループ回数n=1で、アトラクタ収束状態識別処理部１４で、前進３層ニューラルネットワーク１２の汎化状態によって、X(0)≠X(1)、Y(0)=Y(1)、X(1)=X(2)の関係となる汎化アトラクタ収束直前状態（n=2で汎化アトラクタ収束状態となる）が検出されると、出力端子８からアトラクタ収束直前識別信号が送出される。アトラクタ識別処理部１６では、この時、前進３層ニューラルネットワーク１２の出力信号Y(1)が学習内カテゴリと識別されると、汎化学習・アトラクタであることが判明し、汎化学習・アトラクタ識別信号が出力端子６から送出される。
一方、前進３層ニューラルネットワーク１２の出力信号Y(1)が学習外カテゴリと識別されると、アトラクタ識別処理部１６では、汎化スプリアス・アトラクタであることが判明し、汎化スプリアス・アトラクタ識別信号が出力端子６から送出される。尚、何れの場合も、前進連想入力信号は、非学習入力データである。
【００７１】
連想ループ制御処理部１１では、アトラクタ収束状態識別処理部１４からアトラクタ収束信号が入力されると、連想ループ処理を終了し、アトラクタ識別処理部１６に対して、アトラクタ識別信号送出要求信号を送出する。また、アトラクタ識別処理部１６では、２値出力信号Y(n)が学習内カテゴリであれば、汎化学習・アトラクタに収束しており、一方、学習外カテゴリであると汎化スプリアス・アトラクタに収束していることが判明し、夫々汎化学習・アトラクタ識別信号及び汎化スプリアス・アトラクタ識別信号が出力端子６から夫々送出される。  
【００７２】
また、連想ループ回数ｎが指定された連想ループ最大許容回数N以下で汎化アトラクタ収束直前状態にならない、即ち、X(n-1)≠X(n)、Y(n-1)≠Y(n)、X(n)≠X(n+1)の関係の場合には、アトラクタ未収束状態で、不想起状態であることが判明する。アトラクタ収束状態識別処理部１４から連想ループ制御処理部１１へ連想ループ処理要求信号を送出とともに、アトラクタ未収束識別信号を出力端子８及びアトラクタ識別処理部１６へ送出する。
連想ループ制御処理部１１では、連想ループ回数ｎがN未満であると、連想ループ回数nをn+1とし、連想ループ処理を引き続き実施する。
【００７３】
この時、連想ループ制御処理部１１に於いて連想ループ回数ｎ＞Ｎの場合には，アトラクタ識別処理部１６に対して、アトラクタ発散識別信号送出要求信号を送出し、連想ループ処理を終了する。アトラクタ識別処理部１６では、連想ループ制御処理部１１からのアトラクタ発散識別信号送出要求信号により、出力端子６を介してアトラクタ発散識別信号が送出される。
このことは、前進連想入力信号X(0)に対して、指定された連想ループ回数nがN以下でアトラクタ収束状態が得られず、不想起状態になったことを意味する。
新たな前進連想入力信号X(0)が入力端子１に入力されると、再び連想ループ回数n=0とし、上記の一連の連想ループ処理を実施する。
【００７４】
ここで、アトラクタ収束状態識別処理部１４に於いて、表１に於ける連想ループ回数ｎでのアトラクタ収束状態と、前進３層ニューラルネットワーク１２の入力信号のX(n-1)とX(n)間、出力信号のY(n-1)とY(n)間、及び後進３層ニューラルネットワーク１３の出力信号のX(n)とX(n+1)間との関係を以下にまとめる。
【００７５】
連想ループ回数n(但し、N≧n≧1)の連想ループ処理に於いて、
X(n-1)=X(n)、Y(n-1)=Y(n)、X(n)=X(n+1)    （３）
の状態であれば、アトラクタ収束状態である。
表１に示すように、特に、n=1で式（３）が成立した場合には、One-Shotアトラクタ収束状態である。前進連想入力信号X(0)=X(1)で、然もY(1)が学習内カテゴリであるならば、学習入力データであることが判明し、学習・アトラクタに収束している。一方、学習外カテゴリならば、前進連想入力信号X(0)は非学習入力データであり、One-Shotスプリアス・アトラクタと呼ぶスプリアス・アトラクタに収束している。
N≠1の場合には、直前に汎化状態を経て、アトラクタに収束する汎化アトラクタ収束状態となる。
【００７６】
X(n-1)≠X(n)、Y(n-1)=Y(n)、X(n)=X(n+1)    （４）
の状態であれば、前進３層ニューラルネットワーク１２が汎化状態である。
また、
X(n-1)≠X(n)、Y(n-1)≠Y(n)、X(n)=X(n+1)  （５）
の状態であれば、後進３層ニューラルネットワーク１３が汎化状態である。
X(n-1)≠X(n)、Y(n-1)≠Y(n)、X(n)≠X(n+1)  （６）
の状態であれば、アトラクタ未収束状態である。
【００７７】
本発明の実施形態に於ける図１の学習内外カテゴリ識別処理部１５に於いて、２値教師信号である密な２値コード全てを連続した通し番号に整数値変換した、即ち、０から最大分類カテゴリ番号Maxcatg（=M-１）の通し番号から構成された分類カテゴリ番号領域を設け、前進３層ニューラルネットワーク１２の２値出力信号Y(n)を分類カテゴリ番号に変換し比較処理をする学習内外カテゴリ識別方法について説明した。ここで、上記の分類カテゴリ番号領域を表すために必要となる最小ビット数以上の２値コードの分散型出力形式を持った２値出力信号を用いても良い。
【００７８】
即ち、分散型出力形式の２値コードを表すためのビット数をQとすると、
Q ≧ Int[log2M]             （７）
となるQを用いても良い。ここで、Int[x]は、xの小数切り上げ整数値を示す。
但し、Qとして、式（７）を満たす最小の整数値を用いることにより、学習外カテゴリを殆ど発生することはなく、スプリアス・アトラクタの発生を最小限に抑えることができる。特に、２値教師信号数Mが２のべき乗（M=2**Q）である場合には、所要最小ビット数Qを用いることにより、学習外カテゴリを発生することはなく、常に学習アトラクタか汎化学習アトラクタに収束し、One-Shot及び汎化スプリアス・アトラクタを発生しない、非常に優れた特性が実現される。
【００７９】
また、学習内外カテゴリ識別処理部１５に於ける２値教師信号に対応した分類カテゴリ番号が０から最大分類カテゴリ番号Maxcatgから構成された連続した分類カテゴリ番号領域の領域内外識別の他に、０以外の最小分類カテゴリ番号から最大分類カテゴリ番号の分類カテゴリ数ほどの連続した通し番号から構成された連続した分類カテゴリ番号領域に対して領域内外識別を行ってもよい。
更に、上記の連続した通し番号から構成された分類カテゴリ番号領域でなく、連続した整数番号の内、指定された不連続な整数値だけから構成された不連続な分類カテゴリ番号領域を設け、学習内外カテゴリ識別を行う為に、それらの２値コードを２値教師信号として前進３層ニューラルネットワーク１２を、また、それらを学習入力データとして後進３層ニューラルネットワーク１３を夫々学習させてもよい。
【００８０】
例えば、必要な２値教師信号数Mほど、指定個数毎置きに（例えば、２個毎置きの場合では、０、３、６、９、・・）分類カテゴリ番号を準備した不連続な分類カテゴリ番号領域（これらの分類カテゴリ番号以外は全て学習外カテゴリである。）を設け、この分類カテゴリ番号領域の分類カテゴリ番号を２値コード変換して２値教師信号に割り当ててもよい。
即ち、２値教師信号に対して、特定の整数値範囲毎、或いは特定の整数値毎などからなる規則的な分類カテゴリ番号領域の分類カテゴリ番号に対して２値コードを割り当て、これらを２値教師信号としてもよい。
【００８１】
また、従来方式で用いられている粗コード出力型前進３層ニューラルネットワーク２３に於ける、何れか１つの出力層ユニットのみ１となり、他は全て０であるOne out of K(a winner takes all)の出力形式を前進３層ニューラルネットワーク１２に於いて用いても良い。しかしながら、この場合には、前進及び後進ニューラルネットワーク１２、１３の規模が非常に大きくなり、然もスプリアス・アトラクタが非常に多く発生し、相互連想メモリとしての性能は必ずしも高くない。
【００８２】
One out of Kの出力形式の２値教師信号を用いる場合には、学習内外カテゴリ識別処理部１５に於いて、２値出力信号から変換された分類カテゴリ番号のModulo２演算処理を最大K回ほどくり返し、０でない結果が一度でも得られたならば、その分類カテゴリ番号を学習外カテゴリと識別し、全て０ならば学習内カテゴリとする学習内外カテゴリ識別方法を用いれば良い。或いは、２値出力信号Y(n)の１の出力層ユニット数が複数個存在している場合には、学習外カテゴリ、１個の場合には学習内カテゴリと識別する学習内外カテゴリ識別方法を用いてもよい。即ち、One out of K出力形式以外の２値出力信号の場合には、学習外カテゴリ、この出力形式に準拠している２値出力信号の場合には学習内カテゴリと識別してもよい。
尚、収束状態のアトラクタを、学習アトラクタと汎化学習アトラクタ、One-Shotスプリアス・アトラクタと汎化スプリアスアトラクタと夫々識別したが、これらを簡単に、学習アトラクタとスプリアス・アトラクタに識別してもよい。
【００８３】
本発明の実施形態に於ける上記の説明は、入力端子１の前進連想入力信号X(0)を入力切替スイッチ１０を介して前進３層ニューラルネットワーク１２に入力した場合のヘテロ連想メモリの動作に関するものである。この他に、図１の入力端子１８の後進連想入力信号Y(0)を入力切替スイッチ１７を介して後進３層ニューラルネットワーク１３に入力するヘテロ連想メモリの動作について簡単に説明する。
【００８４】
後進連想入力信号Y(0)は、前進３層ニューラルネットワーク１２の出力信号と同一の形式を持った分類カテゴリを示す２値コードである。曖昧な分類カテゴリを示す後進連想入力信号Y(0)に対して、連想ループ処理を介して正しい分類カテゴリとその学習アトラクタを出力端子９及び５から夫々取り出す場合や、分類カテゴリの教師信号に対応した後進連想入力信号Y(0)に対して、学習アトラクタ、即ち、学習入力データを読み出す場合に用いる。
【００８５】
後進連想入力信号Y(0)を入力し、連想ループ処理を行うには、入力切替スイッチ１０を後進３層ニュ−ラルネットワーク１３の出力信号が入力端子２に常に入力されるよう設定する。  また、入力切替スイッチ１９は、表２に示すアトラクタ収束状態識別の為の条件を設定する。更に、入力切替スイッチ１７は、連想ループ回数n=0に於いて、入力端子１８からの後進連想入力信号Y(0)を入力端子４を介して後進３層ニューラルネットワーク１３に入力するよう設定する。その後の連想ループ回数ｎ>0では、出力端子３と入力端子４とを接続し、前進３層ニューラルネットワーク１２の出力信号が入力されるよう設定する。
アトラクタ収束状態識別処理部１４に於いては、前進連想入力信号の場合の表１と異なり、表２に示すように、前進及び後進３層ニューラルネットワーク１２，１３の入出力関係からアトラクタ収束状態識別をする。他の動作は、前進連想入力信号X(0)の連想ループ処理の場合と同様である。
【００８６】
【表２】
2006053850.tif 000004
【００８７】
次に、本発明の実施形態に於ける図１に示す相互連想記憶処理に関して、前進連想入力信号X(0)が与えられた時の連想処理フローを図６に示す。尚、ここでは、前進３層ニューラルネットワーク及び後進３層ニューラルネットワークは、既に前記と同様夫々学習が完了していることを前提として処理フローを説明する。
【００８８】
前進連想初期設定処理１００は、学習内外カテゴリ識別処理１５０に於ける最大分類カテゴリ番号Maxcatg及び連想ループ回数判定処理１８０に於ける連想ループ処理最大許容回数N、及びアトラクタ収束状態識別処理１６０への表１に示すアトラクア収束状態識別の条件設定など、初期パラメータ設定を行う。
連想ループ処理初期設定処理１１０は、連想ループ回数nの初期設定として、n=0の設定とアトラクタ収束状態識別処理１６０の内部状態の初期設定を行う。
前進連想入力信号入力設定処理１２０は、前進連想入力信号を学習済み前進３層ニューラルネットワーク処理１３０へ入力設定を行う。
【００８９】
前進３層ニューラルネットワーク処理１３０は、連想ループ回数n=0で、入力された前進連想入力信号X(0)、或いは、連想ループ回数nの場合には、後進３層ニューラルネットワーク出力信号入力設定処理２００を介して入力設定された出力信号X(n)を処理し、２値出力信号Y(0)、Y(n)を夫々送出する。
学習内外カテゴリ識別処理１５０は、連想ループ回数n=0の場合には、前進ニューラルネットワークの２値出力信号Y(0)、或いは連想ループ回数nの場合には、２値出力信号Y(n)を分類カテゴリ番号IcatgY(0)、或いはIcatgY(n)に夫々変換する。
【００９０】
２値教師信号を変換して得られた連続した分類カテゴリ番号の内、予め与えられた最大分類カテゴリ番号Maxcatgと比較処理し、式（２）が成り立つならば、IcatgY(0)、IcatgY(n)は、それぞれ何れかの教師信号の分類カテゴリ番号と一致しており、学習内カテゴリとみなし、式（１）が成り立つならば、何れの教師信号の分類カテゴリ番号とも不一致であり、割り当てされていない分類カテゴリ番号であることから、学習外カテゴリと夫々識別し、学習内外カテゴリ識別信号を送出する。
【００９１】
後進３層ニューラルネットワーク処理１４０では、連想ループ回数n=0の場合には前進３層ニューラルネットワーク処理１３０の２値出力信号Y(0)、或いは連想ループ回数ｎの場合にはY(n)を学習済み後進３層ニューラルネットワークに各々入力し、その出力信号X(1)、X(n+1)を夫々得る。
【００９２】
アトラクタ収束状態識別処理１６０では、連想ループ回数n=0の場合には、アトラクタ収束状態識別を行わず、アトラクタ未収束状態とし、そのまま、アトラクタ収束状態判定処理１７０に進む。連想ループ回数n≠0では、連想ループ回数n-1及びnの場合の連続した２回の連想ループ処理での前進３層ニューラルネットワークへ夫々入力された入力信号X(n-1)とX(n)間、夫々の２値出力信号Y(n-1)とY(n)間、及びこれら２値出力信号Y(n-1)及びY(n)を夫々入力信号として処理した後進ニューラルネットワークの出力信号X(n)とX(n+1)間で夫々比較し、連想ループ回数n=1の時に式（３）が成立するとOne-Shotアトラクタ収束状態、連想ループ回数n≧1の場合、式（４）或いは式（５）の何れかが成立すると汎化アトラクタ収束直前状態と識別する。
【００９３】
式（６）が成立すると、アトラクタ未収束状態と識別し、アトラクタ収束状態判定処理１７０を行う。
【００９４】
アトラクタ収束状態判定処理１７０では、アトラクタ未収束状態であれば、連想ループ回数判定処理１８０に進む。それ以外のアトラクタ収束状態であれば、連想ループ回数n=1判定処理２１０へ進む。
連想ループ回数n=1判定処理２１０にて、連想ループ回数n=1の状態を検出すると、前進連想入力信号学習・非学習入力データ識別処理２２０に於いて、X(0)=X(1)、且つ学習内外カテゴリ識別処理１５０にて、Y(0)が学習内カテゴリと識別され、One-Shotアトラクタ収束状態であると、前進連想入力信号X(0)を学習入力データ、それ以外の場合には、非学習入力データとして識別する。連想ループ回数n=1で、前進連想入力信号X(0)の学習・非学習入力データ識別が行われる。連想ループ回数n≠1の場合には、アトラクタ識別処理２３０を直接行う。
【００９５】
連想ループ回数判定処理１８０では、連想ループ回数nが連想ループ最大許容回数N未満であれば、n←n+1設定処理１９０にて連想ループ回数nを１増加させる。
後進３層ニューラルネットワーク出力信号入力設定処理２００では、X(n+1)を前進ニューラルネットワークの入力として設定する。その後、前回の連想ループ回数ｎの場合と同様に、前進３層ニューラルネットワーク処理１３０、学習内外カテゴリ識別処理１５０、後進３層ニューラルネットワーク処理１４０、アトラクタ収束状態識別処理１６０及びアトラクタ収束状態判定処理１７０を実施する。
【００９６】
一方、連想ループ回数判定処理１８０にて、アトラクタ収束状態判定処理１７０にてアトラクタ収束状態或いは汎化アトラクタ収束直前状態が得られず、連想ループ回数n≧Nならば、指定された回数Nの連想ループ処理に於いて、アトラクタに収束せず、前進連想入力信号X(0)がアトラクタ発散状態で不想起となったとし、連想ループ処理を中止しアトラクタ識別処理２３０を行う。
【００９７】
アトラクタ識別処理２３０では、連想ループ回数判定処理１８０で、n≧Nの場合には、アトラクタ未収束状態であればアトラクタ発散と識別する。また、One-Shotアトラクタ収束識別状態で、然も学習内外カテゴリ識別処理１５０で学習内カテゴリと識別された場合には、学習・アトラクタと識別する。学習外カテゴリと識別された場合には、One-Shotスプリアス・アトラクタと識別する。汎化アトラクタ収束直前状態であれば、学習内外カテゴリ識別処理１５０で学習内カテゴリと識別された場合には、汎化学習・アトラクタ、学習外カテゴリと識別された場合には、汎化スプリアス・アトラクタと夫々識別する。
【００９８】
最終前進連想入力信号判定処理２４０では、連想ループ処理を行った前進連想入力信号が最終前進連想入力信号であるかの判定を行う。最終前進連想入力信号であれば、一連の連想ループ処理を完了する。でなければ、連想ループ処理初期設定処理１１０を行い、新たな前進連想入力信号に対して連想ループ処理を引き続き行う。
【００９９】
上記の連想処理フローの説明は、前進連想入力信号X(0)が与えられた場合のものである。ここで、後進連想入力信号Y(0)が与えられた場合の連想処理フローを図７に示す。後進連想入力信号Y(0)の連想ループ処理の為には、前進連想初期設定処理３００に於いて、学習内外カテゴリ識別処理１５０に於ける最大分類カテゴリ番号Maxcatg及び連想ループ回数判定処理１８０に於ける連想ループ処理最大許容回数N、及びアトラクタ収束状態識別処理３２０への表２に示すアトラクア収束状態識別の条件設定など、初期パラメータ設定を行う。
尚、ここで、図７の処理番号が図６の処理番号と同一番号の場合には、図６と同様の処理であり、説明は省略する。
【０１００】
後進連想入力信号入力設定処理３１０にて、後進連想入力信号Y(0)を後進３層ニューラルネットワーク処理１４０に入力設定する。その後、処理１３０及び１４０を経て、アトラクタ収束状態識別処理３２０を実施する。この処理では、表２に従って、アトラクタ収束状態の識別を行う。但し、連想ループ回数n=0では、識別を行わず、アトラクタ未収束状態として、アトラクタ収束状態判定処理１７０を実施する。
アトラクタ未収束状態の場合に、連想ループ回数N≧n≧1であると、前進３層ニューラルネットワーク出力信号入力設定処理３３０に於いて、前進３層ニューラルネットワークの出力信号を後進３層ニューラルネットワークに入力設定する。
【０１０１】
後進連想入力信号Y(0)学習・非学習入力データ識別処理３４０では、アトラクタ収束状態識別処理３２０に於いて、連想ループ回数n=1の時、アトラクタ収束識別状態がOne-Shotアトラクタ収束状態であり、学習内外カテゴリ識別処理１５０での前進３層ニューラルネットワークの出力信号Y(1)が学習内カテゴリと識別されていると、後進連想入力信号Y(0)が学習を行った分類カテゴリを示す教師信号となることから、学習入力データと識別される。
【０１０２】
一方、学習外カテゴリと識別されている場合には、後進連想入力信号Y(0)は非学習入力データと識別する。表２に従って、アトラクタ識別処理２３０を行った後、最終後進連想入力信号判定処理３５０にて、後進連想入力信号Y(0)が最終後進連想入力信号Y(0)でなければ、新たな後進連想入力信号Y(0)を設定して、連想ループ処理を繰り返す。最終後進連想入力信号Y(0)であれば、連想ループ処理を完了する。
【０１０３】
尚、本発明の実施形態では、汎化状態が発生した時点で、アトラクタ収束状態識別の為に、式（４）或いは式（５）により汎化アトラクタ収束直前状態を識別することを前提とし説明したが、この前進或いは後進３層ニューラルネットワークの汎化状態の信号を出力端子に送出してもよい。更に、表１及び表２に示すように、式（４）或いは式（５）による、アトラクタ収束状態識別としてのアトラクタ収束直前識別信号を用いる代わりに、連想ループ回数n≠1で、式（３）が成り立つ場合（連想ループ処理が汎化アトラクタ収束直前状態より１回ほど増える）に、汎化アトラクタ収束状態として、汎化アトラクタ収束識別信号を用いても良い。但し、この場合には、前進及び後進３層ニューラルネットワークのどちらで汎化状態が発生しているか不明となる。
【０１０４】
また、前進３層ニューラルネットワーク１２や前進３層ニューラルネットワーク処理１３０に於いて、図４或いは図５に示す、汎化特性に非常に優れた並列複合ニューラルネットワークを代わりに用いても良い。前進並列複合ニューラルネットワーク４０では、例えば、３並列接続された３層ニューラルネットワーク４１、４２、４３は、学習入力データに対応した同一の分類カテゴリ割り当て配置を表す基本となる出力コード体系の２値コードに対して、夫々異なった出力コード体系に変換された２値コードの並列用教師信号割り当てを夫々用いて、学習を行った３層ニューラルネットワークである。
【０１０５】
出力逆変換処理部４４、４５、４６では、端子２の入力信号X(n)に対するこれらの並列ニューラルネットワーク４１、４２、４３からの３個の２値出力信号が夫々入力され、同一分類カテゴリ割り当て配置を表す元のコード体系の２値コードに逆変換され送出される。出力複合処理部４７では、元の２値コード体系に逆変換され得られたこれらの３個の２値コードに対して、例えば、出力複合方式として、多数決選択(Majority Voting)を用いて、最終的な１個の２値コードを選択し端子３から２値出力信号Y(n)として送出する。或いは、出力複合方式として、学習入力データに対する中間層２値出力信号を基準に入力信号に対する中間層２値出力とのハミング距離を元に、最終出力選択を行なっても良い。
【０１０６】
図４の並列複合ニューラルネットワーク４０では、並列接続の３層ニューラルネットワークに対して同一の分類カテゴリ割り当て配置に対して異なる２値コードの並列用教師信号を用いて学習させたが、図５の並列複合ニューラルネットワーク５０では、例えば、３並列接続された３層ニューラルネットワーク４１、４２、４３は、分類カテゴリ割り当て配置を表す２値コードの同一の教師信号に対して、元の学習入力データを、例えば、ハッシュ関数などによる入力変換処理部５１、５２、５３を介して変換した夫々異なる並列用学習入力データを対応させ、学習を行っている。
【０１０７】
これらの複合並列複合ニューラルネットワーク４０、５０は、単一の３層ニューラルネットワークより格段に優れた汎化能力を持っていることから、少なくとも前進３層ニューラルネットワーク１２の代わりに用いることにより、アトラクタ吸引力は格段に改善され、学習入力データから大きく距離が離れた前進連想入力信号に対してもスプリアス・アトラクタやアトラクタ発散状態は殆ど発生しない。複雑にはなるが、更なる改善の為に、後進３層ニューラルネットワーク１３に対しても代わりに同様の構造を持つ後進並列複合ニューラルネットワークを用いてもよい。
【０１０８】
上記の実施形態の相互連想メモリでは、記憶量に対応した前進３層ニューラルネットワーク１２の学習入力データである学習アトラクタの数が非常に多い場合、即ち相互連想記憶の所要記憶量が非常に大きい場合にも、３層ニューラルネットワークの中間層ユニット数を増やすことで、学習を確実に正しく収束させることができ相互連想記憶を実現することが可能である。従って、記憶容量を従来方式の自己連想メモリより飛躍的に増加させられる。
【０１０９】
また、従来の自己連想メモリでは、記憶容量の制限から記憶できる学習アトラクタとして、代表的なものに限られ、然も互いに余り相関のない学習アトラクタであることの制限があったが、本実施形態の相互連想メモリでは、この代表的な学習アトラクタ以外に、それらに似た大きな相関を持った複雑な入力データも学習アトラクタとして多く記憶でき、然も複雑な前進連想入力信号や後進連想入力信号に対しても学習或いは汎化学習アトラクタに収束させることができる。
【０１１０】
本発明の実施形態では、３層ニューラルネットワークを用いた場合について説明したが、３層以上の多層ニューラルネットワークでも良い。更に、多層ニューラルネットワークに限ることなく、入出力が同一の形式を持った２値教師信号を利用して学習させたニューラルネットワークでもよい。
【０１１１】
また、分類カテゴリに対して密な分散型２値コードを用い高い汎化能力を持った前進３層ニューラルネットワークを用い、前進及び後進３層ニューラルネットワーク１２、１３の教師信号への汎化能力によって高いアトラクタ吸引力を実現している。
従って、学習アトラクタから離れた前進連想入力信号に対しても簡単に学習アトラクタに収束させることができる。特に、本発明の相互連想記憶装置では、前進３層ニューラルネットワーク１２の２値教師信号として、密な分散型２値出力形式を用い、２値教師信号から変換された連続した通し番号が分類カテゴリ番号として割当られていることから、連想ループ処理に於ける汎化学習アトラクタへの収束能力が従来方式よりも非常に高く、スプリアス・アトラクタも発生しにくい。
【０１１２】
更に、図４及び図５に示す汎化特性に非常に優れた並列複合ニューラルネットワークを前進３層ニューラルネットワーク１２の代わりに用いることにより、一段と優れた相互連想メモリを実現することもできる。
また、前進連想入力信号X(0)が、学習入力データで、学習アトラクタそのものであるか、或いは非学習入力データであるか、連想ループ回数n=1の連想ループ処理で識別できる特徴を有し、自己連想メモリとは異なり正確なカテゴリ分類を行うことが出来る特徴も持っている。
【０１１３】
連想ループ回数n=1で識別される学習アトラクタ、連想ループ処理を繰り返す事により収束した汎化学習アトラクタ、或いは有意な情報を持っていないOne-Shotや汎化スプリアス・アトラクタを簡単に識別するアトラクタ識別を行うことによって、アトラクタ出力信号や分類カテゴリ出力信号を利用する応用処理システムでの誤動作を防ぐことや、誤動作警報を応用処理システムに送出することができるなどの特徴も有している。
【産業上の利用可能性】
【０１１４】
以上述べたように、従来の自己連想メモリでは、そのデータ記憶容量が非常に少ない。
また、従来の相互連想メモリ装置は、データ記憶容量は大きくできるが、スプリアス・アトラクタが多く発生し、然も後進多層ニューラルネットワークからのアトラクタ出力信号は、所望の学習アトラクタかスプリアス・アトラクタかの区別ができなことから、この出力信号を用いた応用処理システムでは誤動作が避けられない。
【０１１５】
更に、前進ニューラルネットワークにおけるK個の出力層ユニットがOne out of K 出力形式で、粗い２値コードの２値教師信号を用いて学習していることから、汎化能力も低く正しい分類カテゴリ出力信号が得にくく、然もアトラクタ出力信号がスプリアス・アトラクタに引き込まれる場合が非常に多い。また、連想ループ処理に於けるアトラクタ吸引力（収束力）が小さく、アトラクタ発散状態になる場合も多い。
更に、記憶データ数を増加させる為、２値教師信号数を大きくすると、粗い２値コードを用いているために前進及び後進ニューラルネットワーク規模が非常に大きくなるなど数々の欠点がある。
【０１１６】
これに対して、本発明の相互連想メモリ装置は、上記説明のごとく、密な２値コードの分散型出力形式を持った２値教師信号を前進３層ニューラルネットワークに学習させることから、汎化能力も高く、必要な３層ニューラルネットワーク規模も小さくできる。また、スプリアス・アトラクタへの収束やアトラクタ発散状態などになることが非常に少なく、然も汎化学習アトラクタへの高速収束が可能であるなど多くの点で優れている。
【０１１７】
更に、中間層ユニット数を増やす事により、スプリアス・アトラクタの発生を増加させることもなく、また、アトラクタ吸引力にも影響を与えず、非常に多量の学習アトラクタを正しく記憶できる相互連想記憶が実現される。また、前進連想入力信号の学習・非学習入力データ識別、収束したアトラクタの学習・アトラクタ及びスプリアス・アトラクタ間の詳細な識別能力を有していることから、実用の為の一段と優れた特性を実現できる。また、アトラクタ出力信号だけでなく、これらの識別出力や分類カテゴリ出力信号なども用いた、幅広い応用処理システムに適用できる。
【０１１８】
このようにヘテロ連想記憶の構造面及び特性面で非常に優れており、種々の応用に合わせた自由な設計が可能で、然も信頼性も優れている。従って、従来の自己或いは相互連想記憶装置では、記憶容量だけでなく、アトラクタ収束速度（吸引力）、多くのスプリアス・アトラクタの発生などに関しても、種々の実用上の制約があったが、これらの問題を解決できる。
更に、収束アトラクタの識別能力と、前進連想入力信号に対する前進３層ニューラルネットワークの高い汎化能力と精度の高いカテゴリ分類能力とにより、分類カテゴリ出力信号をも得ることができ、分類カテゴリ機能を用いた応用処理システムにも接続できる。
【０１１９】
上記の幅広い効果から、本発明の大容量の記憶能力を持った相互連想記憶装置は、セキュリティ管理システムや不正アクセス検出などのセキュリティシステムへの応用、バイオメトリクスに於ける各種高機能なパターン認識や多くの雑音などにより劣化した大容量の画像データなどの認識への応用、高速データ検索などへの応用、更にはネットワーク障害状態の異常状態検出などネットワーク障害検出システムへの応用など、非常に幅広く適用できる特徴を有している。
【図面の簡単な説明】
【０１２０】
【図１】本発明のアトラクタ識別機能を有する３層ニューラルネットワークを用いた相互連想メモリ装置の実施形態に於ける第１の構成例である。
【図２】従来方式に於ける自己連想ニューラルネットワーク２２による自己連想メモリ装置の１構成例である。
【図３】従来方式に於ける多層ニューラルネットワークを用いた相互連想メモリ装置の１構成例である。
【図４】出力逆変換を伴う前進並列複合ニューラルネットワークの１構成である。
【図５】入力変換を伴う前進並列複合ニューラルネットワークの１構成である。
【図６】本発明の実施形態に於ける前進連想入力信号に対する相互連想メモリの連想ループ処理フロー図である。
【図７】本発明の実施形態に於ける後進連想入力信号に対する相互連想メモリの連想ループ処理フロー図である。
【符号の説明】
【０１２１】
１  前進連想入力信号の入力端子
２  前進ニューラルネットワークの入力端子
３  前進ニューラルネットワークの出力端子
４  後進ニューラルネットワークの入力端子
５  アトラクタ出力信号の出力端子
６  アトラクタ識別信号の出力端子
７  前進連想入力信号の学習・非学習入力データ識別信号の出力端子
８  アトラクタ収束識別信号の出力端子
９  分類カテゴリ出力信号の出力端子
１０  入力切替スイッチ
１１  連想ループ制御処理部
１２  前進３層ニューラルネットワーク
１３  後進３層ニューラルネットワーク
１４  アトラクタ収束状態識別処理部
１５  学習内外カテゴリ識別処理部
１６  アトラクタ識別処理部
１７  入力切替スイッチ
１８  後進連想入力信号の入力端子
１９  入力切替スイッチ
２０  連想ループ制御処理部
２１  アトラクタ収束状態識別処理部
２２  自己連想ニューラルネットワーク
２３  粗コード出力型前進３層ニューラルネットワーク
２４  後進３層ニューラルネットワーク
２９  連想入力信号の入力端子
３０  自己連想ニューラルネットワークの入力端子
３１  アトラクタ出力信号の出力端子
３２  アトラクタ収束識別信号の出力端子
４０  前進並列複合ニューラルネットワーク処理部
４１  ３層ニューラルネットワーク
４２  ３層ニューラルネットワーク
４３  ３層ニューラルネットワーク
４４  出力変換処理部
４５  出力変換処理部
４６  出力変換処理部
４７  出力複合処理部
５０  前進並列複合ニューラルネットワーク処理部
５１  入力変換処理部
５２  入力変換処理部
５３  入力変換処理部
１００  前進連想初期設定処理
１１０  連想ループ処理初期設定処理
１２０  前進連想入力信号入力設定処理
１３０  前進３層ニューラルネットワーク処理
１４０  後進３層ニューラルネットワーク処理
１５０  学習内外カテゴリ識別処理
１６０  アトラクタ収束状態識別処理
１７０  アトラクタ収束状態判定処理
１８０  連想ループ回数判定処理
１９０  連想ループ回数n=n+1設定処理
２００  後進３層ニューラルネットワーク出力信号入力設定処理
２１０  連想ループ回数n=1判定処理
２２０  前進連想入力信号学習・非学習入力データ識別処理
２３０  アトラクタ識別処理
２４０  最終前進連想入力信号判定処理
３００  後進連想初期設定処理
３１０  前進連想入力信号入力設定処理
３２０  アトラクタ収束状態識別処理
３３０  前進３層ニューラルネットワーク出力信号入力設定処理
３４０  後進連想入力信号学習・非学習入力データ識別処理
３５０  最終後進連想入力信号判定処理
【図１】
2006053850.tif 000005
【図２】
2006053850.tif 000006
【図３】
2006053850.tif 000007
【図４】
2006053850.tif 000008
【図５】
2006053850.tif 000009
【図６】
2006053850.tif 000010
【図７】
2006053850.tif 000011