(57)【要約】  事前の学習を行わなくても認識対象の特徴抽出が可能な特徴抽出装置を提供するため、本発明に係る特徴抽出装置（１００）は、演算部である複数のニューロン（３０１、３０２、３０３、３１１、３１２、３１３）を備えるニューラルネットワークから構成され、複数のニューロンは、一方のニューロン（３０１、３０２、３０３）から他方のニューロン（３１１、３１２、３１３）への信号の伝達の可否を決定するための属性値である発現遺伝子をそれぞれ１以上有し、複数のニューロンのうち、特徴抽出の対象である対象データを分割して得られる入力データが入力された第１のニューロンは、入力データの値が大きいほど大きな値である第１信号値を、自身が有する発現遺伝子と同一の発現遺伝子を有する第２のニューロンへ出力し、第２のニューロンは、入力された第１信号値の総和に対応する値である第２信号値を対象データの特徴量として算出する。
2012053188.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークから構成される特徴抽出装置であって、
前記ニューラルネットワークは、演算部である複数のニューロンを備え、
前記複数のニューロンは、一方のニューロンから他方のニューロンへの信号の伝達の可否を決定するための属性値である発現遺伝子をそれぞれ１以上有しており、
前記複数のニューロンのうち、特徴抽出の対象である対象データを分割して得られる入力データが入力された第１のニューロンは、当該入力データの値が大きいほど大きな値である第１信号値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第２のニューロンへ出力し、
前記第２のニューロンは、入力された前記第１信号値の総和に対応する値である第２信号値を前記対象データの特徴量として算出する
特徴抽出装置。
【請求項２】
前記ニューラルネットワークは、複数の階層構造を有する階層型ニューラルネットワークであり、
前記階層型ニューラルネットワークは、第１層の演算部である複数の第１層ニューロンと、第２層の演算部である第２層ニューロンとを備え、
前記複数の第１層ニューロン及び前記第２層ニューロンは、前記複数の第１層ニューロンから前記第２層ニューロンへの信号の伝達可否を決定するための属性値である前記発現遺伝子をそれぞれ１以上有しており、
前記対象データを分割して得られる各入力データが入力された前記複数の第１層ニューロンの各々は、当該入力データの値が大きいほど大きな前記第１信号値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第２層ニューロンへ出力し、
前記第２層ニューロンは、入力された前記第１信号値の総和に対応する前記第２信号値を前記対象データの特徴量として算出する
請求項１に記載の特徴抽出装置。
【請求項３】
前記複数の第１層ニューロン及び前記第２層ニューロンの各々に対して、
（ｉ）事前に定められた属性値を示す複数の遺伝子である遺伝子レパートリーの中から１以上の前記遺伝子を選択し、
（ｉｉ）選択された前記遺伝子を前記発現遺伝子としてそれぞれ割り当てる
発現遺伝子割当部をさらに備えており、
前記複数の第１層ニューロンの各々は、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第２層ニューロンにだけ、前記第１信号値を出力する
請求項２に記載の特徴抽出装置。
【請求項４】
前記発現遺伝子割当部は、前記発現遺伝子として割り当てるべき遺伝子を、前記遺伝子レパートリーの中からランダムに選択する
請求項３に記載の特徴抽出装置。
【請求項５】
前記発現遺伝子割当部は、前記発現遺伝子として割り当てるべき遺伝子を、前記遺伝子レパートリーに含まれる遺伝子の事前に定められた組み合わせの中から選択する
請求項３に記載の特徴抽出装置。
【請求項６】
前記第２層ニューロンは、入力された前記第１信号値の総和が事前に定められた範囲に含まれる場合には、事前に定められた値を前記第２信号値として出力し、
含まれない場合には、前記事前に定められた値とは異なる値を前記第２信号値として出力する
請求項２〜５のいずれか１項に記載の特徴抽出装置。
【請求項７】
前記階層型ニューラルネットワークは、複数の前記第２層ニューロンを備え、
前記特徴抽出装置は、前記複数の第２層ニューロンのうち、前記第１信号値の総和について前記複数の第２層ニューロンを降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する比較部をさらに備えており、
前記複数の第２層ニューロンのうち、（ａ）前記比較部より前記活動化命令を取得したニューロンは事前に定められた値を前記第２信号値として出力し、（ｂ）前記活動化命令を取得しないニューロンは前記事前に定められた値とは異なる値を前記第２信号値として出力する
請求項２〜５のいずれか１項に記載の特徴抽出装置。
【請求項８】
前記複数のニューロンの各々は、
（Ａ）自身が有する発現遺伝子と、他のニューロンが有する発現遺伝子とで一致する発現遺伝子の数が事前に定められた閾値以上であれば、前記第１信号値を前記他のニューロンへ出力し、又は、
（Ｂ）自身が有する発現遺伝子と、他のニューロンが有する発現遺伝子とで一致する発現遺伝子の数がより多いほど、より大きな重みを付けて、前記第１信号値を前記他のニューロンへ出力する
請求項１に記載の特徴抽出装置。
【請求項９】
前記階層型ニューラルネットワークは、第３層の演算部として前記発現遺伝子を１以上有する複数の第３層ニューロンをさらに備え、
前記階層型ニューラルネットワークは、複数の前記第２層ニューロンを備えており、
前記複数の第２層ニューロンの各々は、前記第１信号値の総和に対応する値が事前に定められた範囲に含まれる場合には、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第３層ニューロンへ、前記第２信号値を出力し、
前記複数の第３層ニューロンの各々は、入力された前記第２信号値の総和に対応する値である第３信号値を前記対象データの特徴量として算出する
請求項２に記載の特徴抽出装置。
【請求項１０】
前記複数の第２層ニューロンのうち、前記第１信号値の総和について前記複数の第２層ニューロンを降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する第１比較部と、
前記複数の第３層ニューロンのうち、前記第２信号値の総和について前記複数の第３層ニューロンを降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、前記活動化命令を出力する第２比較部とを、さらに備えており、
前記複数の第２層ニューロンのうち、（ａ）前記第１比較部より前記活動化命令を取得した第２層ニューロンは事前に定められた値を前記第２信号値として出力し、（ｂ）前記活動化命令を取得しない第２層ニューロンは前記事前に定められた値とは異なる値を前記第２信号値として出力し、
前記複数の第３層ニューロンのうち、（ａ）前記第２比較部より前記活動化命令を取得した第３層ニューロンは事前に定められた値を前記第３信号値として出力し、（ｂ）前記活動化命令を取得しない第３層ニューロンは前記事前に定められた値とは異なる値を前記第３信号値として出力する
請求項９に記載の特徴抽出装置。
【請求項１１】
前記複数の第１層ニューロン、前記複数の第２層ニューロン及び前記複数の第３層ニューロンの各々に対して、
（ｉ）事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から１以上の前記遺伝子を選択し、
（ｉｉ）選択された前記遺伝子を前記発現遺伝子としてそれぞれ割り当てる
発現遺伝子割当部と、
前記複数の第２層ニューロンの各々について、当該第２層ニューロンに入力された前記第１信号値の総和の前記複数の第２層ニューロンの中での順位が事前に定められた閾値と同順位か、より上位である場合には、当該第２層ニューロンに、活動化命令を出力する第１比較部と、
前記複数の第３層ニューロンの各々について、当該第３層ニューロンに入力された前記第２信号値の総和の前記複数の第３層ニューロンの中での順位が事前に定められた閾値と同順位か、より上位である場合には、当該第３層ニューロンに、活動化命令を出力する第２比較部とをさらに備えており、
前記複数の第１層ニューロンの各々は、前記特徴抽出の対象を第１層ニューロンの数に対応付けて分割して得られる前記各入力データの値を前記分割に対応付けて取得し、当該入力データの値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第２層ニューロンに前記第１信号値として出力し、
前記複数の第２層ニューロンの各々は、前記第１比較部より前記活動化命令を取得した場合には前記第２信号値として１を出力し、前記活動化命令を取得していない場合には前記第２信号値として０を出力し、
前記複数の第３層ニューロンの各々は、前記第２比較部より前記活動化命令を取得した場合には前記第３信号値として１を出力し、前記活動化命令を取得していない場合には前記第３信号値として０を出力する
請求項９に記載の特徴抽出装置。
【請求項１２】
前記複数の第１層ニューロン、前記複数の第２層ニューロン及び前記複数の第３層ニューロンの各々に対して、
（ｉ）事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から１以上の前記遺伝子をそれぞれランダムに選択し、
（ｉｉ）選択された前記遺伝子を前記発現遺伝子としてそれぞれ割り当てる
発現遺伝子割当部と、
前記複数の第２層ニューロンの各々について、当該第２層ニューロンに入力された前記第１信号値の総和の前記複数の第２層ニューロンの中での順位を取得し、前記複数の第２層ニューロンのうち、前記順位が事前に定められた閾値と同順位か、より下位である第２層ニューロンに、活動化命令を出力する第１比較部と、
前記複数の第３層ニューロンの各々について、当該第３層ニューロンに入力された前記第２信号値の総和の、前記複数の第３層ニューロンの中での順位を取得し、前記複数の第３層ニューロンのうち、前記順位が事前に定められた閾値と同順位か、より下位である第３層ニューロンに、活動化命令を出力する第２比較部とをさらに備えており、
前記複数の第１層ニューロンの各々は、前記特徴抽出の対象を第１層ニューロンの数に対応付けて分割して得られる前記各入力データの値を前記分割に対応付けて取得し、当該入力データの値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第２層ニューロンに前記第１信号値として出力し、
前記複数の第２層ニューロンの各々は、前記第１比較部より前記活動化命令を取得した場合には前記第２信号値として１を出力し、前記活動化命令を取得していない場合には、前記第２信号値として０を出力し、
前記複数の第３層ニューロンの各々は、前記第２比較部より前記活動化命令を取得した場合には前記第３信号値として１を出力し、前記活動化命令を取得していない場合には、前記第３信号値として０を出力する
請求項９に記載の特徴抽出装置。
【請求項１３】
ニューラルネットワークを用いた特徴抽出方法であって、
前記ニューラルネットワークは、演算部である複数のニューロンを備え、
前記複数のニューロンは、一方のニューロンから他方のニューロンへの信号の伝達の可否を決定するための属性値である発現遺伝子をそれぞれ１以上有しており、
前記複数のニューロンのうち、特徴抽出の対象である対象データを分割して得られる入力データが入力された第１のニューロンにおいて、当該入力データの値が大きいほど大きな値である第１信号値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第２のニューロンへ出力する出力ステップと、
前記第２のニューロンにおいて、入力された前記第１信号値の総和に対応する値である第２信号値を前記対象データの特徴量として算出する算出ステップとを含む
特徴抽出方法。
【請求項１４】
請求項１３に記載の特徴抽出方法をコンピュータに実行させる
プログラム。
【請求項１５】
前記発現遺伝子は複数であり、
前記第２のニューロンのそれぞれについて、当該第２のニューロンに入力された第１信号値の数が大きいほど、より大きくなるように、当該第２のニューロンが有する発現遺伝子の度数を決定し、
決定された度数を前記複数の発現遺伝子のそれぞれごとに合計した度数の分布を示す情報である遺伝子コードを、前記対象データの特徴として出力する
請求項１に記載の特徴抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特徴抽出装置等に関し、特に、人工ニューラルネットワークを用いた特徴抽出装置、特徴抽出方法、及び、そのプログラムに関する。
【背景技術】
【０００２】
従来、脳の中に存在するニューロン（神経細胞）の働き（神経可塑性）を計算機内でモデル化し、目的とする情報処理を行う情報処理手法としてニューラルネットワークが知られている（例えば、特許文献１を参照）。【０００３】
このニューラルネットワークの主な用途として、パターン認識が挙げられる。例えば、多数の画像データのうち、ある特定の人物の顔が写されている画像データを計算機に選択させることや、逆に、特定の人物の顔が写されていない画像データを選択させることが考えられる。【０００４】
こうしたパターン認識処理を計算機にさせるためには、認識対象の特徴をよく表す特徴量を、認識対象の計測データからうまく抽出する必要がある。【０００５】
一般に、ニューラルネットワークは、ネットワークを構成するニューロン間を非線形的に結ぶことが可能であるため、複雑な特徴を非線形関数で近似することができ、良好な認識結果が得られる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４４７８２９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、対象データの特徴をうまく抽出できるニューラルネットワークを実現するには、一般に、「学習」と呼ばれる準備作業が不可欠である。ここで、学習とは、事前に答え（人の名前や良・不良等、認識させたい属性情報）が判明している学習用データを用いて、ニューラルネットワーク内のパラメタを調整する作業である。【０００８】
このニューラルネットワークの学習には、大量の学習用データを事前に準備する必要がある。【０００９】
しかし、例えば、画像認識により工業製品の良品と不良品とを判断させる検査装置の場合、その工業製品が新商品であったり、生産ラインの立ち上げ直後である場合等、十分な数の学習用データ（特に、不良品データ）が集まっていない場合が多い。そのため、必要な学習データを確保できず、十分な認識性能を有するニューラルネットワークを準備することができないという課題がある。【００１０】
そこで本発明は、事前の学習を行わなくても認識対象の特徴抽出が可能な特徴抽出装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明のある局面に係る特徴抽出装置は、ニューラルネットワークから構成される特徴抽出装置であって、前記ニューラルネットワークは、演算部である複数のニューロンを備え、前記複数のニューロンは、一方のニューロンから他方のニューロンへの信号の伝達の可否を決定するための属性値である発現遺伝子をそれぞれ１以上有しており、前記複数のニューロンのうち、特徴抽出の対象である対象データを分割して得られる入力データが入力された第１のニューロンは、当該入力データの値が大きいほど大きな値である第１信号値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第２のニューロンへ出力し、前記第２のニューロンは、入力された前記第１信号値の総和に対応する値である第２信号値を前記対象データの特徴量として算出する。【００１２】
この構成によると、発現遺伝子によって第１のニューロンから第２のニューロンへの信号の信号経路が決定される。また、信号経路が決まると、第２のニューロンは、第１ニューロンから得られた入力の合計値に応じて、対象データの特徴量を出力できる。よって、事前の学習を行わなくても認識対象の特徴抽出が可能な特徴抽出装置を実現できる。【００１３】
より具体的には、前記ニューラルネットワークは、複数の階層構造を有する階層型ニューラルネットワークであり、前記階層型ニューラルネットワークは、第１層の演算部である複数の第１層ニューロンと、第２層の演算部である第２層ニューロンとを備え、前記複数の第１層ニューロン及び前記第２層ニューロンは、前記複数の第１層ニューロンから前記第２層ニューロンへの信号の伝達可否を決定するための属性値である前記発現遺伝子をそれぞれ１以上有しており、前記対象データを分割して得られる各入力データが入力された前記複数の第１層ニューロンの各々は、当該入力データの値が大きいほど大きな前記第１信号値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第２層ニューロンへ出力し、前記第２層ニューロンは、入力された前記第１信号値の総和に対応する前記第２信号値を前記対象データの特徴量として算出するとしてもよい。【００１４】
この構成によると、発現遺伝子によって第１層のニューロンから第２層のニューロンへの信号の信号経路が決定される。また、信号経路が決まると、第２層の各々のニューロンは、対象データの特徴量を出力できる。よって、従来の階層型ニューラルネットワークでは一般に不可欠とされる、教師信号を用いた学習プロセスを行わずに、対象データの特徴量を抽出可能な特徴抽出装置を実現できる。【００１５】
また、前記複数の第１層ニューロン及び前記第２層ニューロンの各々に対して、（ｉ）事前に定められた属性値を示す複数の遺伝子である遺伝子レパートリーの中から１以上の前記遺伝子を選択し、（ｉｉ）選択された前記遺伝子を前記発現遺伝子としてそれぞれ割り当てる発現遺伝子割当部をさらに備えており、前記複数の第１層ニューロンの各々は、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第２層ニューロンにだけ、前記第１信号値を出力するとしてもよい。【００１６】
具体的には、前記発現遺伝子割当部は、前記発現遺伝子として割り当てるべき遺伝子を、前記遺伝子レパートリーの中からランダムに選択するとしてもよい。【００１７】
これによると、発現遺伝子割当部によって、各ニューロンへ発現遺伝子をランダムに割り当てることができる。発現遺伝子の割当をランダムとすることにより、多様な対象データに対して、安定した特徴抽出性能を発揮する特徴抽出装置とすることができる。さらに、発現遺伝子のみで信号の信号経路を形成するため、より、安定した特徴抽出性能を発揮できる。【００１８】
または、前記発現遺伝子割当部は、前記発現遺伝子として割り当てるべき遺伝子を、前記遺伝子レパートリーに含まれる遺伝子の事前に定められた組み合わせの中から選択するとしてもよい。【００１９】
これによると、事前に定められた発現遺伝子の組み合わせ（パターン）を用いて、対象データを表現することができる。【００２０】
また、前記第２層ニューロンは、入力された前記第１信号値の総和が事前に定められた範囲に含まれる場合には、事前に定められた値を前記第２信号値として出力し、含まれない場合には、前記事前に定められた値とは異なる値を前記第２信号値として出力するとしてもよい。【００２１】
これにより、特徴抽出装置による対象データの特徴の抽出方針を、入力された値の総和を基準として選択することができる。【００２２】
好ましくは、前記階層型ニューラルネットワークは、複数の前記第２層ニューロンを備え、前記特徴抽出装置は、前記複数の第２層ニューロンのうち、前記第１信号値の総和について前記複数の第２層ニューロンを降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する比較部をさらに備えており、前記複数の第２層ニューロンのうち、（ａ）前記比較部より前記活動化命令を取得したニューロンは事前に定められた値を前記第２信号値として出力し、（ｂ）前記活動化命令を取得しないニューロンは前記事前に定められた値とは異なる値を前記第２信号値として出力するとしてもよい。【００２３】
この構成によると、比較部は、第２層に属するニューロンの各々を、入力値の総和の相対的な順位で評価し、事前の評価基準に適合するニューロンを活動化させることができる。すなわち、特徴抽出装置による対象データの特徴の抽出方針を、入力値の総和の相対的な順位により選択することができる。【００２４】
また、前記複数のニューロンの各々は、（Ａ）自身が有する発現遺伝子と、他のニューロンが有する発現遺伝子とで一致する発現遺伝子の数が事前に定められた閾値以上であれば、前記第１信号値を前記他のニューロンへ出力し、又は、（Ｂ）自身が有する発現遺伝子と、他のニューロンが有する発現遺伝子とで一致する発現遺伝子の数がより多いほど、より大きな重みを付けて、前記第１信号値を前記他のニューロンへ出力するとしてもよい。【００２５】
また、前記階層型ニューラルネットワークは、第３層の演算部として前記発現遺伝子を１以上有する複数の第３層ニューロンをさらに備え、前記階層型ニューラルネットワークは、複数の前記第２層ニューロンを備えており、前記複数の第２層ニューロンの各々は、前記第１信号値の総和に対応する値が事前に定められた範囲に含まれる場合には、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第３層ニューロンへ、前記第２信号値を出力し、前記複数の第３層ニューロンの各々は、入力された前記第２信号値の総和に対応する値である第３信号値を前記対象データの特徴量として算出するとしてもよい。【００２６】
また、好ましくは、前記複数の第２層ニューロンのうち、前記第１信号値の総和について前記複数の第２層ニューロンを降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する第１比較部と、前記複数の第３層ニューロンのうち、前記第２信号値の総和について前記複数の第３層ニューロンを降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、前記活動化命令を出力する第２比較部とを、さらに備えており、前記複数の第２層ニューロンのうち、（ａ）前記第１比較部より前記活動化命令を取得した第２層ニューロンは事前に定められた値を前記第２信号値として出力し、（ｂ）前記活動化命令を取得しない第２層ニューロンは前記事前に定められた値とは異なる値を前記第２信号値として出力し、前記複数の第３層ニューロンのうち、（ａ）前記第２比較部より前記活動化命令を取得した第３層ニューロンは事前に定められた値を前記第３信号値として出力し、（ｂ）前記活動化命令を取得しない第３層ニューロンは前記事前に定められた値とは異なる値を前記第３信号値として出力するとしてもよい。【００２７】
この構成によると、２層構造では対象データの特徴を十分に抽出できない場合においても、層を増やすことにより、より正確に対処データの特徴を抽出することができる。【００２８】
また、前記複数の第１層ニューロン、前記複数の第２層ニューロン及び前記複数の第３層ニューロンの各々に対して、（ｉ）事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から１以上の前記遺伝子を選択し、（ｉｉ）選択された前記遺伝子を前記発現遺伝子としてそれぞれ割り当てる発現遺伝子割当部と、前記複数の第２層ニューロンの各々について、当該第２層ニューロンに入力された前記第１信号値の総和の前記複数の第２層ニューロンの中での順位が事前に定められた閾値と同順位か、より上位である場合には、当該第２層ニューロンに、活動化命令を出力する第１比較部と、前記複数の第３層ニューロンの各々について、当該第３層ニューロンに入力された前記第２信号値の総和の前記複数の第３層ニューロンの中での順位が事前に定められた閾値と同順位か、より上位である場合には、当該第３層ニューロンに、活動化命令を出力する第２比較部とをさらに備えており、前記複数の第１層ニューロンの各々は、前記特徴抽出の対象を第１層ニューロンの数に対応付けて分割して得られる前記各入力データの値を前記分割に対応付けて取得し、当該入力データの値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第２層ニューロンに前記第１信号値として出力し、前記複数の第２層ニューロンの各々は、前記第１比較部より前記活動化命令を取得した場合には前記第２信号値として１を出力し、前記活動化命令を取得していない場合には前記第２信号値として０を出力し、前記複数の第３層ニューロンの各々は、前記第２比較部より前記活動化命令を取得した場合には前記第３信号値として１を出力し、前記活動化命令を取得していない場合には前記第３信号値として０を出力するとしてもよい。【００２９】
この構成によると、第１層−第２層間の信号伝播及び、第２層−第３層間の信号伝播において、前層から伝播された入力値が相対的に大きいニューロンを選択的に活動化させることにより、対象データの特徴を抽出することができる。【００３０】
また、前記複数の第１層ニューロン、前記複数の第２層ニューロン及び前記複数の第３層ニューロンの各々に対して、（ｉ）事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から１以上の前記遺伝子をそれぞれランダムに選択し、（ｉｉ）選択された前記遺伝子を前記発現遺伝子としてそれぞれ割り当てる発現遺伝子割当部と、前記複数の第２層ニューロンの各々について、当該第２層ニューロンに入力された前記第１信号値の総和の前記複数の第２層ニューロンの中での順位を取得し、前記複数の第２層ニューロンのうち、前記順位が事前に定められた閾値と同順位か、より下位である第２層ニューロンに、活動化命令を出力する第１比較部と、前記複数の第３層ニューロンの各々について、当該第３層ニューロンに入力された前記第２信号値の総和の、前記複数の第３層ニューロンの中での順位を取得し、前記複数の第３層ニューロンのうち、前記順位が事前に定められた閾値と同順位か、より下位である第３層ニューロンに、活動化命令を出力する第２比較部とをさらに備えており、前記複数の第１層ニューロンの各々は、前記特徴抽出の対象を第１層ニューロンの数に対応付けて分割して得られる前記各入力データの値を前記分割に対応付けて取得し、当該入力データの値を、自身が有する前記発現遺伝子と同一の発現遺伝子を有する第２層ニューロンに前記第１信号値として出力し、前記複数の第２層ニューロンの各々は、前記第１比較部より前記活動化命令を取得した場合には前記第２信号値として１を出力し、前記活動化命令を取得していない場合には、前記第２信号値として０を出力し、前記複数の第３層ニューロンの各々は、前記第２比較部より前記活動化命令を取得した場合には前記第３信号値として１を出力し、前記活動化命令を取得していない場合には、前記第３信号値として０を出力するとしてもよい。【００３１】
この構成によると、第１層−第２層間の信号伝播及び、第２層−第３層間の信号伝播において、前層から伝播された入力値が相対的に小さいニューロンを選択的に活動化させることにより、対象データがもたない特徴を抽出することができる。【００３２】
すなわち、前記発現遺伝子は複数であり、前記第２のニューロンのそれぞれについて、当該第２のニューロンに入力された第１信号値の数が大きいほど、より大きくなるように、当該第２のニューロンが有する発現遺伝子の度数を決定し、決定された度数を前記複数の発現遺伝子のそれぞれごとに合計した度数の分布を示す情報である遺伝子コードを、前記対象データの特徴として出力するとしてもよい。【００３３】
なお、本発明は、このような特徴抽出装置として実現できるだけでなく、特徴抽出装置に含まれる特徴的な手段をステップとする特徴抽出方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。【００３４】
さらに、本発明は、このような特徴抽出装置の機能の一部又は全てを実現する半導体集積回路（ＬＳＩ）として実現したり、このような特徴抽出装置を含む特徴抽出システムとして実現したりできる。
【発明の効果】
【００３５】
以上より、本発明は、事前の学習を行わなくても認識対象の特徴抽出が可能な特徴抽出装置を提供できる。
【図面の簡単な説明】
【００３６】
【図１】図１は、実施の形態に係る特徴抽出装置を用いたパターン認識の処理の一例を示す概念図である。
【図２】図２は、実施の形態及びその変形例に係る特徴抽出装置の構成の一例を示すブロック図である。
【図３】図３は、従来のニューラルネットワークにおける信号の伝播処理を説明する図である。
【図４】図４は、実施の形態及びその変形例に係る特徴抽出装置におけるマッチングネットワークにおける信号の伝搬処理を説明する図である。
【図５】図５は、実施の形態に係る特徴抽出装置を用いて行う類似画像の検索処理の概要図である。
【図６】図６は、実施の形態及びその変形例に係る特徴抽出装置における３層型マッチングネットワークの構成を示すブロック図である。
【図７】図７は、実施の形態及びその変形例に係る特徴抽出装置の処理の流れを示すフローチャートである。
【図８】図８は、実施の形態及びその変形例に係る特徴抽出装置におけるマッチングネットワークの作成処理の一例を示すフローチャートである。
【図９Ａ】図９Ａは、実施の形態及びその変形例における発現行列の一例を示す図である。
【図９Ｂ】図９Ｂは、実施の形態及びその変形例における結合行列の一例を示す図である。
【図１０】図１０は、実施の形態及びその変形例に係る特徴抽出装置におけるマッチングネットワークの第１層の処理を示すフローチャートである。
【図１１】図１１は、実施の形態及びその変形例に係る特徴抽出装置が備える比較部が行う処理の種類を示す図である。
【図１２】図１２は、実施の形態の変形例に係る特徴抽出装置を用いて行う非類似画像の検索処理の概要図である。
【図１３】図１３は、実施の形態及びその変形例に係る特徴抽出装置を用いた類似画像検索及び非類似画像検索の結果の一例を示す図である。
【図１４】図１４は、マッチングネットワーク（ＭＮ）及びランダムネットワーク（ｒａｎｄｏｍ）のそれぞれにおいて、階層の数と発現遺伝子の多様性との関係を示す図である。
【図１５Ａ】図１５Ａは、ある画像が有する特徴をマッチングネットワークにより抽出した結果を示す図である。
【図１５Ｂ】図１５Ｂは、他の画像が有する特徴をマッチングネットワークにより抽出した結果を示す図である。
【図１５Ｃ】図１５Ｃは、さらに他の画像が有する特徴をマッチングネットワークにより抽出した結果を示す図である。
【図１６】図１６は、１４４個の第１層のニューロンそれぞれに含まれる遺伝子コードを、１２区画×１２区画のマトリクス状に並べた図である。
【図１７Ａ】図１７Ａは、図１６において、遺伝子コード「１」が含まれる区画にのみ「１」を記載し、他の区画を空白として表した図である。
【図１７Ｂ】図１７Ｂは、図１６において、遺伝子コード「２」が含まれる区画にのみ「２」を記載し、他の区画を空白として表した図である。
【図１７Ｃ】図１７Ｃは、図１６において、遺伝子コード「３」が含まれる区画にのみ「３」を記載し、他の区画を空白として表した図である。
【図１８】図１８は、あるマッチングネットワークの第１層における遺伝子コードのパターンの一覧を示す画像である。
【図１９】図１９は、任意に選択した５０個の画像に２値化処理を施した画像である。
【図２０】図２０は、人工的に生成されたプロトタイプ画像の一例を示す図である。
【図２１Ａ】図２１Ａは、１４４人のそれぞれが好きなお茶としてあげたお茶の番号を示す図である。
【図２１Ｂ】図２１Ｂは、新しいお茶が気に入った人が好きな既存のお茶の番号についてのヒストグラムを示す図である。
【図２２】図２２は、マッチングネットワークの第１層に、図２１Ａに示された、１４４人の評価者の嗜好データが入力された様子を示す図である。
【図２３】図２３は、お茶の番号が３つ以上一致したニューロン間にのみ結合を生成するというルールに基づき生成された結合を有するマッチングネットワークを示す図である。
【図２４】図２４は、一致したお茶の番号の数だけ、ニューロン間に結合を生成するというルールに基づき生成された結合を有するマッチングネットワークを示す図である。
【図２５】図２５は、１つのマッチングネットワーク内で、異なる結合タイプを組み合わせて使用する例を示す図である。
【図２６】図２６は、実施の形態及びその変形例にかかる特徴抽出装置を実現するコンピュータシステムの一例を示す外観図である。
【図２７】図２７は、実施の形態及びその変形例にかかる特徴抽出装置を実現するコンピュータシステムのハードウェア構成を示すブロック図である。
【図２８】図２８は、類似画像探索において、ニューロンコードを使用した場合と、遺伝子コードを使用した場合とにおける、探索結果の成績を示す図である。
【発明を実施するための形態】
【００３７】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例である。したがって、これらの各形態により、本発明が限定されるものではない。本発明は、請求の範囲だけによって限定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
【００３８】
図１は、本実施の形態に係る特徴抽出装置１００を用いたパターン認識の処理の一例を示す概念図である。ここでは、画像１０６と画像１１０のどちらが、画像１０２により類似した画像であるかを、特徴抽出装置１００を用いて認識する場合を考える。
【００３９】
図１に示されるように、特徴抽出装置１００は、例えば画像データを取得し、その特徴を示す特徴量から構成される長さ１以上のベクトルである特徴ベクトルを出力する。
【００４０】
いま、特徴抽出装置１００に画像１０２の画像データが入力されると、その特徴ベクトルとして、特徴ベクトル１０４が出力されたとする。同様に、特徴抽出装置１００に、画像１０２と類似する画像１０６の画像データを入力すると、特徴ベクトル１０８が出力されたとする。また、特徴抽出装置１００に画像１０２と非類似の画像１１０の画像データを入力すると、特徴ベクトル１１２が出力されたとする。
【００４１】
この場合、ユーザは、特徴抽出装置１００によって出力された特徴ベクトル同士の一致度（例えば、内積）を算出することにより、各画像間の類似度を知ることができる。
【００４２】
上記の例では、特徴ベクトル１０４と特徴ベクトル１０８の内積が４であるので、画像１０２と画像１０６の類似度は４点と計算される。
【００４３】
同様に、特徴ベクトル１０４と特徴ベクトル１１２の内積は１であるので、画像１０２と画像１１０の類似度は１点と計算される。
【００４４】
したがって、画像１０６と画像１１０のうち、画像１０２により類似する画像は、画像１０６であると判断される。
【００４５】
図２は、本実施の形態に係る特徴抽出装置１００の構成を示すブロック図である。
【００４６】
図２に示されるように、特徴抽出装置１００は、階層型のニューラルネットワークから構成される。階層の数に上限はないが、少なくとも２層以上は必要である。図２では、説明のため、２層からなるニューラルネットワークを例に挙げて説明する。
【００４７】
後述するように、各階層は入力データの特徴を示す特徴量を出力する演算部であるニューロンの集合である。ニューロンは活動化状態と非活動化状態のいずれかの状態をとるが、初期状態では非活動化状態である。
【００４８】
特徴抽出装置１００は、第１層３０９の演算部である複数の第１層ニューロン３０１〜第１層ニューロン３０３と、第２層３１９の演算部である複数の第２層ニューロン３１１〜第２層ニューロン３１３及び比較部３５２とを備える。
【００４９】
全ての第１層ニューロン及び第２層ニューロンには、事前に定められた複数の遺伝子（以後、「遺伝子レパートリー」とよぶ）の中から１個以上の遺伝子が事前にランダムに割り当てられている。個々のニューロンに割り当てられた遺伝子をそのニューロンの発現遺伝子と呼ぶ。発現遺伝子は、隣接する階層間（例えば第１層ニューロンから第２層ニューロンへ）の信号の伝達可否を、後述するマッチングルールに従って決定する際に用いられる属性値である。
【００５０】
なお、特徴抽出装置１００を計算機上で実装する際には、発現遺伝子は、例えば数値や文字列、ビット列等で表現される識別子となる。
【００５１】
なお、発現遺伝子を用いてマッチングルールに従い決定された信号経路を、以後マッチングネットワークと呼ぶ。
【００５２】
第１層ニューロン３０１〜３０３は、それぞれ、入力として、特徴抽出装置１００によって特徴を抽出すべき対象データを分割して得られる入力データＡ〜入力データＣを受け取る。
【００５３】
また、第１層ニューロン３０１〜３０３の各々は、入力された入力データＡ〜入力データＣに基づき第１信号値を決定し、その値をマッチングネットワークで接続されている第２層ニューロンへ出力する。
【００５４】
第１信号値の決定方法には、例えば、入力データを二値化する方法（事前に定めた閾値以上の入力を受けた場合には１を、それ以下の入力を受けたか、又は、入力を受け取らなかった場合には０を第１信号値として出力する）や、単調増加の階段関数を適用する方法、入力値をそのまま第１信号値として出力する方法などが考えられる。第１信号値の決定方法は、他の方法でもよいが、入力された入力データの値が大きいほど、第１信号値が大きくなるように決定される。
【００５５】
第２層ニューロン３１１〜３１３は、それぞれ、第１層ニューロンから取得した第１信号値の総和を算出する。
【００５６】
次に、第２層ニューロン３１１〜３１３の各々は、算出した総和を比較部３５２へ出力し、比較部３５２から比較結果を取得する。
【００５７】
第２層ニューロン３１１〜３１３の各々は、比較部３５２から取得した比較結果に基づき第２信号値を算出し、出力する。これが、対象データの特徴量である。
【００５８】
また、第２層ニューロンが出力する全ての特徴量の組が、特徴ベクトルとなる。
【００５９】
ここでは、第２層ニューロン３１１が第２信号値を特徴量Ａとして出力し、第２層ニューロン３１２が第２信号値を特徴量Ｂとして出力し、第２層ニューロン３１３が第２信号値を特徴量Ｃとして出力しており、特徴量Ａ、特徴量Ｂ、特徴量Ｃをこの順に並べたものが、対象データの特徴ベクトルとなる。
【００６０】
なお、第１層ニューロン及び第２層ニューロンの総数は、対象データのデータ量に依存するが、およそ３個〜１０万個程度が目安となる。
【００６１】
比較部３５２は、第２層ニューロン３１１〜３１３の各々から取得した合計値（総和）を比較し、比較結果に応じて、活動化命令を出力するニューロンを第２層ニューロンの中から選択する。
【００６２】
例えば、比較部３５２は、取得した合計値の大小により第２層ニューロン全体の中で各第２層ニューロンを順位付けし、上位１０％以内の第２層ニューロンに、比較結果として「活動化命令」を出力すること等が考えられる。
【００６３】
活動化命令を取得し活動化状態となった第２層ニューロンは、次の層へ１を出力した後、再び非活動化状態に戻る。一方、活動化命令を取得しなかった非活動化状態の第２層ニューロンは、次の層へ０を出力すること等が考えられる。
【００６４】
発現遺伝子割当部３５０は、第１層ニューロン及び第２層ニューロンの各々に対して、遺伝子レパートリーの中から、１以上の遺伝子をランダムに選択し、それぞれに割り当てる。
【００６５】
遺伝子レパートリーには、具体的には、２個以上、１００個以下程度の相異なる遺伝子が含まれる。また、１つのニューロンに割り当てられる遺伝子の数は、およそ、１〜１０程度である。これらは、後述するように、「脳の情報処理基盤を担う局所神経回路の配線が、数十の遺伝子レパートリーの発現によって実現されている」という生物学的な仮説を基盤としている。
【００６６】
なお、各ニューロンに割り当てられる発現遺伝子の数は、互いに異なっていてもよいが、説明のため、本実施の形態では全てのニューロンに割り当てられる発現遺伝子の数は同数であるとして説明する。
【００６７】
次に、図３及び図４を参照し、本実施の形態に係る特徴抽出装置１００を構成するニューラルネットワークの特徴であるマッチングルールについて、従来のニューラルネットワークと比較して説明する。
【００６８】
図３は、従来の階層型ニューラルネットワークにおける信号の伝播処理を説明する図である。なお、階層型ニューラルネットワークは広く知られた技術であるため、ここでは概要を述べるに留める。
【００６９】
図３に示されるニューラルネットワークは、ニューロン２０１〜ニューロン２０５の５つのニューロンを備える３層の階層型ニューラルネットワークである。
【００７０】
一般に、階層型ニューラルネットワークは、入力層、中間層及び出力層という複数の階層で構成される。このネットワーク構造では、ニューロンがそれぞれ層状に配置され、同じ階層に属するニューロン同士は信号経路を有さない。一方、隣接する階層に属するニューロン同士は相互に信号経路を有している。
【００７１】
この信号経路は、入力層から出力層に向けて一方通行で信号を伝播する。そのため信号の伝播は、前の層から次の層への一方向にのみ行われる。
【００７２】
図３の例では、ニューロン２０１及びニューロン２０２が入力層（第１層）であり、ニューロン２０３及びニューロン２０４が中間層（第２層）であり、ニューロン２０５が出力層（第３層）である。
【００７３】
ニューロンを結ぶ信号経路は、それぞれ重みを有しており、各ニューロンは、上位層から出力された値に重みを乗じた値を入力信号として取得する。また、各々のニューロンは、閾値と伝達関数とを有しており、入力信号の和から閾値を引いた値を伝達関数に入力し、伝達関数から得られる値を、次層のニューロンへ出力する。
【００７４】
例えば、ニューロン２０１からニューロン２０３への信号経路が有する重みがＷ31であり、ニューロン２０２からニューロン２０３への信号経路が有する重みがＷ32であり、ニューロン２０３の閾値がＷ30であり、ニューロン２０３が有する伝達関数をｆ（）とする。
【００７５】
いま、ニューロン２０１へＸ1が入力され、ニューロン２０２へＸ2が入力された場合、ニューロン２０３への入力信号の和は、Ｓ1＝Ｘ1×Ｗ31＋Ｘ2×Ｗ32−Ｗ30となる。よって、ニューロン２０３は、Ｈ1＝ｆ（Ｓ1）を、ニューロン２０５へ向けて出力する。
【００７６】
ニューロン２０４も、同様にして、入力信号の和Ｓ2を算出し、伝達関数の出力であるＨ2を、Ｈ2＝ｆ（Ｓ2）として求め、ニューロン２０５へ出力する。
【００７７】
出力層であるニューロン２０５は、重みＷ53及びＷ54並びに閾値Ｗ50を用いて、ニューロン２０３及びニューロン２０４から取得した入力信号の和であるＳ3を、Ｓ3＝Ｈ1×Ｗ53＋Ｈ2×Ｗ54−Ｗ50として計算する。その後、ニューロン２０５は伝達関数の出力であるＨ3を、Ｈ3＝ｆ（Ｓ3）として求め、Ｈ3をＹ1として出力する。
【００７８】
以上の処理により、図３に示す階層型ニューラルネットワークは、対象データである入力Ｘ1及びＸ2の特徴ベクトルとして、Ｙ1を出力する。
【００７９】
ここで、Ｙ1が期待される出力（正解）であればよいが、間違いであった場合には、前述の「学習」が必要となる。
【００８０】
具体的には、本来期待される出力（正しい特徴ベクトル）をＹ2とすると、Ｙ2と出力Ｙ1との差（Ｙ2−Ｙ1）が小さくなるように、信号経路の重みを修正する。すなわち、Ｙ2と比較して出力Ｙ1が大きければ、出力Ｙ1が小さくなるように信号経路の重みを小さくする。一方、Ｙ2と比較して出力Ｙ1が小さければ、出力Ｙ1が大きくなるように信号経路の重みを大きくする。
【００８１】
その後、修正後の重みをもつ階層型ニューラルネットワークに対して、新たな入力Ｘ3及びＸ4を入力し、得られる出力Ｙ3が、期待される出力Ｙ4付近の範囲に収束するまで、上記の入力→出力→学習の手順を繰り返す。
【００８２】
以上述べたように、従来の階層型ニューラルネットワークには、（１）信号経路の重みや、（２）各ニューロンの閾値、（３）伝達関数の種類等、及び、（４）学習の際に教師信号と出力との差に乗じる学習係数など、多数のパラメタが含まれている。これらのパラメタを、多数の教師信号（入力Ｘ１、Ｘ２及び、入力に対して期待される出力Ｙ２の組）を用いた「学習」により決定していく。
【００８３】
その結果、教師信号以外のデータに対しても適切な特徴ベクトルを出力できるニューラルネットワークを生成できる。
【００８４】
これに対し、本実施の形態に係る特徴抽出装置１００を構成するマッチングネットワークは、必ずしも学習を必要としない。
【００８５】
図４は、本実施の形態に係る特徴抽出装置１００で使用するマッチングネットワークにおける信号の伝搬処理を説明する図である。
【００８６】
図４に示されるように、マッチングネットワークも従来の階層型ニューラルネットワークと同様に複数の階層で構成される。また、信号経路は、入力層から出力層に向けて一方通行で信号を伝播するため、信号の伝播は、前の層から次の層への一方向にのみ行われる点も同様である。なお、図４では、簡単のため中間層を省略する。
【００８７】
本実施の形態に係る特徴抽出装置を構成するマッチングネットワークは、信号経路に重みを有していない。マッチングネットワークは、重みに代わり、ランダムに割り当てられた発現遺伝子によって信号の出力先を決定する。
【００８８】
図４に示されるニューロン２５１〜ニューロン２５９は、ここでは、いずれも２つの発現遺伝子を有する。
【００８９】
例えば、第１層に属するニューロン２５１は、１番と７番という番号で表された発現遺伝子を有し、ニューロン２５２は、３番と８番という番号で表された発現遺伝子を有する。どのニューロンがどの発現遺伝子を有するかは、発現遺伝子割当部３５０により、完全にランダムに決定される。
【００９０】
この発現遺伝子を用いたマッチングルールによって、ニューロン間の信号経路を形成する点が、従来の階層型ニューラルネットワークと異なる点である。
【００９１】
具体的には、ニューロン２５１は、１番と７番の発現遺伝子を有しているため、１番の発現遺伝子及び７番の発現遺伝子の少なくとも一方を有している第２層のニューロンへ信号を出力するする。よって、ニューロン２５１は、ニューロン２５５、ニューロン２５６、ニューロン２５７の３つのニューロンへ信号を出力する。同様に、３番と８番の発現遺伝子を有するニューロン２５２は、ニューロン２５３、ニューロン２５６、ニューロン２５８、ニューロン２５９の４つのニューロンへ信号を出力する。
【００９２】
すなわち、複数のニューロンのうち、あるニューロンから、他のニューロンの各々へ信号を伝播させる際に、同じ発現遺伝子を有するニューロン間でのみ信号を伝播させる、というルールを、マッチングルールとよぶ。複数のニューロンは、階層構造を有していなくてもよい。なお、上記の階層型ニューラルネットワークにおいては、同一層内では信号経路を形成していない。
【００９３】
より具体的には、いま、ニューロン２５１にＸ1が入力され、ニューロン２５２へＸ2が入力されたとする。
【００９４】
ここでは、ニューロン２５１及びニューロン２５２は、入力値をそのまま出力するとする。
【００９５】
この時、第２層に属する各ニューロンに入力された入力信号の和は、それぞれ、ニューロン２５３ではＸ2、ニューロン２５４では０、ニューロン２５５ではＸ1、ニューロン２５６ではＸ1＋Ｘ2、ニューロン２５７ではＸ1、ニューロン２５８ではＸ2、ニューロン２５９ではＸ2となる。
【００９６】
第２層の各ニューロンは、入力された入力信号の総和に応じて、出力値を決定する。出力値の決定方法は種々のものが考えられるが、ここでは、入力信号の総和が上位５０％以内であるニューロンは１を出力し、他のニューロンは０を出力するとする。
【００９７】
具体的に、Ｘ1＝３、Ｘ2＝１とすると、第２層に属する各ニューロンへの入力信号の和は、それぞれ、ニューロン２５３で１、ニューロン２５４で０、ニューロン２５５で３、ニューロン２５６で４、ニューロン２５７で３、ニューロン２５８で１、ニューロン２５９で１となる。
【００９８】
よって、第２層に属する各ニューロンからの出力値（特徴量）は、それぞれ、Ｙ1＝０、Ｙ2＝０、Ｙ3＝１、Ｙ4＝１、Ｙ5＝１、Ｙ6＝０、Ｙ7＝０となる。この特徴量を並べたベクトルが特徴ベクトルとなる。
【００９９】
よって、マッチングネットワークを用いて、入力Ｘ１及びＸ２に対する特徴ベクトルは、（０、０、１、１、１、０、０）として得られる。
【０１００】
以上述べたように、マッチングネットワークでは、ニューロンに、その属性値として発現遺伝子をランダムに割当て、同一の発現遺伝子を有するニューロン間でのみ信号の伝播がなされる。発現遺伝子の割当は、ネットワーク生成時に決定される。よって、教師信号を用いた学習作業を行わずとも、特徴抽出が可能である。
【０１０１】
なお、上記の説明で、ニューロンは、マッチングルールに従って他のニューロンと信号経路を「形成する」と述べた。しかし、これは必ずしも物理的な接続関係の有無を意味するものではない。例えば、電子回路又は計算機プログラムを用いてマッチングネットワークを実装する際には、全てのニューロン間で通信可能であることを前提として、各ニューロンは、マッチングルールに従って、他のニューロンと信号を送受信すればよい。
【０１０２】
次に、マッチングネットワークで得られた特徴ベクトルが、対象データの特徴を正しく抽出したものであることを確認するために行った評価実験の説明を通じ、本実施の形態に係る特徴抽出装置１００の処理をより詳細に説明する。
【０１０３】
図５は、本実施の形態に係る特徴抽出装置１００を用いて行う類似画像の検索処理の概要図である。
【０１０４】
図５に示されるように、テンプレート画像５５２を特徴抽出装置１００に入力して得られた特徴ベクトルと、複数の対象画像５５４の各々を特徴抽出装置１００に入力して得られた各々の特徴ベクトルとの一致度（スコア）をベクトルの内積として算出する。このスコアが高い画像ほど、テンプレート画像５５２と、より類似した画像であると判断する。
【０１０５】
テンプレート画像５５２と、複数の対象画像５５４は任意の画像でよいが、今回は、１つの画像（ここでは、稲の画像）５５０を複数のブロックに分割した後、そのうちの１ブロックに対応する画像をテンプレート画像５５２として、それ以外のブロックに対応する画像を複数の対象画像５５４として使用する。
【０１０６】
図６は、本実施の形態に係る特徴抽出装置１００が備える３層型マッチングネットワークの構成を示すブロック図である。
【０１０７】
なお、各構成要素のうち、図２に示された２層型のマッチングネットワークと同一のものには同一の符号をつけ、詳細な説明は省略する。
【０１０８】
第１層３０９に属する第１層ニューロン３０１〜３０３には、対象データであるテンプレート画像５５２を画素単位で分割して得られる各入力データの画素値（例えば、０〜２５５の整数）がそれぞれ入力される。よって後述するように、第１層ニューロンはテンプレート画像５５２の画素数分が必要となる。第１層ニューロン３０１〜３０３は、それぞれ、マッチングルールに従って、入力された画素値を第２層へ出力する。
【０１０９】
第２層３１９に属する第２層ニューロン３１１〜３１３は、自身に入力された入力値を合計し、合計値を比較部３５２へ出力する。また、比較部３５２から比較結果を取得し、比較結果に応じた出力値を、マッチングルールに従って第３層へ出力する。
【０１１０】
第３層３２９に属する第３層ニューロン３２１〜３２３は、自身に入力された入力値を合計し、合計値を比較部３５４へ出力する。また、比較部３５４から比較結果を取得し、比較結果に応じた特徴量を出力する。
【０１１１】
発現遺伝子割当部３５０は、各ニューロンでの演算に先立ち、第１層ニューロン、第２層ニューロン及び第３層ニューロンの各々に対して、事前に定められた遺伝子レパートリーの中から、１個以上の遺伝子をランダムに選択し、それぞれに割り当て、そのニューロンの発現遺伝子とする。
【０１１２】
比較部３５２は、第２層３１９に属する第２層ニューロンの各々、入力値の合計を取得し、集計する。さらに、事前に定められた活動化の基準に従い、集計結果に基づいて、活動化命令を出力するニューロンを選択する。
【０１１３】
同様に、比較部３５４は、第３層３２９に属する第３層ニューロンの各々から、入力値の合計を取得し、集計する。また、事前に定められた活動化の基準に従い、集計結果に基づいて、活動化命令を出力するニューロンを選択する。
【０１１４】
ここで、類似画像を検索する際には、各画像に含まれる画素の共通性を特徴量に集約する必要がある。よって、第２層ニューロンの各々及び第３層ニューロンの各々は、それぞれ、直前の層からの入力値の論理積（ＡＮＤ）を出力する必要がある。
【０１１５】
従って、比較部３５２及び比較部３５４が使用する活動化の基準として、後述するように、「入力値の合計が上位１０％以内のニューロンであるか？」という基準を採用し、上位１０％以内のニューロンに対して、活動化命令を出力する。
【０１１６】
図７は、本実施の形態に係る特徴抽出装置１００の処理の流れを示すフローチャートである。
【０１１７】
まず、特徴抽出装置１００は、演算部であるマッチングネットワークを生成する（Ｓ２０２）。マッチングネットワークの生成方法については、後述する。
【０１１８】
次に、特徴抽出装置１００は、生成したマッチングネットワークに対象データを入力する（Ｓ２０４）。対象データとは、例えば、テンプレート画像５５２及び複数の対象画像５５４の各々である。前述の通り、第１層３０９に属するニューロンの各々に、対象データを画素単位で分割して得られる入力データの画素値が対応付けて入力される。詳細は後述する。
【０１１９】
次に、第１層３０９に属するニューロンの各々は、前述のマッチングルールに従って、入力された画素値を第１信号値として第２層に出力する（Ｓ２０６）。
【０１２０】
次に、第２層３１９に属するニューロンの各々は、取得した第１信号値の合計値を算出し、その値を比較部３５２へ出力する。比較部３５２は、第２層３１９に属するニューロンのうち比較結果に基づいて選択されたニューロンに活動化命令を出力する（Ｓ２０８）。なお、比較部３５２が行う比較処理の詳細については、後述する。
【０１２１】
次に、第２層３１９に属するニューロンのうち、活動化命令を受けたニューロンは１を、それ以外のニューロンは０を、それぞれ第３層に属するニューロンへ第２信号値として出力する（Ｓ２１０）。ここでも、出力先はマッチングルールに従って決定される。
【０１２２】
次に、第３層３２９に属するニューロンの各々は、第２層から取得した第２信号値の合計値を算出し、その値を比較部３５４へ出力する。比較部３５４は、第３層３２９に属するニューロンのうち、比較結果に基づいて選択されたニューロンに活動化命令を出力する（Ｓ２１２）。
【０１２３】
次に、第３層３２９に属するニューロンのうち、活動化命令を受けたニューロンは１を、非活動化命令を受けたニューロンは０を、それぞれ特徴量として出力する（Ｓ２１４）。
【０１２４】
こうして第３層３２９に属する各ニューロンから出力された特徴量を、例えば左から順に並べたものを特徴ベクトルとすることで、対象データの類似度算出等、後続の処理が可能となる。
【０１２５】
なお、特徴量から特徴ベクトルを求める方法は、これに限られず、ニューロンの並び順を決定し、その順序で各ニューロンから出力された特徴量を並べることで求められる。ニューロンの並び順の決定方法としては、例えば、第３層３２９に属する各ニューロンに識別子をつけ、識別子を昇順あるいは降順にソートする方法が考えられる。さらに、ソート結果を１次元に並べる以外に、２次元以上の多次元ベクトルとして並べることも考えられる。
【０１２６】
以上、特徴抽出装置１００が対象データから特徴量を抽出する際の全体の処理について述べた。次に、各処理の詳細について説明する。
【０１２７】
図８は、本実施の形態に係る特徴抽出装置１００を構成するマッチングネットワークを行列の形式で作成する処理の一例を示すフローチャートである。具体的には、図７のステップＳ２０２に相当する。
【０１２８】
まず、発現遺伝子割当部３５０は、乱数を使用して発現行列を生成する（Ｓ２２２）。
【０１２９】
発現行列とは、マッチングネットワークを構成する全てのニューロンについて、どのニューロンにどの遺伝子が割り当てられているかを示す行列である。
【０１３０】
図９Ａを参照して、発現行列５６０は、発現行列の一例を示す。発現行列の各行は、ニューロンの識別子であるニューロン番号に対応する。また、発現行列の各列は、遺伝子レパートリーに含まれる遺伝子の遺伝子番号に相当する。なお、発現遺伝子は、番号に限らずとも、例えば記号や、ビット列など、任意の情報形式で表現されうる。
【０１３１】
発現行列のセルの値が「１」であることは、対応するニューロン番号をもつニューロンに、対応する遺伝子番号の遺伝子が割り当てられていることを意味する。
【０１３２】
例えば、発現行列５６０の１行目をみると、遺伝子番号が２、４及び１０のセルの値が１である。よって、ニューロン番号１のニューロンには、遺伝子番号が２、４、１０の３つの遺伝子が割り当てられている。
【０１３３】
本実施の形態では、各ニューロンに対して、合計２０個の相異なる遺伝子を含んだ遺伝子レパートリーの中から、３個の遺伝子をそれぞれ選択し、割り当てられるとする。つまり、各ニューロンは発現遺伝子を３個ずつ保持する。
【０１３４】
また、対象データを１２ピクセル×１２ピクセルの画像データとする。前述のとおり第１層に属する１ニューロンに１画素を割り当てるため、第１層のニューロン数は１４４ニューロンとなる。さらに、第２層を１０００ニューロン、第３層を２５０ニューロンと定めた。総ニューロン数は、１３９４ニューロンとなる。
【０１３５】
発現行列は層ごとに作成するため、第１層の発現行列は１４４行２０列、第２層の発現行列は１０００行２０列、第３層の発現行列は２５０行２０列となる。
【０１３６】
発現遺伝子割当部３５０は、各行（ニューロン）に対して、発現遺伝子となる遺伝子番号として１〜２０までの相異なる乱数を３つ発生させ、発生した乱数と同一の遺伝子番号をもつセルに値「１」をセットする。それ以外のセルには、値「０」をセットする。
【０１３７】
この操作は、遺伝子番号１〜２０までの遺伝子を含む、遺伝子レパートリーの中から、３個の遺伝子を選択する処理に対応する。
【０１３８】
以上の乱数発生作業を、全ての行に対して行うことで、発現遺伝子割当部３５０は、各ニューロンに対して、遺伝子を３つずつランダムに割り当てる。
【０１３９】
次に、特徴抽出装置１００は、生成された発現行列（マッチングルール）に従って、隣接する層間での結合関係（すなわち、信号経路）を示す、結合行列を生成する（Ｓ２２４）。
【０１４０】
３層のマッチングネットワークにおいて、結合行列は、第１層−第２層間結合行列と、第２層−第３層間結合行列の２つの行列から構成される。
【０１４１】
図９Ｂを参照し、結合行列５６２は、結合行列の一例を示す。結合行列の各列は、前層（例えば、第１層−第２層間結合行列であれば、第１層）に属するニューロンのニューロン番号を示す。また、結合行列の各行は、後層（例えば、第１層−第２層間結合行列であれば、第２層）に属するニューロンのニューロン番号を示す。
【０１４２】
よって、第１層−第２層間結合行列は、１０００行１４４列の行列となり、第２層−第３層間結合行列は、２５０行１０００列となる。
【０１４３】
また、セルの値が「１」であることは、対応する前層のニューロンから、対応する後層のニューロンに対して信号経路が形成されていることを示す。逆に、セルの値が「０」であることは、対応する前層のニューロンから、対応する後層のニューロンに対して信号経路が形成されていないことを示す。
【０１４４】
例えば、結合行列５６２において１行２列のセルの値が１である。これは、前層に属するニューロン番号８のニューロンから、後層に属するニューロン番号１のニューロンへ、信号経路が形成されていることを示す。
【０１４５】
特徴抽出装置１００は、こうした結合行列を、先に生成した発現行列に基づいて生成する。
【０１４６】
すなわち、結合行列においてセルの値が１であることは、対応する前層と後層のニューロンには、同一の発現遺伝子が少なくとも１つ割り当てられていることを意味する。よって、例えば、発現行列の各列について、いずれかが前層に属し、他方が後層に属する２つのニューロンであって、両者のセルの値が１である組合せを全て検索し、検索された前層と後層の組合せに対応する結合行列のセルに値１をセットすることで、結合行列を生成できる。
【０１４７】
以後は、特徴抽出装置１００は、こうして生成された結合行列を使用して処理を進める。
【０１４８】
図１０は、本実施の形態に係る特徴抽出装置を構成するマッチングネットワークの第１層の処理を示すフローチャートである。具体的には、図７のステップＳ２０４及びステップＳ２０６に相当する。
【０１４９】
まず、特徴抽出装置１００は、対象データを１つ取得する（Ｓ２３２）。対象データは、１２画素×１２画素のモノクロ画像であり、これを１２行１２列の行列として取得する。行列に含まれる１４４個の各要素は画素値に対応し、０から２５５までの値をとる。
【０１５０】
次に、特徴抽出装置１００は、対象データを表現する１２行１２列の行列を変形し、１４４行１列の行列を生成する。これを画像行列と呼ぶ。
【０１５１】
次に、特徴抽出装置１００は、ステップＳ２２４で生成した１０００行１４４列の第１層−第２層間結合行列に対し、この画像行列を右から掛ける（Ｓ２３４）。その結果、１０００行１列の行列が生成される。この行列に含まれる各列は、第２層に属する１０００個のニューロンの各々が、マッチングルールに従って第１層のニューロンから受け取った入力の合計値を示す。
【０１５２】
以上の行列計算により、第１層に属するニューロンから第２層へ属するニューロンへのマッチングルールにしたがった信号の伝播を、計算機上で処理することができる。
【０１５３】
こうして計算された第２層に属する各ニューロンへの入力の合計値は、比較部３５２へ出力される。
【０１５４】
次に、比較部３５２が行う処理について、図１１を参照して説明する。
【０１５５】
図１１は、本実施の形態に係る比較部３５２が行う比較処理において用いられる活動化の基準を示す図である。これは、図７のステップＳ２０８において比較部３５２が行う比較処理に相当する。
【０１５６】
図１１に示されるように、特徴抽出装置１００は、比較部３５２が用いる活動化の基準を選択することにより、前層から後層への信号の伝播において、例えば、ＡＮＤ、ＯＲ、ＮＡＮＤ、ＮＯＲ及びＸＯＲの５つの論理演算のうちのいずれかを実行することができる。
【０１５７】
例えば、入力の合計値が上位１０％以内であることを活動化の基準とした場合、この基準に該当するニューロンに比較部３５２は活動化命令を送る。その結果、合計値が上位１０％以内のニューロンが活動化状態となり、１を出力する。一方、それ以外のニューロンは、非活動化状態のまま、０を出力する。その結果、より多くの前層に属するニューロンから正の入力を受けた後層が１を出力することになるため、これはＡＮＤ演算に相当する。
【０１５８】
また、入力の合計値が上位７０％以内であることを活動化の基準とした場合、この基準に該当するニューロンに比較部３５２は活動化命令を送る。その結果、合計値が７０％以内のニューロンが活動か状態となり、１を出力する。一方、それ以外のニューロンは、非活動化状態のまま、０を出力する。その結果、前層は、ＡＮＤ演算と比較して少ないニューロンから正の入力を受けても後層が１を出力するため、ＯＲ演算に相当する。
【０１５９】
すなわち、前層の複数のニューロン出力の組み合わせが次層のニューロンが受ける入力の合計値を決定する。同様の考え方で、図１１に示される５つの論理演算の処理が定義されるが、より詳細には、後述する。
【０１６０】
ここでは、複数の対象画像５５４からテンプレート画像５５２に類似する画像を検索することが目的であるので、比較部３５２、比較部３５４ともに、ＡＮＤ演算を行うための活動化の基準を使用し、入力画像に類似する画像の特徴量を算出することになる。
【０１６１】
以上、本実施の形態に係る特徴抽出装置１００の処理の流れを説明した。これ以後、図７におけるステップＳ２１０のマッチングルールを用いた信号伝播は、ステップＳ２０６と同様である。また、ステップＳ２１２の比較部３５４による処理は、ステップＳ２０８の比較部３５２による処理と同様である。よって、詳細な説明は省略する。
【０１６２】
最終的に、ステップＳ２１４において、１つの対象データに対して、２５０個の「１」又は「０」からなる特徴ベクトルが、特徴抽出装置１００から出力される。
【０１６３】
なお、こうして得られた特徴ベクトルから、類似画像を検索する手順は、先に図５に示したとおりである。すなわち、図５を参照して、テンプレート画像５５２及び複数の対象画像５５４の各々について、特徴抽出装置１００を用いて特徴ベクトルを得た後、テンプレート画像５５２の特徴ベクトルと、複数の対象画像５５４の各々の特徴ベクトルとの一致度（例えば、内積）を算出する。
【０１６４】
得られた内積の値は類似度を示すスコアであり、内積の値が大きいほど、テンプレート画像５５２との類似度が高い画像であると判断できる。
【０１６５】
すなわち、本実施の形態に係る特徴抽出装置１００は階層型ニューラルネットワークから構成されており、この階層型ニューラルネットワークは、第１層の演算部である複数の第１層ニューロン（３０１〜３０３）と、第２層の演算部である第２層ニューロン（３１１〜３１３）とを備え、複数の第１層ニューロン（３０１〜３０３）及び第２層ニューロン（３１１〜３１３）は、複数の第１層ニューロン（３０１〜３０３）から第２層ニューロン（３１１〜３１３）への信号の伝達可否を決定するための属性値である発現遺伝子をそれぞれ１以上有している。
【０１６６】
また、特徴抽出の対象である対象データを分割して得られる各入力データが入力された複数の第１層ニューロン（３０１〜３０３）の各々は、入力データの値が大きいほど大きな値である第１信号値を、自身が有する発現遺伝子と同一の発現遺伝子を有する第２層ニューロン（３１１〜３１３）へ出力する。
【０１６７】
また、第２層ニューロン（３１１〜３１３）の各々は、入力された第１信号値の総和に対応する値である第２信号値を対象データの特徴量として算出する。
【０１６８】
また、本実施の形態に係る特徴抽出装置１００は、複数の第１層ニューロン（３０１〜３０３）及び第２層ニューロン（３１１〜３１３）の各々に対して、
（ｉ）事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から１以上の遺伝子を選択し、
（ｉｉ）選択された遺伝子を発現遺伝子としてそれぞれ割り当てる
発現遺伝子割当部３５０をさらに備えてもよい。この場合、複数の第１層ニューロン（３０１〜３０３）の各々は、自身が有する発現遺伝子と同一の発現遺伝子を有する第２層ニューロン（３１１〜３１３）にだけ、第１信号値を出力する。
【０１６９】
なお、発現遺伝子割当部３５０が、ニューロンの各々に対して発現遺伝子を割り当てる方法は、前述したようなランダムな選択以外の方法であってもよい。例えば、後述する図１９又は図２０に示されるような、既存の画像に対応する発現遺伝子を、事前に定められた発現遺伝子の組み合わせとして定義し、定義された発現遺伝子の組み合わせを、順にニューロンに割り当ててもよい。
【０１７０】
すなわち、発現遺伝子割当部３５０は、発現遺伝子として割り当てるべき遺伝子を、遺伝子レパートリーの中からランダムに選択してもよく、遺伝子レパートリーに含まれる遺伝子の事前に定められた組み合わせの中から選択してもよい。
【０１７１】
また、本実施の形態に係る特徴抽出装置１００において、第２層ニューロン（３１１〜３１３）の各々は、入力された第１信号値の総和が事前に定められた範囲に含まれる場合には、事前に定められた値を第２信号値として出力し、含まれない場合には、事前に定められた値とは異なる値を第２信号値として出力してもよい。
【０１７２】
また、本実施の形態に係る特徴抽出装置１００は、複数の第２層ニューロン（３１１〜３１３）のうち、第１信号値の総和について複数の第２層ニューロン（３１１〜３１３）を降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する比較部３５２をさらに備えてもよい。この場合、複数の第２層ニューロン（３１１〜３１３）のうち、（ａ）比較部３５２より活動化命令を取得したニューロンは事前に定められた値を第２信号値として出力し、（ｂ）活動化命令を取得しないニューロンは事前に定められた値とは異なる値を第２信号値として出力する。
【０１７３】
また、本実施の形態に係る特徴抽出装置１００において、階層型ニューラルネットワークは、第３層の演算部として発現遺伝子を１以上有する複数の第３層ニューロン（３２１〜３２３）をさらに備えてもよい。この場合、複数の第２層ニューロン（３１１〜３１３）の各々は、第１信号値の総和に対応する値が事前に定められた範囲に含まれる場合には、自身が有する発現遺伝子と同一の発現遺伝子を有する第３層ニューロン（３２１〜３２３）へ、第２信号値を出力し、複数の第３層ニューロン（３２１〜３２３）の各々は、入力された第２信号値の総和に対応する値である第３信号値を対象データの特徴量として算出する。
【０１７４】
また、本実施の形態に係る特徴抽出装置１００は、複数の第２層ニューロン（３１１〜３１３）のうち、第１信号値の総和について複数の第２層ニューロン（３１１〜３１３）を降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する第１比較部３５２と、複数の第３層ニューロン（３２１〜３２３）のうち、第２信号値の総和について複数の第３層ニューロン（３２１〜３２３）を降順に並べた場合の順位が事前に定められた範囲に含まれるニューロンの各々に、活動化命令を出力する第２比較部３５４とを、さらに備えてもよい。
【０１７５】
この場合、複数の第２層ニューロン（３１１〜３１３）のうち、（ａ）第１比較部３５２より活動化命令を取得したニューロンは事前に定められた値を第２信号値として出力し、（ｂ）活動化命令を取得しないニューロンは事前に定められた値とは異なる値を第２信号値として出力し、複数の第３層ニューロン（３２１〜３２３）のうち、（ａ）第２比較部３５４より活動化命令を取得したニューロンは事前に定められた値を第３信号値として出力し、（ｂ）活動化命令を取得しないニューロンは事前に定められた値とは異なる値を第３信号値として出力する。
【０１７６】
また、本実施の形態に係る特徴抽出装置１００は、複数の第１層ニューロン（３０１〜３０３）、第２層ニューロン（３１１〜３１３）及び第３層ニューロン（３２１〜３２３）の各々に対して、（ｉ）事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から１以上の遺伝子をそれぞれランダムに選択し、（ｉｉ）選択された遺伝子を発現遺伝子としてそれぞれ割り当てる発現遺伝子割当部３５０と、第２層ニューロン（３１１〜３１３）の各々について、ニューロンに入力された第１信号値の総和の第２層ニューロン（３１１〜３１３）の中での順位が事前に定められた閾値と同順位か、より上位である場合には、当該ニューロンに、活動化命令を出力する第１比較部３５２と、第３層ニューロン（３２１〜３２３）の各々について、ニューロンに入力された第２信号値の総和の第３層ニューロン（３２１〜３２３）の中での順位が事前に定められた閾値と同順位か、より上位である場合には、当該ニューロンに、活動化命令を出力する第２比較部３５４とをさらに備えてもよい。
【０１７７】
この場合、第１層ニューロン（３０１〜３０３）の各々は、特徴抽出の対象を第１層ニューロン（３０１〜３０３）の数に対応付けて分割して得られる、各入力データの値を、分割に対応付けて取得し、当該入力データの値を、自身が有する発現遺伝子と同一の発現遺伝子を有する第２層ニューロン（３１１〜３１３）に第１信号値として出力する。
【０１７８】
また、第２層ニューロン（３１１〜３１３）の各々は、第１比較部３５２より活動化命令を取得した場合には第２信号値として１を出力し、活動化命令を取得していない場合には第２信号値として０を出力する。
【０１７９】
また、第３層ニューロン（３２１〜３２３）の各々は、第２比較部３５４より活動化命令を取得した場合には第３信号値として１を出力し、活動化命令を取得していない場合には第３信号値として０を出力する。
【０１８０】
以上述べた構成によると、発現遺伝子割当部３５０により、各ニューロンへ発現遺伝子がランダムに割り当てられる。この発現遺伝子の値とマッチングルールとを用いて、階層型ニューラルネットワークにおける隣接層間の結合状態（すなわち、マッチングネットワーク）が決定される。
【０１８１】
このマッチングネットワークは、隣接する層間の信号伝播に際して、比較部３５２及び比較部３５４が比較処理に用いる活動化の基準に対応して、ＡＮＤ、ＯＲ、ＮＡＮＤ、ＮＯＲ、ＸＯＲの５つの論理演算のうちのいずれかを並列的に計算する機能を有する。
【０１８２】
「並列的に計算する」とは、例えば、第２層に属する各々のニューロンの出力値は、第１層に属する複数のニューロンから第２層に属する各々のニューロンへ入力された複数の値の論理演算値に相当し、この値を、第２層に属する各々のニューロンは並列的に出力することを意味する。すなわち、上記論理演算は、マッチングネットワークに入力された複数入力に対して並列的に実行される並列型論理演算である。よって、従来の２入力値に対する論理演算と区別するため、以後、ＡＮＤ演算を並列型ＡＮＤ演算と、ＯＲ演算を並列型ＯＲ演算と、ＮＡＮＤ演算を並列型ＮＡＮＤ演算と、ＮＯＲ演算を並列型ＮＯＲ演算と、ＸＯＲ演算を並列型ＸＯＲ演算と、それぞれ呼ぶことにする。
【０１８３】
こうして出力される特徴量の列は、対象データの特徴が抽出された特徴ベクトルとなる。
【０１８４】
その結果、従来の階層型ニューラルネットワークでは必須の教師信号を用いた学習プロセスを行わなくても、対象データの特徴量を得ることができる。その結果、得られた特徴量を並べた特徴ベクトルを用いて、類似度算出等の後続の処理を行うことができる。
【０１８５】
よって、教師信号として大量の正解データを準備する必要が無く、また、長時間に渡る学習時間も不要となる利点が生じる。
【０１８６】
さらに、学習が不要であるため、過学習により汎化性能が低下する可能性、及び、局所解に陥る可能性がなく、対象データの種類を問わず、安定した特徴抽出性能を発揮することができる。
【０１８７】
以上、マッチングネットワークを用いた特徴抽出装置１００によって類似画像検索を行う処理について述べた。
【０１８８】
次に、実施の形態の変形例として、同一のマッチングネットワークを用いつつ、比較部が用いる活動化の基準を変更するだけで、非類似画像検索が可能となることを説明する。
【０１８９】
（変形例）
図１２は、実施の形態の変形例に係る特徴抽出装置１００を用いて行う非類似画像の検索処理の概要図である。
【０１９０】
いま、図１２に示されるように、複数の対象画像５５４の中から、テンプレート画像５５２に似ていない画像（非類似画像）を検索することを考える。
【０１９１】
なお、テンプレート画像５５２及び複数の対象画像５５４が、画像５５０を一定のブロックで分割したうちの各々であることは、前述の実施の形態の場合と同様である。
【０１９２】
また、本変形例における特徴抽出装置１００の構成は、図６に示される実施の形態と同様であるため、詳細な説明は省略する。
【０１９３】
本変形例では、テンプレート画像５５２の特徴が抽出された特徴ベクトルを得るため、比較部３５２及び比較部３５４は、対象データがテンプレート画像５５２である場合には、並列型ＡＮＤ演算を行う。すなわち、比較部３５２及び比較部３５４は、上位１０％以内のニューロンに活動化命令を送る。
【０１９４】
一方、複数の対象画像５５４に含まれる各画像については、これら各画像が有する特徴とは異なる特徴が抽出された特徴ベクトルを得るため、比較部３５２及び比較部３５４は並列型ＮＯＲ演算を行う。すなわち、対象データが複数の対象画像５５４の各々である場合には、比較部３５２及び比較部３５４は、下位１０％以内のニューロンに活動化命令を送る。
【０１９５】
最終的には、特徴抽出装置１００により出力されたテンプレート画像５５２の特徴ベクトルと、複数の対象画像５５４の各々の特徴ベクトルとの内積を算出する。
【０１９６】
得られた内積の値は、非類似度を示すスコアであり、内積の値が大きいほど、テンプレート画像５５２との非類似度が高い画像であると判断できる。
【０１９７】
すなわち、本変形例に係る特徴抽出装置１００は、複数の第１層ニューロン（３０１〜３０３）、第２層ニューロン（３１１〜３１３）及び第３層ニューロン（３２１〜３２３）の各々に対して、（ｉ）事前に定められた属性値を示す複数の遺伝子である、遺伝子レパートリーの中から１以上の遺伝子をそれぞれランダムに選択し、（ｉｉ）選択された遺伝子を発現遺伝子としてそれぞれ割り当てる発現遺伝子割当部３５０と、第２層ニューロン（３１１〜３１３）の各々について、ニューロンに入力された第１信号値の総和の第２層ニューロン（３１１〜３１３）の中での順位を取得し、第２層ニューロンのうち、順位が事前に定められた閾値と同順位か、より下位であるニューロンに、活動化命令を出力する第１比較部３５２と、第３層ニューロン（３２１〜３２３）の各々について、ニューロンに入力された第２信号値の総和の第３層ニューロン（３２１〜３２３）の中での順位を取得し、第３層ニューロン（３２１〜３２３）のうち、順位が事前に定められた閾値と同順位か、より下位であるニューロンに、活動化命令を出力する第２比較部３５４とをさらに備える。
【０１９８】
この場合、第１層ニューロン（３０１〜３０３）の各々は、特徴抽出の対象を第１層ニューロン（３０１〜３０３）の数に対応付けて分割して得られる各入力データの値を、分割に対応付けて取得し、当該入力データの値を、自身が有する発現遺伝子と同一の発現遺伝子を有する第２層ニューロン（３１１〜３１３）に第１信号値として出力する。
【０１９９】
また、第２層ニューロン（３１１〜３１３）の各々は、第１比較部３５２より活動化命令を取得した場合には第２信号値として１を出力し、活動化命令を取得していない場合には、第２信号値として０を出力する。
【０２００】
また、第３層ニューロン（３２１〜３２３）の各々は、第２比較部３５４より活動化命令を取得した場合には第３信号値として１を出力し、活動化命令を取得していない場合には、第３信号値として０を出力する。
【０２０１】
この構成によると、第１層−第２層間の信号伝播及び、第２層−第３層間の信号伝播において、前層から伝播された入力値が相対的に小さいニューロンを選択的に活動化させることにより、対象データがもたない特徴を、特徴ベクトルとして出力することができる。
【０２０２】
図１３は、本実施の形態及びその変形例に係る特徴抽出装置１００を用いた、類似画像検索及び非類似画像検索の結果の一例を示す図である。
【０２０３】
図１３に示される、検索結果５７０は、本実施の形態に係る特徴抽出装置１００を用いて類似画像を検索した結果を示す。検索結果５７０に含まれる複数のブロックのうち、左上のブロックは、テンプレート画像５５２である。残り２４個のブロックは、複数の対象画像５５４の中から検索された、類似度スコアが上位２４位以内の対象画像である。
【０２０４】
また、性能比較のため、二乗誤差法により、テンプレート画像５５２の類似画像を複数の対象画像５５４から検索した結果を検索結果５７４に示す。二乗誤差法では、テンプレート画像５５２と、対象画像とで、対応する位置の画素ごとに画素値の差分の二乗値（二乗誤差）を算出する。その後、全画素についての二乗誤差の合計値を算出し、合計値が小さいほどテンプレート画像５５２に類似した画像であり、逆に、合計値が大きいほどテンプレート画像５５２と似ていない非類似画像であると判断する。
【０２０５】
検索結果５７０と検索結果５７４を比較すると、特徴抽出装置１００を用いた場合の検索結果５７０は、二乗誤差法による検索結果５７４と比較しても、遜色なく良好な結果が得られている。
【０２０６】
この結果は、特徴抽出装置１００が出力する特徴ベクトルにより、類似画像検索が可能であることを示す。
【０２０７】
また、検索結果５７２は、変形例に係る特徴抽出装置１００を用いて非類似画像を検索した結果を示す。左上のブロックは、テンプレート画像５５２である。残り２４個のブロックは、複数の対象画像５５４の中から検索された、非類似度スコアが上位２４位以内の対象画像である。
【０２０８】
さらに、類似画像検索と同様に、性能比較のため、テンプレート画像５５２の非類似画像を複数の対象画像５５４から二乗誤差法により検索した結果を検索結果５７６に示す。
【０２０９】
検索結果５７２と検索結果５７６を比較すると、二乗誤差法による検索結果５７６では、テンプレート画像５５２の濃淡を逆にした画像が数多く検索されている。これに対し、特徴抽出装置１００を用いた場合の検索結果５７２には、単にテンプレート画像５５２の濃淡を逆にした画像だけではなく、テンプレート画像５５２と異なる多様な画像が含まれていることがわかる。すなわち、特徴抽出装置１００は、単純な「画素値の逆」ではなく、「テンプレート画像５５２が持たない特徴」をうまく特徴ベクトルとして抽出できていると考えられる。
【０２１０】
非類似画像の多様性をもつ検索結果５７２の方が、一般に、人が考える「テンプレート画像５５２と非類似の画像」のイメージに近い検索結果に近い。
【０２１１】
この結果は、変形例に係る特徴抽出装置１００が出力する特徴ベクトルにより、非類似画像検索が可能であることを示す。
【０２１２】
以上述べたように、マッチングネットワークの構成を変えることなく、比較部が比較処理に用いる活動化の基準を選択することで、マッチングネットワークが行う並列論理演算の種類を選択することができる。その結果、同一の特徴抽出装置１００を用いて、対象データの特徴を抽出すること、及び、対象データの特徴とは異なる特徴を抽出することが可能となる。
【０２１３】
また、論理演算の種類によりマッチングネットワークの構成を変える必要はないため、処理内容の変更による行列の再生成処理等は不要であり、比較部が用いる活動化の基準を変更するだけでよく、処理の効率化が可能となる。
【０２１４】
なお、実施の形態及び変形例に係る特徴抽出装置１００で特徴抽出が可能な対象データは、画像データに限るものではない。例えば、波形データ、数値化されたトランザクションデータ、その他センシングデータなど、離散化された数値により構成されるデータであれば、任意のデータを入力とすることができる。
【０２１５】
なお、実施の形態及び変形例に係る特徴抽出装置１００が備える中間層及び出力層の出力は、「０」及び「１」の２値以外であってもよい。例えば、３層からなるマッチングネットワークで構成される特徴抽出装置１００であれば、中間層である第２層及び出力層である第３層に属するニューロンの各々は、入力された信号値の総和を出力してもよい。または、中間層である第２層及び出力層である第３層に属するニューロンのうち、活動化命令を受けたニューロンのみが、入力された第２信号値の総和を出力してもよい。また、中間層である第２層及び出力層である第３層に属するニューロンの各々は、入力された信号値の総和が事前に定められた閾値以下であれば、任意の定数Ａを出力し、それでなければＡ以外の定数Ｂを出力してもよい。
【０２１６】
すなわち、中間層及び出力層に属するニューロンの各々は、入力された信号値の総和に対応する値を出力する演算部であればよい。
【０２１７】
また、第１層（入力層）は、入力データの値をそのまま出力するのではなく、たとえば、０又は１に二値化して出力してもよい。具体的には、事前に閾値を定め、この閾値以上であれば１を、閾値未満であれば０を出力するとしてもよい。つまり、入力層に属するニューロンの各々は、入力データの値が大きいほど大きな値である第１信号値を出力する演算部であればよい。
【０２１８】
なお、実施の形態及び変形例に係る比較部３５２及び比較部３５４は、基準を満たさないニューロンを非活動化状態にするための非活動化命令を出力してもよい。例えば、各ニューロンは、活動化命令を受けて活動化状態となり、非活動化命令を受けて非活動化状態に戻ってもよい。または、特徴抽出装置１００が、新しい対象データを取得する度に、すべてのニューロンに非活動化命令を出力し、非活動化状態へ初期化してもよい。さらに、活動化したニューロンは、時間の経過と共に、徐々に非活動化状態へと遷移してもよい。この場合、非活動化状態へ遷移するに従い、ニューロンの出力値を小さくすることが考えられる。
【０２１９】
なお、実施の形態及び変形例に係る中間層及び出力層に属するニューロンのうち、非活動化状態にあるニューロンは、「０」を出力しなくてもよい。すなわち、中間層及び出力層に属するニューロンのうち、活動化状態にあるニューロンは「１」を出力し、それ以外のニューロンは何もしない、としてもよい。この場合、例えば、ニューロンの出力を取得するメモリ領域として、各ニューロンの出力に対応するビット列を事前に確保し、かつ各ビットを事前に「０」に初期化しておくことで、非活動化状態にあるニューロンが「０」を出力した場合と同様のビット列を特徴ベクトルとして得ることができる。
【０２２０】
なお、実施の形態及び変形例に係る特徴抽出装置１００は、比較部を備えなくてもよい。例えば、各ニューロンは、同一層内での相対的な順位ではなく、入力の合計値を絶対値による基準（すなわち、事前に定められた閾値）と比較することで、その出力を選択してもよい。また、比較部を備えなくても、同一層内に属する各ニューロンが相互に自身の入力の合計値を送受信しあうことで、入力の合計値の相対的な順位を取得してもよい。
【０２２１】
なお、実施の形態及び変形例に係る発現遺伝子割当部３５０が使用する乱数は、乱数発生器等を用いて発生させる乱数の他、計算処理により発生させる、いわゆる疑似乱数であってもよい。前述のとおり、遺伝子レパートリーに含まれる遺伝子の数は、高々１００程度と少ない。よって、生成が容易である反面、周期性をもつ疑似乱数であっても、十分使用に耐える。
【０２２２】
なお、実施の形態及びその変形例に係る特徴抽出装置１００は、結合行列の生成において、前層と後層で１つ以上同一の発現遺伝子があれば、信号経路を形成した。しかし、例えば、前層と後層で２つ以上の同一の発現遺伝子がある場合にのみ信号経路を形成してもよい。または、前層と後層で同一の発現遺伝子が２つ以上ある場合には、一致した発現遺伝子の数に応じた重みを、その信号経路を介して出力される信号値に乗じてもよい。
【０２２３】
なお、実施の形態及び変形例に係る比較部３５２及び比較部３５４が用いる活動化の基準は、相異なっていてもよい。例えば、第１層−第２層間の信号伝播において比較部３５２は並列型ＡＮＤ演算を実行し、第２層−第３層間の信号伝播において比較部３５４は並列型ＮＯＲ演算を実行してもよい。より一般化して、マッチングネットワークが４層以上で構成される場合においても、各層で使用する活動化の基準は、相異なっていてもよい。
【０２２４】
なお、実施の形態及び変形例に係る比較部３５２及び比較部３５４が活動化の基準で用いる数値は、具体例である。よって、大小関係を維持していれば、これ以外の数値を使用することも可能である。
【０２２５】
なお、実施の形態及びその変形例に係る特徴抽出装置１００では、すべての層で同一の遺伝子レパートリーを使用した。しかし、発現遺伝子割当部３５０は、層ごとに異なる遺伝子レパートリーを使用して、ニューロンに発現遺伝子を割り当ててもよい。
【０２２６】
なお、実施の形態及び変形例に係る特徴抽出装置１００は、比較部を第２層と第３層に１つずつ備えているが、これは論理的に各層に対応する比較部を想定できることを示したに過ぎない。よって、特徴抽出装置１００全体で１つの比較部を備え、この比較部が全ての層について比較処理を行ってもよい。
【０２２７】
なお、特徴ベクトルの類似判定は、内積でなくともよい。一般に、２つの特徴ベクトルの一致度合いを抽出する処理であればよい。例えば、２つの特徴ベクトルの差の二乗和であってもよい。また、単純に特徴ベクトルに含まれる要素のうち一致する個数を算出してもよい。
【０２２８】
なお、上記実施の形態及び変形例に係る特徴抽出装置１００を構成する階層型ニューラルネットワークでは、信号は隣接する層間で、前層から後層へ一方向にのみ伝搬されるものとして説明したが、必ずしもこれに限られるものではない。必要に応じて、後層から前層へ信号を伝播してもよく、また、同一層内で他のニューロンに対して信号を伝播させてもよい。
【０２２９】
また、上記実施の形態及び変形例においては、特徴抽出装置を構成するニューラルネットワークは、階層構造を有する階層型ネットワークであることを前提として説明した。しかし、必ずしも階層構造を有していなくてもよい。例えば、相互結合型のホップフィールド型ネットワークであってもよい。本発明の本質は、マッチングルールによりニューロン間で信号を伝達することにあるからである。
【０２３０】
したがって、特徴抽出装置は、ニューラルネットワークから構成される特徴抽出装置であって、ニューラルネットワークは、演算部である複数のニューロンを備え、複数のニューロンは、一方のニューロンから他方のニューロンへの信号の伝達の可否を決定するための属性値である発現遺伝子をそれぞれ１以上有しており、複数のニューロンのうち、特徴抽出の対象である対象データを分割して得られる入力データが入力された第１のニューロンは、当該入力データの値が大きいほど大きな値である第１信号値を、自身が有する発現遺伝子と同一の発現遺伝子を有する第２のニューロンへ出力し、第２のニューロンは、入力された第１信号値の総和に対応する値である第２信号値を対象データの特徴量として算出するとしてもよい。
【０２３１】
なお、従来の人工ニューラルネットワークは、別々に学習を行った複数のネットワークを結合しても、情報処理能力を統合することはできない。これに対し、マッチングネットワークは、独立に生成されたネットワークであっても、マッチングルールに従ってお互いに結線させることにより拡張することができ、かつ、個々のネットワークにより処理された情報を統合することができる。具体的には、図１２を参照して、テンプレート画像５５２を処理する、第２層のマッチングネットワーク（並列型ＡＮＤ処理を実施）と、複数の対象画像５５４を処理する、第２層のマッチングネットワーク（並列型ＮＯＲ処理を実施）とが、それぞれ独立に生成されたネットワークであってもよい。より具体的には、ニューロンに割り当てられる発現遺伝子が、並列型ＡＮＤ処理を行うマッチングネットワークと、並列型ＮＯＲ処理を行うマッチングネットワークとで異なっていてもよい。ただし、その際には、特徴抽出の対象データを分割して得られる各入力データに割り当てられる発現遺伝子（具体的には、発現遺伝子の番号）は、共通でなければならないため、入力層（第１層）は、共通であることが必要である。
【０２３２】
なお、図１１に示される５つの並列型論理演算は、マッチングネットワークで行う演算処理の一例であり、例えば、「上位１０％以内のニューロンは２を出力し、上位５０％以内のニューロンから、上位１０％以内のニューロンを除いたニューロンは１を出力し、上位８０％以内のニューロンから上位５０％以内のニューロンを除いたニューロンは０を出力し、残りのニューロンは−１を出力する」等のルールに従って出力してもよい。
【０２３３】
なお、マッチングネットワークは、学習過程なしに特徴抽出が可能ではあるが、例えば、結合行列を重み行列とみなし、学習によりその値の変更を行ってもよい。
【０２３４】
なお、上記マッチングネットワークを用いて特徴抽出が可能な理由を考察すると、マッチングルールにより生成されたマッチングネットワークは、グラフ理論でいうスモールワールド性を有するためであると考えられる。以下、その詳細を述べる。
【０２３５】
上記マッチングルールの着想は、本願発明者らが発見した細胞接着分子群であるクラスター型プロトカドヘリン（ｃＰｃｄｈ）において、約６０種のサブタイプが遺伝子クラスターを構成し、これらのサブタイプが神経細胞においてランダムな組合せで発現していることから得ている。
【０２３６】
この発見から、脳における情報処理が、同一のプロトカドヘリン分子種（実施の形態における、発現遺伝子）を発現している細胞間を連結する複数のネットワークの同時並行処理により行われているという仮説を立て、この仮説に基づくマッチングネットワークを有する、特徴抽出装置を発明した。
【０２３７】
このマッチングネットワークは、グラフ理論でいう以下の特徴を有することがシミュレーションにより明らかである。
【０２３８】
（１）短い頂点間距離
そのネットワークに属する任意の２つのノードが、少数の中間ノードを介して接続されていれば、そのネットワークは短い頂点間距離をもつという。すなわち、任意のノード間の平均距離が小さいことを意味する。
【０２３９】
（２）高いクラスター性
あるノードと接続されている他の２つのノードが、やはり相互に接続されている可能性が高ければ、そのネットワークのクラスター性は高いという。すなわち、３つのノードからなる三角形のネットワークが多数含まれていることを意味する。
【０２４０】
前述のマッチングネットワークは、頂点間距離が短い代表的なネットワークであるランダムネットワークとほぼ同じ頂点間距離でありながら、ランダムネットワークより遙かに高いクラスター性をもつ。
【０２４１】
高いクラスター性は、特徴抽出における組合せ抽出処理に好適である。例えば、ニューロンの数が少ない入力層と、ニューロンの数が多い中間層をつなぐマッチングネットワークは、入力層に入力された入力データの値を中間層のニューロンへ広く拡散させることができる。一方、ニューロンの数が多い中間層と、ニューロンの数が少ない出力層をつなぐマッチングネットワークは、拡散させた中間層のニューロンからの出力を、出力層へ集約することで特徴量とすることができる。したがって、有効な組合せを検出できる。
【０２４２】
また、短い頂点間距離は、多数のクラスター同士が独立しておらず、相互に接続されていることを意味する。よって、対象データの特徴は、中間層及び出力層への伝播において、偏り無く組合せを抽出し、特徴量の多様性をうむ。特に、中間層の数が多い場合に、その効果は顕著になると考えられる。その結果、例えば、図１３に示した非類似画像検索の結果に示されるように、テンプレート画像５５２と比較し「多様な観点で異なる」画像の特徴ベクトルを出力することが可能となると考えられる。
【０２４３】
なお、グラフ理論の分野における、いわゆる「スケールフリー性」についても、各ニューロンに割り当てる発現遺伝子の数にばらつきを与えることにより、調整することが可能である。
【０２４４】
以上述べたように、実施の形態及び変形例に係る特徴抽出装置１００は、スモールワールド性という特異な性質を有するマッチングネットワークを計算機上で生成し、これを用いた特徴抽出装置を実現するものである。
【０２４５】
また、マッチングネットワークの性質として、層の数を増やした場合においても、１層に入力された情報の特性が維持されやすいという特徴がある。
【０２４６】
図１４は、マッチングネットワーク（ＭＮ）及びランダムネットワーク（ｒａｎｄｏｍ）のそれぞれにおいて、階層の数と情報の維持との関係を示す図である。縦軸は、個々のニューロンが持っている反応特性の顕著さを示す。この値が高いほど、個々のニューロンが１層に提示された画像の特徴によって異なる反応を返していることを意味する。これは、ニューロンごとに好みの画像があることを意味している。横軸は、階層の数を示す。
【０２４７】
図１４に示されるように、ランダムネットワークにおいては、階層の数を増やすに従い、ニューロンは反応の特性を失う。このことは、あるニューロンが活動したからといって、どのような画像が提示されたのか、わからなくなってしまったことを意味する。一方、マッチングネットワークにおいては、階層の数を増やしても、ニューロンの反応特性はさほど低下しておらず、1層に提示された画像がどのような画像であったかの情報を維持していると言える。
【０２４８】
このことは、マッチングネットワークにおいては、情報は後述の遺伝子コードによって表現されていることにより可能になっている。これにより、異なる層の異なるニューロン同士を、階層間で容易に結合することができるという利点が生まれる。これは、マルチモーダルな情報処理を実現する上で、大きな利点となる。
【０２４９】
このように、層を重ねても情報が失われにくいという特性は、以下の利点が考えられる。
【０２５０】
まず、情報処理において、後続の層からの出力を再度前の層に戻した場合に性能が低下しにくいという利点が挙げられる。情報処理においては、例えば、ある層による処理結果を、しばらく保存しておき、後で使用したい場合がある。この場合、後で使用したい情報を、必要になるまで層の間で伝播させ続けておくことにより、半導体メモリ等を備えることなく、情報の一時的な記憶が実現できる。これにより、情報処理装置の小型化、低コスト化、省エネ化等が実現できる。さらに、情報処理装置にとって、ガーベージコレクション等、メモリ領域の管理を行う必要がなくなる。
【０２５１】
また、マッチングネットワークにおいては、異なるニューロンコード（すなわち、活動したニューロンの番号）同士を、階層間で容易に結合できる。このマッチングネットワークの性質から、以下の利点が生じる。
【０２５２】
まず、マッチングネットワークによると、多様な論理回路を容易に形成できる。例えば、図１１に示すように、個々の層は論理素子を形成している。より詳細には、個々の層は、並列型論理素子といえる。これに加えて、マッチングネットワークは、図１４に示すように高い情報保持能力を有する。
【０２５３】
個々の論理素子は単純な機能しか持ち得ないが、これを何段か直列・並列に組み合わせることにより、複雑な論理回路を形成させることができる。具体的には、一般的なデジタル論理回路と同様に、単純なＡＮＤ，ＮＡＮＤ回路などを組み合わせることにより、比較器など複雑な回路を構成できる。このことが可能になるには、素子間で情報が安定して伝達されることが前提となる。これを保証しているのが、図１４に示されるマッチングネットワークの情報保持能力である。
【０２５４】
すなわち、階層型マッチングネットワークでは各層が並列型論理素子であり、これを組み上げることにより多様な論理回路を形成できるという利点を有する。
【０２５５】
また、これは、マルチモーダルな情報処理を実現する上でも利点となる。
【０２５６】
より詳細には、作業ロボットの制御を例にとり説明する。再度図６を参照して、入力データＡ、入力データＢ、及び入力データＣが、それぞれ作業ロボットの視覚、聴覚、触覚に相当するセンサにより出力されたデータであるとする。
【０２５７】
ロボットが正しく作業を行うためには、人間と同様に、視覚、聴覚、触覚など、複数のセンサにより出力されたそれぞれのデータを統合して、環境を認識する必要がある。したがって、例えば、第２層ニューロン３１１に、第１層ニューロン３０１と第１層ニューロン３０２とから入力があり、第２層ニューロン３１２に、第１層ニューロン３０２と第１層ニューロン３０３とから入力があり、第２層ニューロン３１３に、第１層ニューロン３０３と第１層ニューロン３０１とから入力がある場合、第２層のいずれのニューロンも、入力データＡ〜入力データＣの３つを取得していない。したがって、第２層までに含まれるいずれのニューロンも、センサから出力されたすべての情報を統合した処理を行うことはできない。しかし、第３層において、例えば第３層ニューロン３２１に対して、第２層ニューロン３１１と第２層ニューロン３１２とからの入力がある場合、第３層ニューロン３２１は、入力データＡ〜入力データＣの３つ全てを参照して処理を行うことができる。このように、第３層（あるいは、第４層以降）を追加することにより、ニューロンが、センサから出力されたすべての情報に基づく処理を行いうる確率を増やすことができる。したがって、階層間の結合を増やすことが可能であるというマッチングネットワークの性質は、マルチモーダルな情報処理を実現する上で、不可欠な特性といえる。
【０２５８】
以上の説明においては、マッチングネットワークの性質を、ニューロンを中心に述べた。次に、遺伝子を中心に、マッチングネットワークの性質について以下に説明する。具体的には、活動したニューロンがもっている発現遺伝子に注目する。
【０２５９】
図１５Ａ〜図１５Ｃは、異なる３つの画像が有する特徴をマッチングネットワークにより抽出した結果を示す。より詳細には、図１５Ａの（ａ）は、図１５Ａの（ｂ）に示される画像をマッチングネットワークに入力して得られたニューロンコード（活動したニューロンの番号）を示す。一方、図１５Ａの（ｃ）は、図１５Ａの（ｂ）に示される画像をマッチングネットワークに入力した際に活動した遺伝子の遺伝子コードをヒストグラムとして示したグラフである。すなわち、遺伝子コードとは、要素数が遺伝子レパートリー数となるベクトルで表される、発現遺伝子の度数分布を示す情報である。ここで、発現遺伝子の度数は、複数のニューロンのそれぞれについて、当該ニューロンが他のニューロンからマッチングルールに基づき入力された信号値の数が大きいほど、当該ニューロンが有する（すなわち、当該ニューロンに割り当てられた）発現遺伝子の度数がより大きくなるように決定される。これは、より多くの第１信号値を取得したニューロンが持つ発現遺伝子ほど、影響がより大きくなることを意味する。
【０２６０】
図１５Ｂの（ａ）及び図１５Ｃの（ａ）は、それぞれ、図１５Ｂの（ｂ）及び図１５Ｃの（ｂ）に示される画像をマッチングネットワークに入力して得られたニューロンコードを示す。また、図１５Ｂの（ｃ）及び図１５Ｃの（ｃ）は、それぞれ、図１５Ｂの（ｂ）及び図１５Ｃの（ｂ）に示される画像をマッチングネットワークに入力した際に活動した遺伝子の遺伝子コードをヒストグラムとして示したグラフである。
【０２６１】
すなわち、図１５Ａの（ｃ）、図１５Ｂの（ｃ）、及び図１５Ｃの（ｃ）として示される遺伝子コードのヒストグラムはそれぞれ、図１５Ａの（ｂ）、図１５Ｂの（ｂ）、及び図１５Ｃの（ｂ）として示される画像の特徴量とみなすことができる。
【０２６２】
このように、遺伝子コードを中心にマッチングネットワークを捉え直すと、マッチングネットワークが行う情報処理は、複数の、遺伝子コードのグループと、与えられたデータとの類似度を出力する処理であると考えることができる。
【０２６３】
より詳細には、マッチングネットワークの利点の１つは、図１５Ａ〜図１５Ｃに示すように、ニューロンコードと遺伝子コードの２種類の情報コード様式を持つことである。以下、図１５Ａ〜図１５Ｃを総称して、図１５とよぶ。
【０２６４】
図１５は、遺伝子レパートリーが５０のマッチングネットワークでの例である。図１５の（ｃ）にあるように、遺伝子コードは、要素数が遺伝子レパートリー数となるベクトルで表現される。
【０２６５】
個々の層からの出力として直接見えるのは図１５の（ａ）のようなニューロンの活動であるが、マッチングネットワークにおいては、これは図１５の（ｃ）の遺伝子コード（活動したニューロンが持つ遺伝子の合計）と等価である。
【０２６６】
図１５の（ａ）のニューロンコードは、同一の画像であっても、層により、また使用するマッチングネットワークにより、異なる値を取る。言いかえれば、活動するニューロンの番号は、同一画像でも層により異なる。
【０２６７】
一方、図１５の（ｃ）の遺伝子コードは、層を経ても、また異なるマッチングネットワーク（ただし、遺伝子レパートリーは同一であるとする）でも、かなり近い値を取る。
【０２６８】
つまり、遺伝子コードこそ、その画像を表現する固有の値であると言える。
【０２６９】
実際、図２８に示されるように、類似画像探索において、ニューロンコードを用いても、遺伝子コードを用いても、同様な成績を得ることができている。
【０２７０】
また、図１２に示すように、マッチングネットワークは高い統合性を持つが、これは共通する遺伝子コードを伝達しているからである。マッチングネットワークは、ニューロンの活動を利用して、遺伝子コードという、個々の情報（ここでは画像）に固有の値を伝達しているのである。
【０２７１】
したがって、マッチングネットワークの個々の層は、遺伝子コードを変換する論理素子として考えることが可能である。
【０２７２】
図１２及び図１３に示した非類似画像探索においては、ＮＯＲ素子により遺伝子コードを全く似ていないパターンに変換して、そのような遺伝子コードを持つ画像を探索しているのである。
【０２７３】
このように、マッチングネットワークは、単なるニューロンの活動（ニューロンコード）を、固有のベクトル（遺伝子コード）に変換する能力を持つ。
【０２７４】
また、遺伝子それぞれは、図１８〜２０に示すような、特有のパターン（プロトタイプ）を表現している。
【０２７５】
したがって、遺伝子コードは、個々の画像がどのようなプロトタイプにどれほど似ているか、どのプロトタイプの組合せに近いのかを、明示的に表現するものである。
【０２７６】
逆に、遺伝子コードを恣意的に操作することにより、どのようなプロトタイプに近い情報を選択したいか、という逆の演算なども可能になる。
【０２７７】
このように、遺伝子コードは、このようなこれまでにない演算の可能性を持つ。
【０２７８】
すなわち、本発明に係る特徴抽出装置１００は、第２のニューロンのそれぞれについて、当該第２のニューロンに入力された第１信号値の数が大きいほど、より大きくなるように、当該第２のニューロンが有する発現遺伝子の度数を決定し、決定された度数を複数の発現遺伝子のそれぞれごとに合計した度数の分布を示す情報である遺伝子コードを、対象データの特徴として出力する特徴抽出装置であると言うこともできる。
【０２７９】
より具体的には、例えば、特徴抽出装置１００は、第２のニューロンのそれぞれについて、当該第２のニューロンが有する各発現遺伝子の度数を、当該第２のニューロンに入力された第１信号値の数として決定してもよい。例えば、あるニューロンが、２、４、７の番号で表される３つの発現遺伝子を有しており、このニューロンに他のニューロンから１０個の信号値を入力された場合、このニューロンが有する発現遺伝子である、２、４、７の度数は、それぞれ１０として決定される。この値をすべての第２ニューロンについて合計し、遺伝子ごとの度数分布とする。
【０２８０】
また、特徴抽出装置１００は、第２のニューロンのそれぞれについて、当該第２のニューロンに入力された第１信号値の数が所定の閾値以上であるか否かを判定し、所定の閾値以上である第２のニューロンが有する発現遺伝子を複数の発現遺伝子のそれぞれごとに合計した度数として、遺伝子コードを決定してもよい。
【０２８１】
以下、図１６〜図１８を参照して、より詳細に説明する。
【０２８２】
図１６は、１４４個の第１層のニューロンそれぞれに含まれる遺伝子コードを、１２区画×１２区画のマトリクス状に並べた図である。１番目の区画には、８と３６と４３が含まれている。これは、１４４個の第１層のニューロンのうち、１番目のニューロンが有する遺伝子コードが、８と３６と４３で有ることを示す。
【０２８３】
図１７Ａは、図１６において、遺伝子コード「１」が含まれる区画にのみ「１」を記載し、他の区画を空白として表した図である。図１７Ａに示される１４４個の区画のうち、左上の区画が第１層のニューロンのうち１番目のニューロンに対応し、右下の区画が第１層のニューロンのうち１４４番目のニューロンに対応する。
【０２８４】
同様に、図１７Ｂは、図１６において、遺伝子コード「２」が含まれる区画にのみ「２」を記載し、他の区画を空白として表した図である。また、図１７Ｃは、図１６において、遺伝子コード「３」が含まれる区画にのみ「３」を記載し、他の区画を空白として表した図である。
【０２８５】
このように、遺伝子コードが１〜５０まである場合、１〜５０の遺伝子コードごとに当該遺伝子コードが含まれない区間を空白として表した画像を作成すると、合計５０枚の画像が作成される。さらに、得られた５０枚の画像のそれぞれについて、空白以外の（すなわち、遺伝子コードが記載されている）区間を黒く塗りつぶしたものを、５区間×１０区間のマトリクス状に並べたものを図１８に示す。すなわち、図１８は、あるマッチングネットワークの第１層における遺伝子コードのパターンの一覧を示す画像である。
【０２８６】
例えば、左上の区間６１０ａは、１４４個のニューロンのうち、遺伝子コード「１」が含まれるニューロンを視覚化した画像である。また、右下の区間６１０ｂは、遺伝子コード「５０」が含まれるニューロンを視覚化した画像である。以後、図１８に示される各区間のように、特定の遺伝子コードが含まれるニューロンを視覚化した画像をプロトタイプ画像とよぶ。
【０２８７】
図１８の画像を生成する際に使用したマッチングネットワークにおいては、各ニューロンへランダムに発現遺伝子を割り当てたため、各遺伝子コードを視覚化したプロトタイプ画像は、いずれもランダムな模様を示している。
【０２８８】
マッチングネットワークは、例えば、図１８に示されるような５０枚のプロトタイプ画像の組合せとして入力データを表現する場合において、プロトタイプ画像ごとの寄与度（重み）を算出する処理を行っていると考えることもできる。すなわち、マッチングネットワークが行う特徴抽出処理とは、入力データをうまく表現可能なように、既定された複数のプロトタイプ画像の組み合わせを決定する処理であるといえる。
【０２８９】
したがって、遺伝子コードはランダムに決定しなくてもよい。すなわち、発現遺伝子割当部３５０は、各ニューロンに対してランダムに発現遺伝子を割り当てなくてもよい。
【０２９０】
例えば、図１９は、任意に選択した５０個の画像に２値化処理を施した画像である。発明者の実験によると、こうして他の画像を２値化することによってプロトタイプ画像を生成し、これらのプロトタイプ画像に対応する発現遺伝子を各ニューロンに割り当てたマッチングネットワークによっても、精度良く、類似画像探索を行うことができた。
【０２９１】
さらには、図２０に示されるような、人工的な模様をプロトタイプ画像として使用することもできる。
【０２９２】
以上述べた、既定のパターンの組合せとして、新たな入力を表現するマッチングネットワークの機能は、例えばマーケティングにおいてユーザの嗜好を対象としたデータマイニング等においても利用できる。以下、お茶の新商品開発の場面を想定して、具体的に説明する。
【０２９３】
（ステップＳ１）
まず、既存の５０種類のお茶を１４４人の評価者に飲んでもらい、各自に好きなお茶を５種類ずつあげてもらったとする。ここで、評価者には１〜１４４の番号をつけておく。また、お茶には、１〜５０の番号をつけておく。
【０２９４】
図２１Ａは、１４４人のそれぞれが好きなお茶としてあげたお茶の番号を示す。たとえば一番左の列は、１番の評価者が、２番、５番、２１番、４６番、及び４９番のお茶を好きなお茶としてあげたことを示す。また、一番右の列は、１４４番の評価者が、６番、２２番、３５番、４１番、及び４４番のお茶を好きなお茶としてあげたことを示す。
【０２９５】
（ステップＳ２）
次に、同じ１４４人の評価者に、新商品として開発中である新しいお茶を飲んでもらい、新しいお茶が気に入ったか否かを聞く。その後、新しいお茶を気に入ったと答えた人が、ステップＳ１において好きだと答えた既存のお茶の番号を集計し、ヒストグラムを作成する。
【０２９６】
例えば、１番の評価者が新しいお茶を好きだと答えた場合、２番、５番、２１番、４６番、及び４９番のお茶の度数それぞれに１が加算される。また、２番の評価者も新しいお茶が好きだと答えた場合、６番、１２番、３３番、３４番、及び５０番のお茶の度数それぞれに１が加算される。
【０２９７】
図２１Ｂは、このようにして作成された、「新しいお茶が気に入った人が好きな、既存のお茶の番号」についてのヒストグラムを示す。
【０２９８】
図２１Ｂを参照すると、新しいお茶は、３６番、５０番などのお茶が好きな人に好まれていることがわかる。一方、２０番、２１番等のお茶が好きな人には好まれてない傾向があることが予想される。
【０２９９】
遺伝子コードを中心に考えると、マッチングネットワークも、図２１Ｂに示されるようなヒストグラムの類似度で、類比を判断していると考えられる。
【０３００】
以下、より具体的に説明する。
【０３０１】
例えば、図２２は、マッチングネットワークの第１層６３０に、図２１Ａに示された、１４４人の評価者の嗜好データが入力された様子を示す。すなわち、第１層６３０に含まれるニューロンの各々を示す各列には、各列に対応する評価者が好きだと答えたお茶の番号が含まれている。なお、評価者が１４４人とすると、第１層６３０の列の数は１４４となるが、ここでは説明のため、列の数を省略して記載している。
【０３０２】
図２２において、第１層６３０と第２層６３２とは、「好まれたお茶の番号が１つでも一致したニューロン間に結合を生成する」というマッチングルールに基づき生成された結合を有している。こうしたマッチングルールにより層間の結合を生成することにより、例えば、より多くの人に好まれるお茶をマッチングネットワークにより抽出することができる。以後、図２２に示されるニューロン間の結合の種別を、第１結合タイプとよぶ。
【０３０３】
また、マッチングルールとして、その他のルールを適用することも考えられる。
【０３０４】
例えば、図２３においては、第１層６３４と第２層６３６とは、「お茶の番号が３つ以上一致したニューロン間にのみ結合を生成する」というマッチングルールに基づき生成された結合を有している。こうしたマッチングルールにより生成される層間の結合によれば、個人が共通してもっているお茶の嗜好を抽出することができる。例えば、第１層６３４と第２層６３６との間に生成された結合から、１４番のお茶、２２番のお茶、３７番のお茶のうち、いずれかを好む人は、他のお茶も好む傾向にあることが予想される。以後、図２３に示されるニューロン間の結合の種別を、第２結合タイプとよぶ。
【０３０５】
さらに、図２４においては、第１層６３８と第２層６４０とは、「一致したお茶の番号の数だけ、ニューロン間に結合を生成する」というマッチングルールに基づき生成された結合を有している。こうしたマッチングルールにより生成される層間の結合は、前述した２つのマッチングルールの中間的な性質を有している。すなわち、多くの人が好むお茶の番号間に結合が生成される一方で、そのお茶を好む人の嗜好が共通するお茶同士には、より多くの（すなわち、重みの大きな）結合が生成される。以後、図２４に示されるニューロン間の結合の種別を、第３結合タイプとよぶ。
【０３０６】
また、１つのマッチングネットワーク内で、異なる結合タイプを組み合わせて使用することもできる。
【０３０７】
例えば、図２５に示されるマッチングネットワークにおいては、第１層６４２と第２層６４４との間の結合タイプを、第１結合タイプとし、第１層６４２と第２層６４６との間の結合タイプを、第２結合タイプとしている。さらに、第２層６４４及び第２層６４６のそれぞれと、第３層６４８との間の結合タイプを、第３結合タイプとしている。
【０３０８】
その結果、第２層６４４では、１４４人の評価者のうち、多くの人に好まれたお茶を抽出できる。また、第２層６４６では、１４４人の評価者のうち、一部の人に共通して好まれるお茶の組み合わせを抽出できる。そして、第３層６４８では、あるお茶を好む人に共通して好まれるお茶であり、かつ、多くの人に好まれるお茶の組み合わせ（お茶のブレンド）を抽出できる。
【０３０９】
すなわち、複数の第１層ニューロンの各々は、（Ａ）自身が有する発現遺伝子と、第２層ニューロンが有する発現遺伝子とで一致する発現遺伝子の数が事前に定められた閾値以上であれば、信号を第２層ニューロンへ出力し、又は、（Ｂ）自身が有する発現遺伝子と、第２層ニューロンが有する発現遺伝子とで一致する発現遺伝子の数がより多いほど、より大きな重みを付けて、信号を第２層ニューロンへ出力するとしてもよい。
【０３１０】
マッチングネットワークには、前述したように、層間の伝播によっても発現遺伝子の多様性が失われにくいという特性があるため、結合タイプを変更して層を追加しても、特徴抽出性能は劣化しにくい。
【０３１１】
以上述べたように、マッチングネットワークは、特徴抽出装置としての用途以外にも、未知のものをうまく近似可能な、既知のパターンの組み合わせを発見する装置としても利用できる。したがって、前述したようなマーケティングのためのデータマイニングに使用できる。
【０３１２】
また、マッチングネットワークは、例えばある画像に類似する画像、及び類似しない画像の両方の特徴をうまく抽出できる。したがって、動画像中の類似シーンをまとめるシーン抽出装置、防犯映像中の不審な移動体の自動検出装置等にも利用できる。
【０３１３】
なお、実施の形態で説明した特徴抽出装置１００は、コンピュータにより実現することが可能である。図２６を参照して、特徴抽出装置１００は、コンピュータ３４と、コンピュータ３４に指示を与えるためのキーボード３６及びマウス３８と、コンピュータ３４の演算結果等の情報を提示するためのディスプレイ３２と、コンピュータ３４で実行されるプログラムを読み取るためのＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−ＲｅａｄＯｎｌｙ  Ｍｅｍｏｒｙ）装置４０及び通信モデム（図示せず）とを含む。
【０３１４】
特徴抽出装置１００が行う処理であるプログラムは、コンピュータで読取可能な媒体であるＣＤ−ＲＯＭ４２に記憶され、ＣＤ−ＲＯＭ装置４０で読み取られる。又は、コンピュータネットワークを通じて通信モデム５２で読み取られる。
【０３１５】
図２７は、特徴抽出装置１００を実現するコンピュータシステムのハードウェア構成を示すブロック図である。コンピュータ３４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４４と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４６と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４８と、ハードディスク５０と、通信モデム５２と、バス５４とを含む。
【０３１６】
ＣＰＵ４４は、ＣＤ−ＲＯＭ装置４０又は通信モデム５２を介して読み取られたプログラムを実行する。ＲＯＭ４６は、コンピュータ３４の動作に必要なプログラムやデータを記憶する。ＲＡＭ４８は、プログラム実行時のパラメタなどのデータを記憶する。ハードディスク５０は、プログラムやデータなどを記憶する。通信モデム５２は、コンピュータネットワークを介して他のコンピュータとの通信を行う。バス５４は、ＣＰＵ４４、ＲＯＭ４６、ＲＡＭ４８、ハードディスク５０、通信モデム５２、ディスプレイ３２、キーボード３６、マウス３８及びＣＤ−ＲＯＭ装置４０を相互に接続する。
【０３１７】
さらに、上記の特徴抽出装置１００を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。ＲＡＭには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。
【０３１８】
さらにまた、上記の特徴抽出装置１００を構成する構成要素の一部又は全部は、脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。ＩＣカード又はモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。ＩＣカード又はモジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ＩＣカード又はモジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【０３１９】
また、本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０３２０】
さらに、本発明は、上記コンピュータプログラム又は上記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、ＵＳＢメモリ、ＳＤカードなどのメモリカード、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている上記デジタル信号であるとしてもよい。
【０３２１】
また、本発明は、上記コンピュータプログラム又は上記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０３２２】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作するとしてもよい。
【０３２３】
また、上記プログラム又は上記デジタル信号を上記記録媒体に記録して移送することにより、又は上記プログラム又は上記デジタル信号を、上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０３２４】
さらに、上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０３２５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０３２６】
本発明は、特徴抽出装置に適用でき、特に人工ニューラルネットワークを用いた特徴抽出装置等に適用できる。
【符号の説明】
【０３２７】
３２  ディスプレイ
３４  コンピュータ
３６  キーボード
３８  マウス
４０  ＣＤ−ＲＯＭ装置
４２  ＣＤ−ＲＯＭ
４４  ＣＰＵ
４６  ＲＯＭ
４８  ＲＡＭ
５０  ハードディスク
５２  通信モデム
５４  バス
１００  特徴抽出装置
１０２、１０６、１１０、５５０  画像
１０４、１０８、１１２  特徴ベクトル
２０１、２０２、２０３、２０４、２０５、２５１、２５２、２５３、２５４、２５５、２５６、２５７、２５８、２５９  ニューロン
３０１、３０２、３０３  第１層ニューロン
３０９、６３０、６３４、６３８、６４２  第１層
３１１、３１２、３１３  第２層ニューロン
３１９、６３２、６３６、６４０、６４４、６４６  第２層
３２１、３２２、３２３、６４８  第３層ニューロン
３２９  第３層
３５０  発現遺伝子割当部
３５２、３５４  比較部
５５２  テンプレート画像
５５４  対象画像
５６０  発現行列
５６２  結合行列
５７０、５７２、５７４、５７６  検索結果
６１０ａ、６１０ｂ  区間
【図１】
2012053188.tif 000003
【図２】
2012053188.tif 000004
【図３】
2012053188.tif 000005
【図４】
2012053188.tif 000006
【図５】
2012053188.tif 000007
【図６】
2012053188.tif 000008
【図７】
2012053188.tif 000009
【図８】
2012053188.tif 000010
【図９Ａ】
2012053188.tif 000011
【図９Ｂ】
2012053188.tif 000012
【図１０】
2012053188.tif 000013
【図１１】
2012053188.tif 000014
【図１２】
2012053188.tif 000015
【図１３】
2012053188.tif 000016
【図１４】
2012053188.tif 000017
【図１５Ａ】
2012053188.tif 000018
【図１５Ｂ】
2012053188.tif 000019
【図１５Ｃ】
2012053188.tif 000020
【図１６】
2012053188.tif 000021
【図１７Ａ】
2012053188.tif 000022
【図１７Ｂ】
2012053188.tif 000023
【図１７Ｃ】
2012053188.tif 000024
【図１８】
2012053188.tif 000025
【図１９】
2012053188.tif 000026
【図２０】
2012053188.tif 000027
【図２１Ａ】
2012053188.tif 000028
【図２１Ｂ】
2012053188.tif 000029
【図２２】
2012053188.tif 000030
【図２３】
2012053188.tif 000031
【図２４】
2012053188.tif 000032
【図２５】
2012053188.tif 000033
【図２６】
2012053188.tif 000034
【図２７】
2012053188.tif 000035
【図２８】
2012053188.tif 000036
【国際調査報告】
2012053188.tif 000037
2012053188.tif 000038