(57)【要約】【課題】従来よりも好適な認識システムの計算モデルを導出できるようにする。【解決手段】本発明が適用されたモデル導出装置では、与えられたＳ個の学習データＤ（ｓ）＝｛Ｘ（ｓ），ｙ（ｓ）｝（但し、ｓ＝１，…，Ｓである。）に基づき、教師信号をｙ（ｓ）として、ニューラルネットワークのパラメータ（結合係数）の解を求める（Ｓ２１０）。そして、学習データＤ（ｓ）毎に、このニューラルネットワークに対してサンプルＸ（ｓ）を入力し、ニューラルネットワークの出力層より１層手前の中間層の出力値Ｚ＝｛ｚ１，…，ｚＮ２｝を求め、出力値ＺをサンプルＵ（ｓ）として新たな学習データＤｖ（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝を生成する（Ｓ２２０）。そして、この学習データＤｖ（ｓ）を用いて、非線形サポートベクタマシンを設計し（Ｓ２４０）、ニューラルネットワーク及び非線形サポートベクタマシンを組み合わせてなる計算モデルを導出する。【選択図】図２
2008250990.tif 000002
【特許請求の範囲】
【請求項１】
与えられた入力値Ｘ＝｛ｘ１，…，ｘＮ1｝（但し、値Ｎ1は、２以上の整数である。）から、前記入力値Ｘに対応するカテゴリを表す値ｙを、所定の計算モデルにより算出して、前記入力値Ｘに対応するカテゴリを認識する認識システム
の前記計算モデルを、前記入力値ＸのサンプルＸ（ｓ）及びこのサンプルが属するカテゴリを表す値ｙ（ｓ）の組合せからなる任意のＳ個の学習データＤ（ｓ）＝｛Ｘ（ｓ），ｙ（ｓ）｝（但し、ｓ＝１，…，Ｓである。）に基づいて、導出する方法であって、
学習対象のニューラルネットワークとして、第０層をＮ1個の入力ユニットからなる入力層とし、第Ｌ1層を出力層とした（Ｌ1＋１）層のニューラルネットワーク（但し、値Ｌ1は２以上の整数である。）を設定し、このニューラルネットワークにおいて未知数の学習パラメータＷ1を、前記各学習データＤ（ｓ）の値ｙ（ｓ）を教師信号として用いて、前記Ｓ個の学習データＤ（ｓ）に基づき学習し、前記学習パラメータＷ1の解を求める手順［ａ］と、
前記手順［ａ］で求めた学習パラメータＷ1の解を設定してなる学習後の前記（Ｌ1＋１）層のニューラルネットワークを用いて、前記各学習データＤ（ｓ）に対応する新たな学習データＤv（ｓ）を生成する手順であって、前記各学習データＤ（ｓ）毎に、学習データＤ（ｓ）のサンプルＸ（ｓ）を、学習後の前記（Ｌ1＋１）層のニューラルネットワークへの入力値Ｘとして、このニューラルネットワークを構成するＮ2個（但し、値Ｎ2は２以上の整数である。）の中間ユニットからなる第（Ｌ1−１）層の出力値Ｚ＝｛ｚ１，…，ｚＮ2｝を求め、前記求めた出力値Ｚを新たなサンプルＵ（ｓ）として設定し、前記設定した新たなサンプルＵ（ｓ）、及び、前記学習データＤ（ｓ）が示す値ｙ（ｓ）の組合せからなるデータＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝を、前記学習データＤ（ｓ）に対応する新たな学習データＤv（ｓ）として生成する手順［ｂ］と、
前記手順［ｂ］で生成した各学習データＤv（ｓ）に基づき、入力値Ｕ＝｛ｕ１，…，ｕＮ｝（但し、値Ｎは、入力値Ｕのサンプルとされる前記学習データＤv（ｓ）のサンプルＵ（ｓ）の次元数である。）に対応するカテゴリを表す値ｙを算出する非線形サポートベクタマシンを設計する手順［ｃ］と、
を含み、
前記学習後の（Ｌ1＋１）層のニューラルネットワークにおける第（Ｌ1−１）層の出力値Ｚを演算可能な計算モデルと、前記手順［ｃ］で設計した非線形サポートベクタマシンと、を組み合わせてなる計算モデルであって、入力値Ｘから前記第（Ｌ1−１）層の出力値Ｚを算出し、この出力値Ｚを前記非線形サポートベクタマシンの入力値Ｕとして当該非線形サポートベクタマシンの出力値ｙを算出する計算モデル
を、前記認識システムの計算モデルとして、導出することを特徴とするモデル導出方法。
【請求項２】
前記手順［ｂ］では、前記各学習データＤ（ｓ）毎に、学習データＤ（ｓ）のサンプルＸ（ｓ）に基づいて算出した前記値Ｚを、所定のアルゴリズムにより次元削減し、当該次元削減後の値Ｖ＝｛ｖ１，…，ｖＮ3｝（但し、値Ｎ3は値Ｎ2より小さい２以上の整数である。）を、前記新たなサンプルＵ（ｓ）として設定して、前記学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝を生成し、
前記認識システムの計算モデルとして、
入力値Ｘから前記第（Ｌ1−１）層の出力値Ｚを算出し、この出力値Ｚを前記所定のアルゴリズムにより次元削減して、前記出力値Ｚを、Ｎ3次元の値Ｖ＝｛ｖ１，…，ｖＮ3｝に変換し、変換後の値Ｖを前記非線形サポートベクタマシンの入力値Ｕとして当該非線形サポートベクタマシンの出力値ｙを算出する計算モデルを、導出することを特徴とする請求項１記載のモデル導出方法。
【請求項３】
前記手順［ｂ］では、前記各学習データＤ（ｓ）毎に、学習データＤ（ｓ）のサンプルＸ（ｓ）に基づいて算出した前記値Ｚを、主成分分析の手法により求めたＮ3個のＮ2次元ベクトルＪｍ（但し、ｍ＝１，…，Ｎ3である。）を用いて次元削減することにより、前記値Ｚを、第ｍ要素の値ｖｍがベクトルＪｍと前記値Ｚとの内積＜Ｊｍ，Ｚ＞で表されるＮ3次元の値Ｖ＝｛ｖ１，…，ｖＮ3｝に変換し、当該次元削減後の値Ｖ＝｛ｖ１，…，ｖＮ3｝を、前記新たなサンプルＵ（ｓ）として設定して、前記学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝を生成し、
前記認識システムの計算モデルとして、
入力値Ｘから前記第（Ｌ1−１）層の出力値Ｚを演算し、この出力値Ｚを、前記Ｎ3個のＮ2次元ベクトルＪｍを用いて次元削減し、次元削減後の値Ｖを前記非線形サポートベクタマシンの入力値Ｕとして当該非線形サポートベクタマシンの出力値ｙを算出する計算モデルを、導出することを特徴とする請求項２記載のモデル導出方法。
【請求項４】
前記手順［ａ］では、バックプロパゲーション法により、前記学習パラメータＷ1の解を求めることを特徴とする請求項１〜請求項３のいずれかに記載のモデル導出方法。
【請求項５】
前記手順［ｃ］では、入力値Ｕからカテゴリを表す値ｙを算出する前記非線形サポートベクタマシンについて、当該非線形サポートベクタマシンを構成するカーネルＫ（Ｕ，Ｕ（ｓ），γ）のパラメータγの適値を、次の手順［１］〜手順［３］により求め、当該適値をパラメータγに設定したカーネルＫ（Ｕ，Ｕ（ｓ），γ）を用いて、前記非線形サポートベクタマシンを設計することを特徴とする請求項１〜請求項４のいずれかに記載のモデル導出方法。
［１］学習対象のニューラルネットワークとして、第０層をＮ個の入力ユニットからなる入力層とし、第Ｌ2層を出力層とした（Ｌ2＋１）層のニューラルネットワーク（但し、値Ｌ2は２以上の整数である。）を設定し、このニューラルネットワークにおいて未知数の学習パラメータＷ2を、前記各学習データＤv（ｓ）の値ｙ（ｓ）を教師信号として用いて、前記Ｓ個の学習データＤv（ｓ）に基づき学習し、前記学習パラメータＷ2の解を求める。
［２］前記各学習データＤv（ｓ）毎に、学習データＤv（ｓ）のサンプルＵ（ｓ）を、前記手順［１］で求めた学習パラメータＷ2の解を設定してなる学習後の前記（Ｌ2＋１）層のニューラルネットワークへの入力値として、このニューラルネットワークを構成するＮh個（但し、値Ｎhは、入力値Ｕの次元数Ｎよりも大きい整数である。）の中間ユニットからなる第（Ｌ2−１）層の出力値Ｈ（ｓ）＝｛ｈ１（ｓ），…，ｈＮh（ｓ）｝を求める。
［３］前記学習データＤv（ｓ）及び前記手順［２］で求めた各学習データＤv（ｓ）のサンプルＵ（ｓ）に対応する値Ｈ（ｓ）を用いて、次式
【数１】
2008250990.tif 000041
に従い、二乗誤差Ｅが極小値を採るパラメータγの解γ*を、前記パラメータγの適値として求める（但し、＜Ｈ（ｓ＝ａ），Ｈ（ｓ＝ｂ）＞は、値Ｈ（ｓ＝ａ）と値Ｈ（ｓ＝ｂ）との内積を表す。）。
【請求項６】
前記カーネルＫ（Ｕ，Ｕ（ｓ），γ）は、ガウシアンカーネル
【数２】
2008250990.tif 000042
であることを特徴とする請求項５記載のモデル導出方法。
【請求項７】
請求項１〜請求項６のいずれかに記載のモデル導出方法により導出された計算モデルによって、与えられた入力値Ｘ＝｛ｘ１，…，ｘＮ1｝（但し、値Ｎ1は、２以上の整数である。）から、前記入力値Ｘに対応するカテゴリを表す値ｙを算出し、前記入力値Ｘに対応するカテゴリを認識することを特徴とする認識システム。
【請求項８】
前記入力値Ｘに対応するカテゴリの認識結果として、前記入力値Ｘに対応するカテゴリを表す値ｙを出力すると共に、当該値ｙを算出する際に求められた前記非線形サポートベクタマシンを構成する符号関数への入力値ｐの絶対値｜ｐ｜を、認識結果の確度を表す情報として出力する構成にされていることを特徴とする請求項７記載の認識システム。
【請求項９】
与えられた入力値Ｘ＝｛ｘ１，…，ｘＮ1｝（但し、値Ｎ1は、２以上の整数である。）から、前記入力値Ｘに対応するカテゴリを表す値ｙを、所定の計算モデルにより算出して、前記入力値Ｘに対応するカテゴリを認識する認識システム
の前記計算モデルの導出に用いられる情報処理装置であって、
前記入力値ＸのサンプルＸ（ｓ）及びこのサンプルが属するカテゴリを表す値ｙ（ｓ）の組合せからなるＳ個の学習データＤ（ｓ）＝｛Ｘ（ｓ），ｙ（ｓ）｝（但し、ｓ＝１，…，Ｓである。）を取得する取得手段と、
第０層がＮ1個の入力ユニットからなる入力層として構成され、第Ｌ1層が出力層として構成された（Ｌ1＋１）層のニューラルネットワーク（但し、値Ｌ1は２以上の整数である。）において未知数の学習パラメータＷ1を、前記取得手段が取得した各学習データＤ（ｓ）の値ｙ（ｓ）を教師信号として用いて、前記取得手段が取得したＳ個の学習データＤ（ｓ）に基づき学習し、前記学習パラメータＷ1の解を求める学習手段と、
前記学習手段で求められた学習パラメータＷ1の解を設定してなる学習後の前記（Ｌ1＋１）層のニューラルネットワークを用いて、前記取得手段が取得した各学習データＤ（ｓ）に対応する新たな学習データＤv（ｓ）を生成するものであって、前記各学習データＤ（ｓ）毎に、学習データＤ（ｓ）のサンプルＸ（ｓ）を、学習後の前記（Ｌ1＋１）層のニューラルネットワークへの入力値Ｘとして、このニューラルネットワークを構成するＮ2個（但し、値Ｎ2は２以上の整数である。）の中間ユニットからなる第（Ｌ1−１）層の出力値Ｚ＝｛ｚ１，…，ｚＮ2｝を求め、前記求めた出力値Ｚを新たなサンプルＵ（ｓ）として設定し、前記設定した新たなサンプルＵ（ｓ）、及び、前記学習データＤ（ｓ）が示す値ｙ（ｓ）の組合せからなるデータＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝を、前記学習データＤ（ｓ）に対応する新たな学習データＤv（ｓ）として生成する新データ生成手段と、
前記新データ生成手段により生成された各学習データＤv（ｓ）に基づき、入力値Ｕ＝｛ｕ１，…，ｕＮ｝（但し、値Ｎは、入力値Ｕのサンプルとされる前記学習データＤv（ｓ）のサンプルＵ（ｓ）の次元数である。）に対応するカテゴリを表す値ｙを算出する非線形サポートベクタマシンを設計するサポートベクタマシン設計手段と、
前記学習手段により求められた学習パラメータＷ1の解を表す情報、及び、前記サポートベクタマシン設計手段により設計された前記非線形サポートベクタマシンを表す情報を出力する出力手段と、
を備えることを特徴とする情報処理装置。
【請求項１０】
前記新データ生成手段は、前記各学習データＤ（ｓ）毎に、学習データＤ（ｓ）のサンプルＸ（ｓ）に基づいて算出した前記値Ｚを、所定のアルゴリズムにより次元削減し、当該次元削減後の値Ｖ＝｛ｖ１，…，ｖＮ3｝（但し、値Ｎ3は値Ｎ2より小さい２以上の整数である。）を、前記新たなサンプルＵ（ｓ）として設定して、前記学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝を生成する構成にされ、
前記出力手段は、前記学習手段により求められた学習パラメータＷ1の解を表す情報、及び、前記サポートベクタマシン設計手段により設計された前記非線形サポートベクタマシンを表す情報、並びに、前記値Ｚから前記値Ｖへの変換方法を表す情報を出力する構成にされていることを特徴とする請求項９記載の情報処理装置。
【請求項１１】
前記新データ生成手段は、前記各学習データＤ（ｓ）毎に、学習データＤ（ｓ）のサンプルＸ（ｓ）に基づいて算出した前記値Ｚを、主成分分析の手法により求めたＮ3個のＮ2次元ベクトルＪｍ（但し、ｍ＝１，…，Ｎ3である。）を用いて次元削減することにより、前記値Ｚを、第ｍ要素の値ｖｍがベクトルＪｍと前記値Ｚとの内積＜Ｊｍ，Ｚ＞で表されるＮ3次元の値Ｖ＝｛ｖ１，…，ｖＮ3｝に変換し、当該次元削減後の値Ｖ＝｛ｖ１，…，ｖＮ3｝を、前記新たなサンプルＵ（ｓ）として設定して、前記学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝を生成する構成にされ、
前記出力手段は、前記値Ｚから前記値Ｖへの変換方法を表す情報として、主成分分析の手法により求めたＮ3個のＮ2次元ベクトルＪｍを出力する構成にされていることを特徴とする請求項１０記載の情報処理装置。
【請求項１２】
前記学習手段は、バックプロパゲーション法により、前記学習パラメータＷ1の解を求める構成にされていることを特徴とする請求項９〜請求項１１のいずれかに記載の情報処理装置。
【請求項１３】
前記サポートベクタマシン設計手段は、入力値Ｕからカテゴリを表す値ｙを算出する前記非線形サポートベクタマシンについて、当該非線形サポートベクタマシンを構成するカーネルＫ（Ｕ，Ｕ（ｓ），γ）のパラメータγの適値を、次の手順［１］〜手順［３］により求め、当該適値をパラメータγに設定したカーネルＫ（Ｕ，Ｕ（ｓ），γ）を用いて、前記非線形サポートベクタマシンを設計する構成にされていることを特徴とする請求項９〜請求項１２のいずれかに記載の情報処理装置。
［１］学習対象のニューラルネットワークとして、第０層をＮ個の入力ユニットからなる入力層とし、第Ｌ2層を出力層とした（Ｌ2＋１）層のニューラルネットワーク（但し、値Ｌ2は２以上の整数である。）を設定し、このニューラルネットワークにおいて未知数の学習パラメータＷ2を、前記各学習データＤv（ｓ）の値ｙ（ｓ）を教師信号として用いて、前記Ｓ個の学習データＤv（ｓ）に基づき学習し、前記学習パラメータＷ2の解を求める。
［２］前記各学習データＤv（ｓ）毎に、学習データＤv（ｓ）のサンプルＵ（ｓ）を、前記手順［１］で求めた学習パラメータＷ2の解を設定してなる学習後の前記（Ｌ2＋１）層のニューラルネットワークへの入力値として、このニューラルネットワークを構成するＮh個（但し、値Ｎhは、入力値Ｕの次元数Ｎよりも大きい整数である。）の中間ユニットからなる第（Ｌ2−１）層の出力値Ｈ（ｓ）＝｛ｈ１（ｓ），…，ｈＮh（ｓ）｝を求める。
［３］前記学習データＤv（ｓ）及び前記手順［２］で求めた各学習データＤv（ｓ）のサンプルＵ（ｓ）に対応する値Ｈ（ｓ）を用いて、次式
【数３】
2008250990.tif 000043
に従い、二乗誤差Ｅが極小値を採るパラメータγの解γ*を、前記パラメータγの適値として求める（但し、＜Ｈ（ｓ＝ａ），Ｈ（ｓ＝ｂ）＞は、値Ｈ（ｓ＝ａ）と値Ｈ（ｓ＝ｂ）との内積を表す。）。
【請求項１４】
前記カーネルＫ（Ｕ，Ｕ（ｓ），γ）は、ガウシアンカーネル
【数４】
2008250990.tif 000044
であることを特徴とする請求項１３記載の情報処理装置。
【請求項１５】
請求項９〜請求項１４のいずれかに記載の情報処理装置が備える前記取得手段、前記学習手段、前記新データ生成手段、前記サポートベクタマシン設計手段、及び、前記出力手段としての機能を、コンピュータに実現させるためのプログラム。
【請求項１６】
入力値Ｕ＝｛ｕ１，…，ｕＮ｝（但し、値Ｎは、２以上の整数である。）から、当該入力値Ｕのカテゴリを表す値ｙを算出する非線形サポートベクタマシンの設計装置であって、
前記入力値ＵのサンプルＵ（ｓ）及びこのサンプルが属するカテゴリを表す値ｙ（ｓ）の組合せからなるＳ個の学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝（但し、ｓ＝１，…，Ｓである。）を取得する取得手段と、
前記取得手段が取得したＳ個の学習データＤv（ｓ）に基づき、前記非線形サポートベクタマシンに採用するカーネルＫ（Ｕ，Ｕ（ｓ），γ）のパラメータγの適値を、次の手順［１］〜手順［３］により求める適値算出手段と、
前記求めたパラメータγの適値を設定したカーネルＫ（Ｕ，Ｕ（ｓ），γ）を用いて、前記取得手段が取得したＳ個の学習データＤv（ｓ）に基づき、前記非線形サポートベクタマシンを設計する設計手段と、
前記設計手段により設計された前記非線形サポートベクタマシンを表す情報を出力する出力手段と、
を備えることを特徴とする設計装置。
［１］学習対象のニューラルネットワークとして、第０層をＮ個の入力ユニットからなる入力層とし、第Ｌ層を出力層とした（Ｌ＋１）層のニューラルネットワーク（但し、値Ｌは２以上の整数である。）を設定し、このニューラルネットワークにおいて未知数の学習パラメータＷを、前記各学習データＤv（ｓ）の値ｙ（ｓ）を教師信号として、前記Ｓ個の学習データＤv（ｓ）に基づき学習し、前記学習パラメータＷの解を求める。
［２］前記各学習データＤv（ｓ）毎に、学習データＤv（ｓ）のサンプルＵ（ｓ）を、前記手順［１］で求めた学習パラメータＷの解を設定してなる学習後の前記（Ｌ＋１）層のニューラルネットワークへの入力値として、このニューラルネットワークを構成するＮh個（但し、値Ｎhは、入力値Ｕの次元数Ｎよりも大きい整数である。）の中間ユニットからなる第（Ｌ−１）層の出力値Ｈ（ｓ）＝｛ｈ１（ｓ），…，ｈＮh（ｓ）｝を求める。
［３］前記学習データＤv（ｓ）及び前記手順［２］で求めた各学習データＤv（ｓ）のサンプルＵ（ｓ）に対応する値Ｈ（ｓ）を用いて、次式
【数５】
2008250990.tif 000045
に従い、二乗誤差Ｅが極小値を採るパラメータγの解γ*を、前記パラメータγの適値として求める（但し、＜Ｈ（ｓ＝ａ），Ｈ（ｓ＝ｂ）＞は、値Ｈ（ｓ＝ａ）と値Ｈ（ｓ＝ｂ）との内積を表す。）。
【請求項１７】
前記カーネルＫ（Ｕ，Ｕ（ｓ），γ）は、ガウシアンカーネル
【数６】
2008250990.tif 000046
であることを特徴とする請求項１６記載の設計装置。
【請求項１８】
請求項１６又は請求項１７記載の設計装置が備える前記取得手段、前記適値算出手段、前記設計手段、及び、前記出力手段としての機能を、コンピュータに実現させるためのプログラム。
【請求項１９】
入力値Ｕ＝｛ｕ１，…，ｕＮ｝（但し、値Ｎは、２以上の整数である。）から、当該入力値Ｕのカテゴリを表す値ｙを算出する非線形サポートベクタマシン
を、前記入力値ＵのサンプルＵ（ｓ）及びこのサンプルが属するカテゴリを表す値ｙ（ｓ）の組合せからなる任意のＳ個の学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝（但し、ｓ＝１，…，Ｓである。）に基づいて、設計する方法であって、
前記非線形サポートベクタマシンに採用するカーネルＫ（Ｕ，Ｕ（ｓ），γ）のパラメータγの適値を、次の手順［１］〜手順［３］により求め、
前記求めたパラメータγの適値を設定したカーネルＫ（Ｕ，Ｕ（ｓ），γ）を用いて、前記Ｓ個の学習データＤv（ｓ）に基づき、前記非線形サポートベクタマシンを設計することを特徴とする設計方法。
［１］学習対象のニューラルネットワークとして、第０層をＮ個の入力ユニットからなる入力層とし、第Ｌ層を出力層とした（Ｌ＋１）層のニューラルネットワーク（但し、値Ｌは２以上の整数である。）を設定し、このニューラルネットワークにおいて未知数の学習パラメータＷを、前記各学習データＤv（ｓ）の値ｙ（ｓ）を教師信号として、前記Ｓ個の学習データＤv（ｓ）に基づき学習し、前記学習パラメータＷの解を求める。
［２］前記各学習データＤv（ｓ）毎に、学習データＤv（ｓ）のサンプルＵ（ｓ）を、前記手順［１］で求めた学習パラメータＷの解を設定してなる学習後の前記（Ｌ＋１）層のニューラルネットワークへの入力値として、このニューラルネットワークを構成するＮh個（但し、値Ｎhは、入力値Ｕの次元数Ｎよりも大きい整数である。）の中間ユニットからなる第（Ｌ−１）層の出力値Ｈ（ｓ）＝｛ｈ１（ｓ），…，ｈＮh（ｓ）｝を求める。
［３］前記学習データＤv（ｓ）及び前記手順［２］で求めた各学習データＤv（ｓ）のサンプルＵ（ｓ）に対応する値Ｈ（ｓ）を用いて、次式
【数７】
2008250990.tif 000047
に従い、二乗誤差Ｅが極小値を採るパラメータγの解γ*を、前記パラメータγの適値として求める（但し、＜Ｈ（ｓ＝ａ），Ｈ（ｓ＝ｂ）＞は、値Ｈ（ｓ＝ａ）と値Ｈ（ｓ＝ｂ）との内積を表す。）。
【請求項２０】
前記カーネルＫ（Ｕ，Ｕ（ｓ），γ）は、ガウシアンカーネル
【数８】
2008250990.tif 000048
であることを特徴とする請求項１９記載の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、与えられた入力値から、入力値に対応するカテゴリを表す値を所定の計算モデルにより算出して、入力値に対応するカテゴリを認識する認識システムの上記計算モデルを導出する方法、この計算モデルによってカテゴリを認識する認識システム、この方法の実施に使用される情報処理装置、設計装置、及び、プログラム等に関する。
【背景技術】
【０００２】
従来、認識行為をコンピュータ上で実現する方法としては、ニューラルネットワークやサポートベクタマシンを用いた方法が知られている（例えば、特許文献１，非特許文献１参照）。
【０００３】
ニューラルネットワークは、神経細胞の機能を数式によりモデル化したものである。神経細胞は、入力信号により加わる電位が閾値を超えると、パルスを発するといった機能を有する。ニューラルネットワークでは、このような機能を、シグモイド関数等の非線形関数を用いて実現する。即ち、ニューラルネットワークでは、入力値を、非線形関数に代入して、その出力値を、次の神経細胞に対応する非線形関数に代入するといった演算を実行する。そして、認識結果に対応する出力値を、末端の非線形関数の出力値から得る。
【０００４】
尚、神経細胞間を結ぶ各シナプスは、異なる伝播効率を有し、認識の結果は、神経細胞間の接続関係及び各神経細胞間の伝播効率によって変化する。ニューラルネットワークにおいては、これを、非線形関数の出力値を結合荷重Ｗで重み付けして、次の非線形関数に代入することで、モデル化している。
【０００５】
このようなニューラルネットワークを用いた認識システムを構築するに当たっては、まず、ニューラルネットワークの型、即ち、神経細胞に対応するユニット間の接続関係を決定する。ニューラルネットワークの型は、換言すると、結合荷重Ｗが未知のニューラルネットワークである。従って、次には、結合荷重Ｗを決定する。
【０００６】
具体的には、ニューラルネットワークへ入力するベクトルのサンプル、及び、当該サンプルを入力したときに得られるべき出力値の組み合わせを、学習データとして、この学習データの複数から、結合荷重Ｗを学習する。ニューラルネットワークとしては、階層型ネットワークが知られ、この階層型ネットワークにおける結合荷重Ｗの学習方法としては、バックプロパゲーション法が知られている。従来では、このような手法で、認識システムの計算モデルを導出し、当該認識システムを構築している。
【０００７】
この他、サポートベクタマシンによる認識方法は、入力ベクトルＵに対応するカテゴリを表す値ｙを、識別関数ｙ1又は識別関数ｙ2により算出し、ベクトルＵに対応するカテゴリを認識するものである。
【０００８】
【数１】
2008250990.tif 000003
尚、本願明細書では、ベクトルＡとベクトルＢとの内積を＜Ａ，Ｂ＞で表す。また、関数ｓｇｎ（ｘ）は、ｘ＞０のとき１をとり、ｘ≦０のとき−１をとる符号関数である。
【０００９】
この他、識別関数ｙ1，ｙ2に含まれるパラメータαs（但し、ｓ＝１，２，…，Ｓである。）及びパラメータβは、ベクトルＵのサンプルＵ（ｓ）と、当該サンプルに対応するカテゴリを表す値ｙ（ｓ）の組み合わせからなるＳ個の学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝（ｓ＝１，２，…，Ｓ）に基づいて値が決定されるものである。
【００１０】
関数Ｋ（Ｕ，Ｕ（ｓ），γ）は、カーネルと呼ばれ、ベクトルＵ，Ｕ（ｓ）を写像φにより非線形変換して高次元空間に写像したときのベクトルφ（Ｕ），φ（Ｕ（ｓ））の内積＜φ（Ｕ），φ（Ｕ（ｓ）＞の算出に用いられる。このカーネルＫ（Ｕ，Ｕ（ｓ），γ）としては、ガウシアンカーネルＫ1や多項式カーネルＫ2が知られている。
【００１１】
【数２】
2008250990.tif 000004
識別関数ｙ2は、非線形サポートベクタマシンと呼ばれ、この非線形サポートベクタマシンを用いた認識システムを構築するに際しては、まず、非線形サポートベクタマシンの型、即ち、パラメータαs及びパラメータβ並びにパラメータγが未知の非線形サポートベクタマシンを決定する。この後、パラメータγを適当に設定して、学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝（ｓ＝１，２，…，Ｓ）に基づき、パラメータαs及びパラメータβの解を求め、非線形サポートベクタマシンを設計する。
【００１２】
尚、サポートベクタマシンの設計時には、周知のように、カテゴリの異なるサンプルを分離し、カテゴリの異なるサンプルの各グループから、最も離れた位置を通る超平面を求めるようにして、パラメータαs及びパラメータβの解を求める。
【特許文献１】特開２００５−３１６８８８号公報
【非特許文献１】ブラジミール  バプニク（Vladimir N. Vapnik）著，「統計的学習理論の本質（The Nature of Statistical Learning Theory）」，第２版，（米国），シュプリンガー（Springer），１９９９年，ｐ．１３２−ｐ．１４０
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、従来知られるニューラルネットワークの学習方法、及び、サポートベクタマシンの設計方法では、次のような問題があった。
従来知られるニューラルネットワークの学習方法としては、上述したように、バックプロパゲーション法が知られているが、バックプロパゲーション法では、学習データが示す入力値のサンプルをニューラルネットワークに入力したときの出力値と、学習データが示す出力値（教師信号）と、の二乗誤差を小さくする方向に、結合荷重Ｗを修正していくため、学習時に与える結合荷重Ｗの初期値によっては、最適解を求められない可能性があった。
【００１４】
ここで、バックプロパゲーション法による結合荷重Ｗの学習方法について、簡単なニューラルネットワークを例に挙げて説明する。具体的には、入力ユニットを２つ、出力ユニットを１つ、中間ユニットを２つ有する三層フィードフォワードニューラルネットワークであって、非線形関数としてシグモイド関数
【００１５】
【数３】
2008250990.tif 000005
が採用されたニューラルネットワーク（図１２（ａ）参照）を例に挙げて説明する。このニューラルネットワークの入出力関係は、次式で表される。
【００１６】
【数４】
2008250990.tif 000006
従って、このニューラルネットワークの結合荷重Ｗ＝｛ｗ１，…，ｗ９｝が、Ｓ個（ｓ＝１，２，…，Ｓ）の学習データＤ（ｓ）＝｛ｘ１（ｓ），ｘ２（ｓ），ｙ（ｓ）｝によって学習されるものとすると、バックプロパゲーション法では、二乗誤差Ｅ
【００１７】
【数５】
2008250990.tif 000007
が最小となる結合荷重Ｗを求めることになる。尚、ｙ（ｓ）は、サンプルＸ（ｓ）＝｛ｘ１（ｓ），ｘ２（ｓ）｝に対応するカテゴリを表す値（ニューラルネットワークにて算出されるべき値）であり、例えば、−１又は＋１を採る。
【００１８】
しかしながら、二乗誤差Ｅは、ｗ１，…，ｗ９の非線形関数であるため、図１２（ｂ）に示すように、この二乗誤差Ｅには、極小値が複数存在し、学習時におけるｗ１，…，ｗ９の初期値の設定次第では、最小値ではない極小点に収束するように、学習が行われて、ｗ１，…，ｗ９の解が求められる可能性があった。即ち、従来手法では、結合荷重Ｗについて局所解しか求めることができないため、適切な結合荷重Ｗの解を得られない可能性があった。
【００１９】
また、従来手法では、学習データＤ（ｓ）に従って、二乗誤差Ｅが小さくなるように、結合荷重Ｗの解を求める程度であるため、この解を算出するに当たって用いた学習データＤ（ｓ）以外の値を、ニューラルネットワークに入力した場合、適切な認識結果が得られるとは限らなかった。
【００２０】
一方、サポートベクタマシンに関しては、従来、次のような問題があった。即ち、サポートベクタマシンを設計するには、サンプルＵ（ｓ）を写像φにより高次元にとばしたときのサンプルφ（Ｕ（ｓ））の集合が、カテゴリ毎の集合に、線形分離可能である必要があるため、φ（Ｕ（Ｓ））の集合が線形分離可能となるような写像φとして、演算量が膨大な量とならないような適当な写像φを設定することができない場合には、サンプルＵ（ｓ）に対応する認識システムとして、サポートベクタマシンを用いた認識システムを設計することができないといった問題があった。
【００２１】
尚、識別関数ｙ2における内積＜φ（Ｕ），φ（Ｕ（ｓ））＞の演算を簡単にするためには、上述したカーネルＫ（Ｕ，Ｕ（ｓ），γ）を用いることができるが、周知のように、カーネルＫとして任意の関数を採ることはできないため、カーネルＫ（Ｕ，Ｕ（ｓ），γ）を用いて非線形サポートベクタマシンを設計する場合でも、任意の学習データに対応した非線形サポートベクタマシンを設計することはできないといった問題があった。
【００２２】
また、カーネルＫ（Ｕ，Ｕ（ｓ），γ）のパラメータγの値については、従来、試行錯誤により、設計者が定めていたため、このことが、最適な非線形サポートベクタマシンの設計の妨げとなっていた。
【００２３】
本発明は、こうした問題に鑑みなされたものであり、従来よりも好適な認識システムの計算モデルを導出することができるようにし、好適な認識システムを構築することができるようにすることを目的とする。
【課題を解決するための手段】
【００２４】
かかる目的を達成するためになされた本発明は、入力値Ｘ＝｛ｘ１，…，ｘＮ1｝（但し、値Ｎ1は、２以上の整数である。）から、入力値Ｘに対応するカテゴリを表す値ｙを、所定の計算モデルにより算出して、入力値Ｘに対応するカテゴリを認識する認識システムの上記計算モデルを、入力値ＸのサンプルＸ（ｓ）及びこのサンプルが属するカテゴリを表す値ｙ（ｓ）の組合せからなる任意のＳ個の学習データＤ（ｓ）＝｛Ｘ（ｓ），ｙ（ｓ）｝（但し、ｓ＝１，…，Ｓである。）に基づいて、導出するモデル導出方法であって、次の手順［ａ］〜手順［ｃ］を経て、認識システムの計算モデルを導出するものである。
【００２５】
本発明のモデル導出方法では、まず、学習対象のニューラルネットワークとして、第０層をＮ1個の入力ユニットからなる入力層とし、第Ｌ1層を出力層とした（Ｌ1＋１）層のニューラルネットワーク（但し、値Ｌ1は２以上の整数である。）を設定する。
【００２６】
そして、このニューラルネットワークにおいて未知数の学習パラメータＷ1を、各学習データＤ（ｓ）の値ｙ（ｓ）を教師信号として用いて、Ｓ個の学習データＤ（ｓ）に基づき学習し、学習パラメータＷ1の解を求める（手順［ａ］）。尚、学習パラメータＷ1の解は、周知のバックプロパゲーション法により求めることができる（請求項４）。
【００２７】
また、手順［ａ］で学習パラメータＷ1の解を求めた後には、当該学習パラメータＷ1の解を設定してなる学習後の（Ｌ1＋１）層のニューラルネットワークを用いて、各学習データＤ（ｓ）に対応する新たな学習データＤv（ｓ）を生成する（手順［ｂ］）。
【００２８】
具体的には、各学習データＤ（ｓ）毎に、学習データＤ（ｓ）のサンプルＸ（ｓ）を、学習後の（Ｌ1＋１）層のニューラルネットワークへの入力値Ｘとして、このニューラルネットワークを構成する第（Ｌ1−１）層の出力値Ｚ＝｛ｚ１，…，ｚＮ2｝を求め、上記求めた出力値Ｚを新たなサンプルＵ（ｓ）として設定し、設定した新たなサンプルＵ（ｓ）、及び、学習データＤ（ｓ）が示す値ｙ（ｓ）の組合せからなるデータＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝を、学習データＤ（ｓ）に対応する新たな学習データＤv（ｓ）として生成する。但し、第（Ｌ1−１）層は、Ｎ2個（但し、値Ｎ2は２以上の整数である。）の中間ユニットからなるものとする。
【００２９】
また、手順［ｂ］の終了後には、手順［ｂ］で生成した各学習データＤv（ｓ）に基づき、入力値Ｕ＝｛ｕ１，…，ｕＮ｝に対応するカテゴリを表す値ｙを算出する非線形サポートベクタマシンを設計する（手順［ｃ］）。但し、値Ｎは、入力値Ｕのサンプルとされる学習データＤv（ｓ）のサンプルＵ（ｓ）の次元数である。
【００３０】
非線形サポートベクタマシンは、識別関数ｙ
【００３１】
【数６】
2008250990.tif 000008
により、入力値Ｕに対応するカテゴリを表す値ｙとして、＋１又は−１を算出するものである。
【００３２】
従って、ここでは、非線形サポートベクタマシンの型、即ち、パラメータαs及びパラメータβ並びにパラメータγが未知の非線形サポートベクタマシンに、パラメータγの値を設定した後、学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝（ｓ＝１，２，…，Ｓ）に基づき、パラメータαs及びパラメータβの解を求め、この解を非線形サポートベクタマシンに設定して、非線形サポートベクタマシンを設計する。
【００３３】
そして、本発明では、これらの手順［ａ］〜手順［ｃ］により得られた学習パラメータＷ1及び非線形サポートベクタマシンを用いて、上記認識システムの計算モデルとして、次の計算モデルを導出する。
【００３４】
即ち、学習後の（Ｌ1＋１）層のニューラルネットワークにおける第（Ｌ1−１）層の出力値Ｚを演算可能な計算モデルと、手順［ｃ］で設計した非線形サポートベクタマシンと、を組み合わせてなる計算モデルであって、入力値Ｘから第（Ｌ1−１）層の出力値Ｚを算出し、この出力値Ｚを非線形サポートベクタマシンの入力値Ｕとして当該非線形サポートベクタマシンの出力値ｙを算出する計算モデルを、認識システムの計算モデルとして導出する。
【００３５】
本発明において、このように認識システムの計算モデルを導出するのは、ニューラルネットワークを用いた認識方法では、学習パラメータＷ1の最適解を求められることが理論上保証されない問題がある一方で、パラメータαs及びパラメータβの最適解を求めることができる非線形サポートベクタマシンを用いた認識方法では、任意の認識対象に対して、非線形サポートベクタマシンを設計することができないといった問題があるためである。
【００３６】
非線形サポートベクタマシンは、ニューラルネットワークと比較して、学習データ以外の入力に対しても正しい認識結果を得ることができる点で優れているが、上述したように、非線形サポートベクタマシンを設計するためには、入力値ＵのサンプルＵ（ｓ）が線形分離しやすい集合である必要があり、従来の手法では、任意の認識システムに対して、非線形サポートベクタマシンの手法を採用することができないといった問題があった。
【００３７】
そこで、本発明では、学習データＤ（ｓ）から新たな学習データＤv（ｓ）を生成して、サンプルＸ（ｓ）を、線形分離しやすい値Ｚに置き換えることにより、サンプルＸ（ｓ）によらず、非線形サポートベクタマシンを設計できるようにしたのである。
【００３８】
尚、値Ｚが線形分離しやすいのは、ニューラルネットワークにおける出力ユニットの出力ｙが、それより一つ下層の第（Ｌ1−１）層の出力値Ｚ＝｛ｚ１，…，ｚＮ2｝の超平面からの符号付距離に対応した値を表すものとなるためである。
【００３９】
即ち、ニューラルネットワークにおける出力ユニットの出力ｙは、第（Ｌ1−１）層における第ｉ中間ユニット−出力ユニット間の結合係数をＷ（ｉ）で表し、出力ユニットの閾値をＷ０で表したとき、次式
【００４０】
【数７】
2008250990.tif 000009
で表すことができる。
【００４１】
一方、Ｎ2次元における超平面からの符号付距離Ｌgは、超平面の法線ベクトルが、長さ１の法線ベクトルＧ＝｛ｇ１，…，ｇＮ2｝であるとすると、次式
【００４２】
【数８】
2008250990.tif 000010
で表すことができる。
【００４３】
従って、学習データＤ（ｓ）に対応する適切な学習パラメータＷ（ｉ）の解が得られていれば、各サンプルＸ（ｓ）をニューラルネットワークに入力したときの第（Ｌ1−１）層の出力値Ｚの集合は、カテゴリ毎に、超平面で線形分離可能となる。
【００４４】
勿論、ニューラルネットワークの型は、設計者の試行錯誤により設定されるものであり、設計者が採用したニューラルネットワークの型、換言すると、ニューラルネットワークの階層数や中間ユニットの個数が適切でないとき、第（Ｌ1−１）層の出力値Ｚの集合は、超平面で線形分離することができない可能性がある。しかしながら、少なくとも、出力値Ｚの集合は、サンプルＸ（ｓ）の集合よりも線形分離しやすい集合であるということができる。
【００４５】
従って、本発明では、出力値Ｚに基づいて、新たな学習データＤvを生成し、この学習データＤvに基づき、非線形サポートベクタマシンを設計するようにしたのである。出力値Ｚの集合は、少なくともＸ（ｓ）よりも大幅に線形分離しやすい集合であるため、写像φにより比較的簡単に、線形分離することができる。
【００４６】
よって、本発明によれば、サンプルＸ（ｓ）の分布によらず、適切な非線形サポートベクタマシンを設計することができ、非線形サポートベクタマシンにより、従来よりも好適な認識システムの計算モデルを導出することができるのである。
【００４７】
換言すると、ニューラルネットワークでは、学習パラメータＷ1（結合係数）の解として、局所解しか得られないため、理論的に最適なニューラルネットワークを設計できる保証がなかったが、本発明では、パラメータαs及びパラメータβの解として大局的解を求めることができるサポートベクタマシンを用いて、認識システムの計算モデルを導出しているため、ニューラルネットワークの上記欠点をサポートベクタマシンで補完することができ、認識システムの計算モデルとして適切な計算モデルを求めることができる。
【００４８】
また、ニューラルネットワークでは、学習データ以外の値が入力された場合に、必ずしも適切な認識結果を得られるとは限らないが、サポートベクタマシンでは、上述したように学習データ以外の値についても、正しい認識結果を得ることができるので、本発明の方法で導出されるサポートベクタマシンを組み込んだ計算モデルを用いれば、従来よりも、認識性能に優れた認識システムを構築することができる。
【００４９】
即ち、本発明のモデル導出方法により導出された計算モデルによって、与えられた入力値Ｘ＝｛ｘ１，…，ｘＮ1｝から、入力値Ｘに対応するカテゴリを表す値ｙを算出し、入力値Ｘに対応するカテゴリを認識する認識システム（請求項７）を構築すれば、当該認識システムにて、従来よりも優れた認識行為を実現することができる。
【００５０】
尚、上述の認識システムは、入力値Ｘに対応するカテゴリの認識結果として、入力値Ｘに対応するカテゴリを表す値ｙを出力すると共に、当該値ｙを算出する際に求められた非線形サポートベクタマシンを構成する符号関数への入力値ｐの絶対値｜ｐ｜を、認識結果の確度を表す情報として出力する構成にされるとよい（請求項８）。このように認識システムを構成すれば、認識結果の確からしさに関する情報をも出力することができるので、確度が低い場合には、認識動作をやり直す等の行為が可能になる。
【００５１】
また、上述のモデル導出方法において、学習データＤv（ｓ）は、次のように生成されてもよい。即ち、手順［ｂ］では、各学習データＤ（ｓ）毎に、学習データＤ（ｓ）のサンプルＸ（ｓ）に基づいて算出した値Ｚを、所定のアルゴリズムにより次元削減し、当該次元削減後の値Ｖ＝｛ｖ１，…，ｖＮ3｝（但し、値Ｎ3は値Ｎ2より小さい２以上の整数である。）を、新たなサンプルＵ（ｓ）として設定して、学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝を生成してもよい。
【００５２】
このように学習データＤv（ｓ）を生成する場合には、認識システムの計算モデルとして、入力値Ｘから第（Ｌ1−１）層の出力値Ｚを算出し、この出力値Ｚを上記所定のアルゴリズムにより次元削減して、出力値Ｚを、Ｎ3次元の値Ｖ＝｛ｖ１，…，ｖＮ3｝に変換し、変換後の値Ｖを非線形サポートベクタマシンの入力値Ｕとして当該非線形サポートベクタマシンの出力値ｙを算出する計算モデルを、導出することになる（請求項２）。このようにして、非線形サポートベクタマシンへの入力値Ｕを次元削減すれば、非線形サポートベクタマシンの設計及び認識行為に係る演算量を抑えることができる。
【００５３】
具体的に、上記次元削減は、主成分分析の手法により実現することができる。即ち、手順［ｂ］では、各学習データＤ（ｓ）毎に、学習データＤ（ｓ）のサンプルＸ（ｓ）に基づいて算出した値Ｚを、主成分分析の手法により求めたＮ3個のＮ2次元ベクトルＪｍ（但し、ｍ＝１，…，Ｎ3である。）を用いて次元削減することにより、値Ｚを、第ｍ要素の値ｖｍがベクトルＪｍと前記値Ｚとの内積＜Ｊｍ，Ｚ＞で表されるＮ3次元の値Ｖ＝｛ｖ１，…，ｖＮ3｝に変換し、当該次元削減後の値Ｖ＝｛ｖ１，…，ｖＮ3｝を、新たなサンプルＵ（ｓ）として設定して、学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝を生成してもよい。
【００５４】
このように学習データＤv（ｓ）を生成する場合には、認識システムの計算モデルとして、入力値Ｘから第（Ｌ1−１）層の出力値Ｚを演算し、この出力値Ｚを、Ｎ3個のＮ2次元ベクトルＪｍを用いて次元削減し、次元削減後の値Ｖを非線形サポートベクタマシンの入力値Ｕとして当該非線形サポートベクタマシンの出力値ｙを算出する計算モデルを、導出することになる（請求項３）。
【００５５】
また、非線形サポートベクタマシンにカーネルＫ（Ｕ，Ｕ（ｓ），γ）を用いる場合には、学習データＤvに基づいてパラメータαs及びパラメータβの解を求める前に、パラメータγを設定する必要があるが、従来の手法でパラメータγを設計すると、手間がかかるばかりでなく、必ずしも適切な値をパラメータγに設定できるとは限らないため、次のようにして、パラメータγの解を求めるとよい。
【００５６】
即ち、手順［ｃ］では、入力値Ｕからカテゴリを表す値ｙを算出する上記非線形サポートベクタマシンについて、当該非線形サポートベクタマシンを構成するカーネルＫ（Ｕ，Ｕ（ｓ），γ）のパラメータγの適値を、次の手順［１］〜手順［３］により求め、当該適値をパラメータγに設定したカーネルＫ（Ｕ，Ｕ（ｓ），γ）を用いて、非線形サポートベクタマシンを設計するとよい。
【００５７】
手順［１］：学習対象のニューラルネットワークとして、第０層をＮ個の入力ユニットからなる入力層とし、第Ｌ2層を出力層とした（Ｌ2＋１）層のニューラルネットワーク（但し、値Ｌ2は２以上の整数である。）を設定する。そして、このニューラルネットワークにおいて未知数の学習パラメータＷ2を、各学習データＤv（ｓ）の値ｙ（ｓ）を教師信号として用いて、Ｓ個の学習データＤv（ｓ）に基づき学習し、学習パラメータＷ2の解を求める。
【００５８】
手順［２］：各学習データＤv（ｓ）毎に、学習データＤv（ｓ）のサンプルＵ（ｓ）を、手順［１］で求めた学習パラメータＷ2の解を設定してなる学習後の前記（Ｌ2＋１）層のニューラルネットワークへの入力値として、このニューラルネットワークを構成する第（Ｌ2−１）層の出力値Ｈ（ｓ）＝｛ｈ１（ｓ），…，ｈＮh（ｓ）｝を求める。但し、第（Ｌ2−１）層は、Ｎh個（但し、値Ｎhは、入力値Ｕの次元数Ｎよりも大きい整数である。）の中間ユニットからなるものとする。
【００５９】
手順［３］：学習データＤv（ｓ）及び手順［２］で求めた各学習データＤv（ｓ）のサンプルＵ（ｓ）に対応する値Ｈ（ｓ）を用いて、次式
【００６０】
【数９】
2008250990.tif 000011
に従い、二乗誤差Ｅが極小値を採るパラメータγの解γ*を、パラメータγの適値として求める。
【００６１】
このような手順［１］〜手順［３］によりパラメータγの解を求めれば、カーネルに設定すべきパラメータγの適値を計算により簡単に求めることができ、従来のように試行錯誤によりパラメータγの値を設定する場合よりも、適切な値を、パラメータγに設定することができる（請求項５）。
【００６２】
尚、カーネルＫ（Ｕ，Ｕ（ｓ），γ）としては、ガウシアンカーネルや、多項式カーネルを用いることができ、ガウシアンカーネルを用いる場合には、手順［３］において、Ｑ’ａｂを、次式で求めることになる（請求項６）。
【００６３】
【数１０】
2008250990.tif 000012
また、多項式カーネルを用いる場合には、手順［３］において、Ｑ’ａｂを、次式で求めることができる。
【００６４】
【数１１】
2008250990.tif 000013
また、本発明の方法で、認識システムの計算モデルを導出するに際しては、次の情報処理装置を用いるとよい（請求項９〜請求項１４）。
【００６５】
本発明の情報処理装置は、与えられた入力値Ｘ＝｛ｘ１，…，ｘＮ1｝から、入力値Ｘに対応するカテゴリを表す値ｙを、所定の計算モデルにより算出して、入力値Ｘに対応するカテゴリを認識する認識システムの上記計算モデルの導出に用いられる情報処理装置であって、以下の取得手段、学習手段、新データ生成手段、サポートベクタマシン設計手段、及び、出力手段を備えるものである。
【００６６】
この情報処理装置においては、取得手段が、入力値ＸのサンプルＸ（ｓ）及びこのサンプルが属するカテゴリを表す値ｙ（ｓ）の組合せからなるＳ個の学習データＤ（ｓ）＝｛Ｘ（ｓ），ｙ（ｓ）｝を取得し、学習手段が、取得手段が取得した各学習データＤ（ｓ）に基づいて、上述の手順［ａ］により、ニューラルネットワークの学習パラメータＷ1の解を求める。
【００６７】
また、新データ生成手段は、上述の手順［ｂ］により、学習手段で求められた学習パラメータＷ1の解を設定してなる学習後の（Ｌ1＋１）層のニューラルネットワークを用いて、取得手段が取得した各学習データＤ（ｓ）に対応する新たな学習データＤv（ｓ）を生成し、サポートベクタマシン設計手段は、これら各学習データＤv（ｓ）に基づき、上述の手順［ｃ］により、非線形サポートベクタマシンを設計する。
【００６８】
そして、この情報処理装置においては、出力手段が、学習手段により求められた学習パラメータＷ1の解を表す情報、及び、サポートベクタマシン設計手段により設計された非線形サポートベクタマシンを表す情報を出力する。尚、非線形サポートベクタマシンを表す情報としては、非線形サポートベクタマシンとしての識別関数ｙを構成するパラメータαs及びパラメータβやカーネルのパラメータγ等の情報を挙げることができる。
【００６９】
このように構成された情報処理装置を用いれば、ユーザは、情報処理装置に、学習データＤ（ｓ）を与える程度で、簡単に、当該学習データＤ（ｓ）に対応した認識システムの計算モデルにかかる情報を得ることができる。
【００７０】
尚、新データ生成手段により、学習データＤ（ｓ）のサンプルＸ（ｓ）に基づいて算出した値Ｚを次元削減して、当該次元削減後の値Ｖ＝｛ｖ１，…，ｖＮ3｝を、新たなサンプルＵ（ｓ）として設定し、学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝を生成する場合、出力手段は、学習手段により求められた学習パラメータＷ1の解を表す情報、及び、サポートベクタマシン設計手段により設計された非線形サポートベクタマシンを表す情報、並びに、値Ｚから前記値Ｖへの変換方法を表す情報を出力する構成にすることができる（請求項１０）。
【００７１】
このように構成された情報処理装置を用いれば、少ない演算量で認識行為を実現可能な認識システムの計算モデルを導出することができる。
尚、主成分分析の手法により求めたＮ3個のＮ2次元ベクトルＪｍを用いて、学習データＤ（ｓ）のサンプルＸ（ｓ）に基づいて算出した値Ｚを次元削減する場合、出力手段は、値Ｚから値Ｖへの変換方法を表す情報として、上記Ｎ3個のＮ2次元ベクトルＪｍを出力する構成にすることができる（請求項１１）。
【００７２】
また、本発明の情報処理装置が備える上記取得手段、学習手段、新データ生成手段、サポートベクタマシン設計手段、及び、出力手段としての機能は、プログラムにより、コンピュータに実現させることができる（請求項１５）。
【００７３】
この他、本発明の設計装置（請求項１６）は、与えられた入力値Ｕ＝｛ｕ１，…，ｕＮ｝から、カテゴリを表す値ｙを算出する非線形サポートベクタマシンの設計装置であって、入力値ＵのサンプルＵ（ｓ）及びこのサンプルが属するカテゴリを表す値ｙ（ｓ）の組合せからなるＳ個の学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝（但し、ｓ＝１，…，Ｓである。）を取得する取得手段と、取得手段が取得したＳ個の学習データＤv（ｓ）に基づき、非線形サポートベクタマシンに採用するカーネルＫ（Ｕ，Ｕ（ｓ），γ）のパラメータγの適値を、上述の手順［１］〜手順［３］により求める適値算出手段と、適値算出手段により求めたパラメータγの適値を設定したカーネルＫ（Ｕ，Ｕ（ｓ），γ）を用いて、取得手段が取得したＳ個の学習データＤv（ｓ）に基づき、非線形サポートベクタマシンを設計する設計手段と、設計手段により設計された非線形サポートベクタマシンを表す情報を出力する出力手段と、を備えるものである。
【００７４】
この設計装置を用いれば、ユーザは、設計装置に学習データＤv（ｓ）を与える程度で、学習データＤv（ｓ）に好適な非線形サポートベクタマシンの情報を得ることができ、効率的に本発明の手法で、認識システムの計算モデルを導出することができる。
【００７５】
尚、本発明の設計装置は、カーネルＫ（Ｕ，Ｕ（ｓ），γ）のパラメータγとして、ガウシアンカーネルのパラメータγの解を求める構成にすることができる（請求項１７）。また、本発明の設計装置が備える取得手段、適値算出手段、設計手段、及び、出力手段としての機能は、プログラムにより、コンピュータに実現させることができる（請求項１８）。
【００７６】
また、本発明の設計方法（請求項１９，請求項２０）は、与えられた入力値Ｕ＝｛ｕ１，…，ｕＮ｝から、カテゴリを表す値ｙを算出する非線形サポートベクタマシンを、入力値ＵのサンプルＵ（ｓ）及びこのサンプルが属するカテゴリを表す値ｙ（ｓ）の組合せからなるＳ個の学習データＤv（ｓ）＝｛Ｕ（ｓ），ｙ（ｓ）｝に基づいて、設計する方法であって、非線形サポートベクタマシンに採用するカーネルＫ（Ｕ，Ｕ（ｓ），γ）のパラメータγの適値を、上述の手順［１］〜手順［３］により求め、求めたパラメータγの適値を設定したカーネルＫ（Ｕ，Ｕ（ｓ），γ）を用いて、Ｓ個の学習データＤv（ｓ）に基づき、非線形サポートベクタマシンを設計する設計方法である。このように、カーネルＫ（Ｕ，Ｕ（ｓ），γ）のパラメータγを設定し、非線形サポートベクタマシンを設計すれば、学習データＤv（ｓ）に好適な非線形サポートベクタマシンを設計することができる。
【発明を実施するための最良の形態】
【００７７】
以下に本発明の実施例について、図面と共に説明する。
【実施例１】
【００７８】
図１は、本発明が適用された第一実施例のモデル導出装置１の構成を表すブロック図である。図１に示すように、本実施例のモデル導出装置１は、周知のパーソナルコンピュータと同様、各種演算処理を行うＣＰＵ１１と、ブートプログラム等を記憶するＲＯＭ１３と、プログラム実行時に作業領域として使用されるＲＡＭ１５と、オペレーティングシステムやその他の各種プログラム・データを記憶するハードディスク装置１７と、液晶ディスプレイからなる表示装置２１と、キーボードやポインティングデバイス等で構成されるユーザインタフェース２３と、フレキシブルディスクに対してデータ読み書き可能なドライブ装置２５と、を備えた構成にされている。
【００７９】
このモデル導出装置１は、ハードディスク装置１７に記録されたオペレーティングシステムにより動作し、例えば、ユーザインタフェース２３を通じてプログラムの実行指令が入力されると、ユーザにより指定されたプログラムに基づいた処理を、当該オペレーティングシステムの管理下で、ＣＰＵ１１により実行する。
【００８０】
具体的に、モデル導出装置１は、認識システムの計算モデルを導出するためのモデル導出プログラムを、ハードディスク装置１７に備えている。図２は、ＣＰＵ１１が、このモデル導出プログラムに従って実行するモデル導出処理を表すフローチャートである。
【００８１】
ＣＰＵ１１は、ユーザインタフェース２３を通じてモデル導出プログラムの実行指令が入力されると、図２に示す処理を実行し、認識システムの計算モデルとして、ニューラルネットワークと非線形サポートベクタマシンとを組み合わせてなる計算モデルの設計値を、データファイルに出力すると共に、表示装置２１に出力する。
【００８２】
図３（ａ）は、このモデル導出処理により導出される計算モデルの基本構成図である。本実施例では、入力値Ｘ＝｛ｘ１，…，ｘＮ１｝（但し、Ｎ１は２以上の整数値である。）からカテゴリを表す値ｙを算出する認識システムの計算モデルとして、前半でニューラルネットワークにより演算を行い、後半では非線形サポートベクタマシンにより演算を行って、カテゴリを表す値ｙを算出する計算モデル、を導出する。尚、図３（ｂ）は、本実施例で導出する計算モデルとの対比として、従来のニューラルネットワークで構成された認識システムの構成を表した図であり、図３（ｃ）は、従来の非線形サポートベクタマシンで構成された認識システムの構成を表した図である。
【００８３】
図２に示すモデル導出処理を開始すると、ＣＰＵ１１は、まずＳ１１０にて、表示装置２１に、ＧＵＩ構成のファイル選択画面を表示し、ファイル選択画面を通じて、ユーザに、計算モデルのパラメータ学習に用いるデータが記録された読出対象のデータファイルを選択させる。具体的に、Ｓ１１０では、ＧＵＩ構成のファイル選択画面に、ハードディスク装置１７及びドライブ装置２５に記録されたデータファイルであって、当該モデル導出プログラムに対応したデータファイルのリストを表示する。
【００８４】
そして、ファイル選択画面を通じ、読出対象のデータファイルが選択されると（Ｓ１２０でＹｅｓ）、選択されたデータファイルを読み出し、このデータファイルの記述内容に従って、以降の処理で学習する三層フィードフォワードニューラルネットワークの入力ユニットの数Ｎ１を設定すると共に（Ｓ１３０）、このニューラルネットワークの中間ユニットの数Ｎ２を設定する（Ｓ１４０）。但し、設定するＮ１，Ｎ２は、２以上の整数値である。
【００８５】
また、Ｓ１４０の処理を終えると、読み出した上記データファイルの記述内容に従って、上記ニューラルネットワークとは別のニューラルネットワークであって、非線形サポートベクタマシンのカーネルパラメータの解を導出する際に用いるニューラルネットワークの中間ユニットの数Ｎｈを設定し（Ｓ１５０）、その後、学習データの総数Ｓを設定する（Ｓ１６０）。但し、設定するＮｈは、Ｎ２よりも大きい２以上の整数値である。この処理を終えると、Ｓ１７０に移行する。
【００８６】
尚、図４（ａ）は、当該モデル導出処理で読み出されるデータファイルの構成を表した図である。図４（ａ）に示すように、当該モデル導出処理で読み出されるデータファイルには、入力ユニットの個数Ｎ１、中間ユニットの個数Ｎ２，Ｎｈ、学習データの総数Ｓについてのユーザ設定値が記述されており、Ｓ１３０〜Ｓ１６０では、この記述内容に従って、各パラメータＮ１，Ｎ２，Ｎｈ，Ｓの値を設定することになる。
【００８７】
また、当該データファイルには、学習データとして、入力値Ｘ＝｛ｘ１，ｘ２，…，ｘＮ１｝のサンプル及び当該サンプルが属するカテゴリを表す値ｙ（＋１又は−１）の組が、Ｓ個記述されており、Ｓ１７０〜Ｓ２００では、この記述内容に従い、以降の処理に用いるＳ個の学習データＤ（１），Ｄ（２），…，Ｄ（Ｓ）を設定する。
【００８８】
即ち、Ｓ１７０では、パラメータｓを値１に設定し、Ｓ１８０では、データＤ（ｓ）＝｛Ｘ（ｓ），ｙ（ｓ）｝を構成するパラメータＸ（ｓ）＝｛ｘ１（ｓ），…，ｘＮ１（ｓ）｝に、当該データファイルで先頭からｓ番目に記述されたサンプルＸ＝｛ｘ１，ｘ２，…，ｘＮ１｝の値を設定し、データＤ（ｓ）＝｛Ｘ（ｓ），ｙ（ｓ）｝を構成するパラメータｙ（ｓ）に、データファイルに記述された当該サンプルが属するカテゴリを表す値ｙを設定する。また、Ｓ１９０では、パラメータｓの値を１加算し、Ｓ２００では、加算後のパラメータｓの値がサンプルの総数Ｓより大きいか否かを判断する。そして、ｓ≦Ｓである場合には（Ｓ２００でＮｏ）、Ｓ１８０に移行し、ｓ＞Ｓである場合には、Ｓ２１０に移行する。このようにして、Ｓ１７０〜Ｓ２００では、Ｓ個の学習データＤ（１），Ｄ（２），…，Ｄ（Ｓ）を設定する。
【００８９】
また、Ｓ２１０に移行すると、ＣＰＵ１１は、Ｓ個の学習データＤ（１），…，Ｄ（Ｓ）に基づき、入力ユニットＮ１個、中間ユニットＮ２個、出力ユニット１個の三層フィードフォワードニューラルネットワークにおいて未知の学習パラメータＷ１＝｛Ｗａ（０，１），…，Ｗａ（ｉ，ｊ），…，Ｗａ（Ｎ１，Ｎ２），Ｗｂ（０），…，Ｗｂ（ｊ），…，Ｗｂ（Ｎ２）｝の解Ｗ１*を、各学習データＤ（ｓ）の値ｙ（ｓ）を教師信号として、周知のバックプロパゲーション法により求める。
【００９０】
尚、図５（ａ）に示すように、パラメータＷａ（ｉ，ｊ）は、第ｉ入力ユニット−第ｊ中間ユニット間の結合係数に対応するパラメータであり、パラメータＷｂ（ｊ）は、第ｊ中間ユニット−出力ユニット間の結合係数に対応するパラメータである。また、パラメータＷａ（０，ｊ）は、第ｊ中間ユニットの閾値に対応するパラメータであり、パラメータＷｂ（０）は、出力ユニットの閾値に対応するパラメータである。
【００９１】
即ち、Ｓ２１０では、学習パラメータＷ１の解Ｗ１*として、（Ｎ１・Ｎ２＋Ｎ２）個の学習パラメータＷａ（ｉ，ｊ）（但し、ｉ＝０，１，…，Ｎ１、ｊ＝１，２，…，Ｎ２である。）の解Ｗａ*（ｉ，ｊ）、及び、（Ｎ２＋１）個の学習パラメータＷｂ（ｊ）（但し、ｊ＝０，１，…，Ｎ２である。）の解Ｗｂ*（ｊ）を求める。
【００９２】
入力値をＸ＝｛ｘ１，…，ｘＮ１｝とする入力ユニットＮ１個、中間ユニットＮ２個、出力ユニット１個の三層フィードフォワードニューラルネットワークの出力値ｙは、次式で表すことができる。但し、ｘ０＝１，ｚ０＝１である。また、関数ｆ（ｘ）は、非線形関数であり、本実施例では、シグモイド関数を採用する（ｆ（ｘ）＝ｓｉｇ（ｘ））。
【００９３】
【数１２】
2008250990.tif 000014
従って、Ｓ２１０では、上式に基づき、サンプルＸ（ｓ）が属するカテゴリを表す値ｙ（ｓ）と、当該サンプルＸ（ｓ）をニューラルネットワークに入力したときの出力値ｙ（Ｗ１，Ｘ（ｓ））との二乗誤差Ｅが最小となる値Ｗ１*を、勾配法により、学習パラメータＷ１の解Ｗ１*として求める。
【００９４】
即ち、二乗誤差Ｅを、次式
【００９５】
【数１３】
2008250990.tif 000015
で定義すると共に、学習パラメータＷａ（ｉ，ｊ），Ｗｂ（ｊ）の修正量ΔＷａ（ｉ，ｊ），ΔＷｂ（ｊ）を、学習速度を表す定数ηを用いて次式
【００９６】
【数１４】
2008250990.tif 000016
で定め、学習パラメータＷａ（ｉ，ｊ），Ｗｂ（ｊ）の値を、初期値からΔＷａ（ｉ，ｊ），ΔＷｂ（ｊ）ずつ更新していく。そして、学習パラメータＷａ（ｉ，ｊ），Ｗｂ（ｊ）の値が収束したときの当該学習パラメータＷａ（ｉ，ｊ），Ｗｂ（ｊ）の値を、二乗誤差Ｅが最小となる値Ｗ１*として求める。尚、ここでは「二乗誤差Ｅが最小」と表現しているが、上述の手法では、二乗誤差Ｅが局所的に最小となる値Ｗ１*しか求めることができない。即ち、Ｓ２１０では、実質的には、二乗誤差Ｅが極小値となる値Ｗ１*を、学習パラメータＷ１の解Ｗ１*として求めることになる。
【００９７】
また、Ｓ２１０での処理を終えると、ＣＰＵ１１は、Ｓ２２０に移行し、図６に示す新学習データ生成処理を実行する。図６は、ＣＰＵ１１が実行する新学習データ生成処理を表すフローチャートである。
【００９８】
Ｓ２２０において、新学習データ生成処理を開始すると、ＣＰＵ１１は、まず、パラメータＮを値Ｎ２に設定して、Ｎ＝Ｎ２次元のパラメータＵ（ｓ）（ｓ＝１，…，Ｓ）を生成する（Ｓ２２１）。また、パラメータｓを値１に設定する（Ｓ２２２）。
【００９９】
その後、Ｓ２２３に移行して、Ｓ２１０で算出した学習パラメータＷ１の解Ｗ１*を設定してなる三層フィードフォワードニューラルネットワークに、サンプルＸ（ｓ）を入力したときの中間層の出力値Ｚ＝｛ｚ１，…，ｚＮ２｝を、学習データＤ（ｓ）に基づき求める。
【０１００】
具体的には、次式に従って、中間層の出力値Ｚを算出する（但し、ｘ０（ｓ）＝１とする。）。
【０１０１】
【数１５】
2008250990.tif 000017
また、この処理後には、算出した値Ｚを、パラメータＵ（ｓ）＝｛ｕ１（ｓ），…，ｕＮ（ｓ）｝に設定し、新たな学習データＤｖ（ｓ）＝｛Ｕ（ｓ）＝Ｚ，ｙ（ｓ）｝を生成する（Ｓ２２５）。その後、パラメータｓを１加算した値に更新し（Ｓ２２７）、更新後のパラメータｓの値が学習データの総数Ｓよりも大きいか否かを判断する（Ｓ２２９）。
【０１０２】
そして、ｓ≦Ｓである場合には（Ｓ２２９でＮｏ）、Ｓ２２３に移行する。このようにして、Ｓ２２３〜Ｓ２２９の処理を繰返し実行することにより、当該新学習データ生成処理では、ｓ＝１からｓ＝Ｓの範囲で、各学習データＤ（ｓ）から、学習データＤｖ（ｓ）を生成する。そして、全学習データＤ（ｓ）について、新たな学習データＤｖ（ｓ）を生成し終えると、Ｓ２２９においてＹｅｓと判断し、当該新学習データ生成処理を終了する。
【０１０３】
また、Ｓ２２０において、新学習データ生成処理を終了すると、ＣＰＵ１１は、Ｓ２３０に移行し、図７に示すカーネルパラメータ設定処理を実行する。図７は、ＣＰＵ１１が実行するカーネルパラメータ設定処理を表すフローチャートである。
【０１０４】
カーネルパラメータ設定処理を開始すると、ＣＰＵ１１は、入力ユニットＮ個、中間ユニットＮｈ個、出力ユニット１個の三層フィードフォワードニューラルネットワークを新たな学習対象のニューラルネットワークに設定し、このニューラルネットワークにおいて未知の学習パラメータＷ２＝｛Ｗｃ（０，１），…，Ｗｃ（ｊ，ｋ），…，Ｗｃ（Ｎ，Ｎｈ），Ｗｄ（０），…，Ｗｄ（Ｎｈ）｝の解Ｗ２*を、Ｓ２２０で生成したＳ個の学習データＤｖ（１），Ｄｖ（２），…，Ｄｖ（Ｓ）に基づき、学習データＤｖ（ｓ）が示す値ｙ（ｓ）を教師信号として、バックプロパゲーション法により求める（Ｓ２３１）。
【０１０５】
尚、図５（ｂ）に示すように、パラメータＷｃ（ｊ，ｋ）は、第ｊ入力ユニット−第ｋ中間ユニット間の結合係数に対応するパラメータであり、パラメータＷｄ（ｋ）は、第ｋ中間ユニット−出力ユニット間の結合係数に対応するパラメータである。また、パラメータＷｃ（０，ｋ）は、第ｋ中間ユニットの閾値に対応するパラメータであり、パラメータＷｄ（０）は、出力ユニットの閾値に対応するするパラメータである。
【０１０６】
即ち、Ｓ２３１では、学習パラメータＷ２の解Ｗ２*として、（Ｎ・Ｎｈ＋Ｎｈ）個の学習パラメータＷｃ（ｊ，ｋ）（但し、ｊ＝０，１，…，Ｎ、ｋ＝１，２，…，Ｎｈである。）の解Ｗｃ*（ｊ，ｋ）、及び、（Ｎｈ＋１）個の学習パラメータＷｄ（ｋ）（但しｋ＝０，１，…，Ｎｈである。）の解Ｗｄ*（ｋ）を求める。
【０１０７】
入力値をＵ＝｛ｕ１，…，ｕＮ｝とする入力ユニットＮ個、中間ユニットＮｈ個、出力ユニット１個の三層フィードフォワードニューラルネットワークの出力値ｙは、次式で表すことができる（但し、ｕ０＝１，ｈ０＝１とする。）。
【０１０８】
【数１６】
2008250990.tif 000018
従って、Ｓ２３１では、上式に基づき、サンプルＵ（ｓ）が属するカテゴリを表す値ｙ（ｓ）と、当該サンプルＵ（ｓ）をニューラルネットワークに入力したときの出力値ｙ（Ｗ２，Ｕ（ｓ））との二乗誤差Ｅが最小となる値Ｗ２*を、勾配法により、学習パラメータＷ２の解Ｗ２*として求める。
【０１０９】
【数１７】
2008250990.tif 000019
但し、Ｓ２３１では、Ｓ２１０と同様、実質的には、二乗誤差Ｅが極小値となる値Ｗ２*を、学習パラメータＷ２の解Ｗ２*として求めることになる。
【０１１０】
また、Ｓ２３１での処理を終えると、ＣＰＵ１１は、パラメータｓを値１に設定し（Ｓ２３２）、その後、Ｓ２３３に移行する。
また、Ｓ２３３に移行すると、ＣＰＵ１１は、Ｓ２３１で算出した学習パラメータＷ２の解Ｗ２*を設定してなる三層フィードフォワードニューラルネットワークに、サンプルＵ（ｓ）を入力したときの中間層の出力値Ｈ（ｓ）＝｛ｈ１（ｓ），…，ｈＮｈ（ｓ）｝を、学習データＤｖ（ｓ）に基づき求める。
【０１１１】
具体的には、次式に従って、中間層の出力値Ｈを算出する（但し、ｕ０（ｓ）＝１である。）。
【０１１２】
【数１８】
2008250990.tif 000020
また、この後には、パラメータｓの値を１加算し（Ｓ２３４）、Ｓ２３５に移行する。そして、Ｓ２３５では、更新後のパラメータｓの値が学習データの総数Ｓよりも大きいか否かを判断し、ｓ≦Ｓである場合には（Ｓ２３５でＮｏ）、Ｓ２３３に移行する。このようにして、当該カーネルパラメータ設定処理では、Ｓ２３３〜Ｓ２３５の処理を繰返し実行することにより、ｓ＝１からｓ＝Ｓまでの範囲において、学習データＤｖ（ｓ）のサンプルＵ（ｓ）を上記ニューラルネットワークに入力したときに得られる中間層の出力値Ｈ（ｓ）を算出する。そして、ｓ＞Ｓとなると、Ｓ２３５でＹｅｓと判断し、Ｓ２３６に移行する。
【０１１３】
また、Ｓ２３６に移行すると、ＣＰＵ１１は、第ａ行第ｂ列の要素Ｑabが、Ｈ（ｓ＝ａ）とＨ（ｓ＝ｂ）との内積＜Ｈ（ａ），Ｈ（ｂ）＞で表されるＳ行Ｓ列の行列Ｑを算出する。
【０１１４】
【数１９】
2008250990.tif 000021
また、この処理を終えると、ＣＰＵ１１は、Ｓ個の学習データＤｖ（１），…，Ｄｖ（Ｓ）に基づき、次の二乗誤差Ｅが最小となるパラメータγの解γ*を、勾配法により算出する（Ｓ２３７）。
【０１１５】
【数２０】
2008250990.tif 000022
尚、本実施例では、カーネルとしてガウシアンカーネルが採用されているものとする。また、Ｓ２３７では、勾配法によりパラメータγの解γ*を求めるため、実質的には、二乗誤差Ｅが極小値となる値γ*を、パラメータγの解γ*として求めることになる。
【０１１６】
また、Ｓ２３７での処理を終えると、ＣＰＵ１１は、算出した解γ*をカーネルＫ（Ｕ，Ｕ（ｓ），γ）のパラメータγに設定して、非線形サポートベクタマシンの設計に用いるカーネルＫを、次のように設定する（Ｓ２３８）。
【０１１７】
【数２１】
2008250990.tif 000023
その後、当該カーネルパラメータ設定処理を終了する。
【０１１８】
また、Ｓ２３０におけるカーネルパラメータ設定処理を終了すると、ＣＰＵ１１は、Ｓ２４０に移行し、非線形サポートベクタマシンを設計する。
具体的に、Ｓ２４０では、非線形サポートベクタマシンにおける未知のパラメータαs，βの解αs*，β*を、周知の技法と同様、次の拘束条件付二次最適化問題を解くことにより得る。
【０１１９】
即ち、拘束条件
【０１２０】
【数２２】
2008250990.tif 000024
の下で、目的関数Ｌα
【０１２１】
【数２３】
2008250990.tif 000025
が最大となるパラメータαs（ｓ＝１，２，…，Ｓ）の解αs*を、非線形サポートベクタマシンのパラメータαsの解αs*として算出する。
【０１２２】
また、パラメータβの解β*は、ゼロでないαs*（ｓ＝１，２，…，Ｓ）に対応するＵ（ｓ）、即ちサポートベクタを用いて、次式により得る。
【０１２３】
【数２４】
2008250990.tif 000026
このようにして、Ｓ２４０で非線形サポートベクタマシンのパラメータαs，βの解αs*，β*を算出すると、ＣＰＵ１１は、Ｓ２５０に移行し、上述のＳ２１０で算出した学習パラメータＷａ（ｉ，ｊ）の解Ｗａ*（ｉ，ｊ）、即ち、ニューラルネットワークにおける中間層の出力値Ｚの算出に必要な学習パラメータＷａ（ｉ，ｊ）の解Ｗａ*（ｉ，ｊ）、及び、Ｓ２４０で設計した非線形サポートベクタマシンのパラメータαs，β，γの解αs*，β*，γ*を記述したデータファイルを生成し、これを、ハードディスク装置１７に書き込む。尚、図４（ｂ）は、Ｓ２５０で出力するデータファイルの構成を示した説明図である。
【０１２４】
また、この処理を終えると、ＣＰＵ１１は、Ｓ２６０に移行し、入力値Ｘ＝｛ｘ１，…，ｘｉ，…，ｘＮ１｝から上述した中間層の出力値Ｚ＝Ｕ＝｛ｕ１，…，ｕｊ，…，ｕＮ｝への変換式
【０１２５】
【数２５】
2008250990.tif 000027
及び、設計した非線形サポートベクタマシン（識別関数）
【０１２６】
【数２６】
2008250990.tif 000028
を記したモデル導出結果出力画面を、表示装置２１を通じて表示し、その後、当該モデル導出処理を終了する。
【０１２７】
尚、このようにしてモデル導出装置１から出力される学習データＤ（１），…，Ｄ（Ｓ）に対応する計算モデルの導出結果は、認識システムの設計者により利用される。即ち、この導出結果に従って、認識システムは、入力値Ｘから上記ニューラルネットワークにおける出力層より１層手前の中間層の出力値Ｚを算出し、この出力値Ｚを非線形サポートベクタマシンの入力値Ｕとして、当該非線形サポートベクタマシンの出力値ｙを算出し、入力値Ｘに対応するカテゴリを認識する構成にされる。
【０１２８】
図８は、上述のモデル導出装置１により導出された計算モデルが搭載されてなる認識装置３０の構成例を示したブロック図である。この認識装置３０は、特徴抽出部３１と、認識部３３と、出力インタフェース３５と、を備え、音声データや画像データなどの認識対象パターンが外部より入力されると、特徴抽出部３１により、認識対象パターンの特徴を抽出してＮ１次元の特徴ベクトルを生成し、これを認識部３３への入力Ｘ＝｛ｘ１，…，ＸＮ１｝とする。
【０１２９】
また、認識部３３は、特徴抽出部３１より特徴ベクトルＸ＝｛ｘ１，…，ＸＮ１｝が入力されると、次の認識処理を実行する。図９は、認識部３３が実行する認識処理を表すフローチャートである。
【０１３０】
認識処理を開始すると、認識部３３は、まず入力値Ｘ＝｛ｘ１，…，ＸＮ１｝を、Ｎ次元のベクトルＵ＝｛ｕ１，…，ｕＮ｝に変換する（Ｓ３１０）。但し、ベクトルＵの第ｊ要素の値ｕｊは、次の値を採る。
【０１３１】
【数２７】
2008250990.tif 000029
尚、Ｗａ*（ｉ，ｊ）は、定数であり、設計段階でモデル導出装置１により算出された学習パラメータＷａ（ｉ，ｊ）の解に対応するものである。また、ここでは、ｘ０＝１として、値ｕｊを算出する。
【０１３２】
また、この処理を終えると、認識部３３は、算出したベクトルＵに基づき、次式により、カテゴリを表す値ｙを算出する（Ｓ３２０）。
【０１３３】
【数２８】
2008250990.tif 000030
尚、値Ｓ，β*，γ*及びαS*，ｙ（ｓ），Ｕ（ｓ）（ｓ＝１，２，…，Ｓ）も同様に、定数であり、上述の手法により算出された解αS*，β*，γ*及び解の導出に用いられた学習データＤｖ（１），…，Ｄｖ（Ｓ）に対応した値に、設計段階で設定されるものである。
【０１３４】
そして、Ｓ３２０の処理を終えると、認識部３３は、算出したカテゴリを表す値ｙを、入力パターンの認識結果として、出力インタフェース３５を通じて出力する（Ｓ３３０）。その後、当該認識処理を終了する。尚、このようにして、認識装置３０から出力されるカテゴリを表す値ｙは、後段の情報処理装置（図示せず）に入力され、この認識結果に対応する処理が、当該情報処理装置にて実行される。
【０１３５】
以上、第一実施例のモデル導出装置１及び認識装置３０の構成について説明したが、本実施例では、認識システムの計算モデルとして、ニューラルネットワークと非線形サポートベクタマシンとを組み合わせた計算モデルを導出するようにした。具体的には、任意の認識対象に対して好適な計算モデルを導出するために、まずＳ個の各学習データＤ（ｓ）が示す入力値ＸのサンプルＸ（ｓ）及び教師信号ｙ（ｓ）に基づき、ニューラルネットワークを学習し、学習したニューラルネットワークにより、サンプルＸ（ｓ）を、線形分離しやすい値Ｚに変換して、新たな学習データＤｖ（ｓ）を生成するようにした。そして、この学習データＤｖ（ｓ）に基づき、非線形サポートベクタマシンを設計することにより、サンプルをカテゴリ毎に分離可能な非線形サポートベクタマシンを求め、入力値Ｘに対応するカテゴリを精度よく認識可能な計算モデルを導出するようにした。
【０１３６】
従来知られるニューラルネットワークの学習方法では、学習パラメータＷ１の解として、局所解しか得られないため、最適なニューラルネットワークを構成することができる理論的な保証がなかったが、本実施例では、理論的に最適解を求めることが可能な非線形サポートベクタマシンを用いて計算モデルを導出しているので、学習データに基づき最適な認識システムの計算モデルを導出することができる。
【０１３７】
また、ニューラルネットワークでは、学習データ外の入力があった場合に、これを十分正確に認識することができないが、本実施例では、非線形サポートベクタマシンを用いて計算モデルを導出しているので、学習データ外のパターン入力に対しても良好な認識結果を得ることが可能な計算モデルを導出することができる。
【０１３８】
また、従来の非線形サポートベクタマシンの設計方法では、サンプルＸ（ｓ）が元々高い線形分離性を示さないと、好適な非線形サポートベクタマシンを設計することができないといった問題があったが、本実施例のモデル導出装置１では、入力値Ｘ（ｓ）を線形分離しやすい値Ｚ（ｓ）に置換して非線形サポートベクタマシンを設計するので、従来よりも様々な認識システムに対して、非線形サポートベクタマシンの手法を採用することができる。
【０１３９】
この他、本実施例では、非線形サポートベクタマシンに用いるカーネルのパラメータγについても学習データＤｖ（ｓ）に基づき学習するようにしたので、従来のように、設計者が試行錯誤によりパラメータγの値を設定する必要がなく、認識システムの設計を効率的に行うことができる。
【実施例２】
【０１４０】
続いて、第二実施例のモデル導出装置１及び認識装置３０について説明する。第二実施例のモデル導出装置１は、ＣＰＵ１１が実行するモデル導出処理及び新学習データ生成処理の内容が、第一実施例のモデル導出装置１と異なる程度であり、第二実施例の認識装置３０は、認識部３３で実行する認識処理の内容が、第一実施例の認識装置３０と異なる程度である。従って、以下では、上記異なる処理の内容を、図１０及び図１１を用いて説明するに留める。
【０１４１】
図１０（ａ）は、第二実施例においてＣＰＵ１１が実行するモデル導出処理を表したフローチャートであり、処理の後半部分を抜粋して示した図である。また、図１０（ｂ）は、第二実施例においてＣＰＵ１１が実行する新学習データ生成処理を表すフローチャートである。
【０１４２】
第二実施例において、ＣＰＵ１１は、モデル導出処理を開始すると、第一実施例と同様に、Ｓ１１０からＳ２１０までの処理を実行し、その後のＳ４００にて、図１０（ｂ）に示す新学習データ生成処理を実行する。
【０１４３】
この新学習データ生成処理を開始すると、ＣＰＵ１１は、まず、パラメータｓを値１に設定する（Ｓ４１０）。その後、Ｓ２１０で算出した学習パラメータＷ１の解Ｗ１*を設定してなる三層フィードフォワードニューラルネットワークに、サンプルＸ（ｓ）を入力したときの中間層の出力値Ｚ（ｓ）＝｛ｚ１（ｓ），…，ｚＮ２（ｓ）｝を、学習データＤ（ｓ）に基づき求める（Ｓ４２０）。
【０１４４】
具体的には、次式に従って、中間層の出力値Ｚ（ｓ）を算出する（但し、ｘ０（ｓ）＝１とする。）。
【０１４５】
【数２９】
2008250990.tif 000031
また、この処理後には、パラメータｓを１加算した値に更新し（Ｓ４２５）、更新後のパラメータｓの値が学習データの総数Ｓよりも大きいか否かを判断する（Ｓ４３０）。
【０１４６】
そして、ｓ≦Ｓである場合には（Ｓ４３０でＮｏ）、Ｓ４２０に移行する。このようにして、Ｓ４２０〜Ｓ４３０の処理を繰返し実行することにより、当該新学習データ生成処理では、ｓ＝１からｓ＝Ｓまでの範囲において、各学習データＤ（ｓ）のサンプルＸ（ｓ）を入力したときの中間層の出力値Ｚ（ｓ）＝｛ｚ１（ｓ），…，ｚＮ２（ｓ）｝を求める。
【０１４７】
そして、全学習データＤ（ｓ）のサンプルＸ（ｓ）について、対応する中間層の出力値Ｚ（ｓ）＝｛ｚ１（ｓ），…，ｚＮ２（ｓ）｝を求め終えると、Ｓ４３０においてＹｅｓと判断し、Ｓ４４０に移行する。
【０１４８】
Ｓ４４０に移行すると、ＣＰＵ１１は、算出したＺ（１），…，Ｚ（Ｓ）の平均値μ＝｛μ１，…，μＮ２｝を、次式に従って算出する。
【０１４９】
【数３０】
2008250990.tif 000032
また、この後には、算出したμを用いて、分散共分散行列Ｃを、次式に従って算出する（Ｓ４４５）。尚、上付き文字Ｔは、転置を表すものとする。
【０１５０】
【数３１】
2008250990.tif 000033
Ｓ４４５において分散共分散行列Ｃを算出すると、ＣＰＵ１１は、この行列Ｃの固有値λｒ及び固有ベクトルＪｒ（ｒ＝１，２，…）を算出し（Ｓ４５０）、固有値λｒの大きい固有ベクトルＪｒから順にＮ３個の固有ベクトルＪｒを、主軸Ｊ１，…，Ｊｍ，…，ＪＮ３に設定する（Ｓ４５５）。尚、主軸に設定する固有ベクトルの数Ｎ３は、２以上でＺ（ｓ）の次数Ｎ２よりも小さい値に設定される。具体的に、主軸に設定する固有ベクトルの数Ｎ３は、Ｚ（ｓ）の次数Ｎ２よりも所定数小さい値として設計段階で予め定められてもよいし、得られた固有値λｒ（ｒ＝１，２，…）から最適な値に設定するようにしてもよい。
【０１５１】
このようにしてＳ４５５での処理を終えると、ＣＰＵ１１は、Ｓ４６０に移行し、パラメータＮを主軸の個数Ｎ３に設定して、Ｎ＝Ｎ３次元のパラメータＵ（ｓ）（ｓ＝１，…，Ｓ）を生成する（Ｓ４６０）。また、パラメータｓを値１に設定する（Ｓ４６５）。
【０１５２】
その後、Ｓ４２０の処理で算出したＺ（ｓ）を、主軸Ｊ１，…，Ｊｍ，…，ＪＮ３を用いて、Ｎ３次元のベクトルＶ＝｛ｖ１，…，ｖｍ，…，ｖＮ３｝に変換する（Ｓ４７０）。尚、このベクトルＶにおける第ｍ要素の値ｖｍは、次式で算出される。
【０１５３】
【数３２】
2008250990.tif 000034
また、このようにして、ベクトルＺ（ｓ）を、ベクトルＶに変換すると、ＣＰＵ１１は、算出した値Ｖを、パラメータＵ（ｓ）＝｛ｕ１（ｓ），…，ｕＮ（ｓ）｝に設定し、新たな学習データＤｖ（ｓ）＝｛Ｕ（ｓ）＝Ｖ，ｙ（ｓ）｝を生成する（Ｓ４７５）。その後、パラメータｓを１加算した値に更新し（Ｓ４８０）、更新後のパラメータｓの値が学習データの総数Ｓよりも大きいか否かを判断する（Ｓ４９０）。
【０１５４】
そして、ｓ≦Ｓである場合には（Ｓ４９０でＮｏ）、Ｓ４７０に移行する。このようにして、Ｓ４７０〜Ｓ４９０の処理を繰返し実行することにより、当該新学習データ生成処理では、ｓ＝１からｓ＝Ｓまでの範囲において、各学習データＤ（ｓ）に基づいて算出したＺ（ｓ）から、学習データＤｖ（ｓ）を生成する。そして、全学習データＤ（ｓ）について、新たな学習データＤｖ（ｓ）を生成し終えると、Ｓ４９０でＹｅｓと判断し、当該新学習データ生成処理を終了する。
【０１５５】
Ｓ４００での新学習データ生成処理を終了すると、ＣＰＵ１１は、Ｓ５００に移行し、第一実施例と同様にカーネルパラメータ設定処理を実行して、パラメータγの解γ*を求める。その後、Ｓ５１０に移行する。
【０１５６】
また、Ｓ５１０に移行すると、ＣＰＵ１１は、学習データＤｖ（１），…，Ｄｖ（Ｓ）及びパラメータγの解γ*を用いて、非線形サポートベクタマシンを設計する。即ち、Ｓ２４０と同様にして、拘束条件付二次最適化問題を解き、非線形サポートベクタマシンにおける未知のパラメータαs，βの解αs*，β*を、求める。
【０１５７】
このようにして、Ｓ５１０で非線形サポートベクタマシンのパラメータαs，βの解αs*，β*を算出すると、ＣＰＵ１１は、Ｓ５２０に移行し、上述のＳ２１０で算出した学習パラメータＷａ（ｉ，ｊ）の解Ｗａ*（ｉ，ｊ）、即ち、中間層の出力値Ｚの算出に必要な学習パラメータＷａ（ｉ，ｊ）の解Ｗａ*（ｉ，ｊ）、及び、ベクトルＺからベクトルＶへの変換に必要な主軸Ｊ１，…，ＪＮ３、Ｓ５１０で設計した非線形サポートベクタマシンのパラメータαs，β，γの解αs*，β*，γ*を記述したデータファイルを生成し、これを、ハードディスク装置１７に書き込む。具体的に、Ｓ５２０では、図４（ｂ）に示す記述に対して、更に、Ｎ３個の主軸Ｊ１，Ｊ２，…，ＪＮ３の値を記述して、データファイルを生成し、これを、ハードディスク装置１７に書き込む。
【０１５８】
また、この処理を終えると、ＣＰＵ１１は、Ｓ５３０に移行し、入力値Ｘ＝｛ｘ１，…，ｘｉ，…，ｘＮ１｝から上述したベクトルＶ＝Ｕ＝｛ｕ１，…，ｕｍ，…，ｕＮ｝への変換式
【０１５９】
【数３３】
2008250990.tif 000035
及び、Ｓ５１０で設計した非線形サポートベクタマシンを記したモデル導出結果出力画面を、表示装置２１を通じて表示し、その後、当該モデル導出処理を終了する。
【０１６０】
以上、第二実施例のモデル導出処理について説明したが、第二実施例では、この出力結果に基づき、入力値Ｘから上記ニューラルネットワークの出力層より１層手前の中間層の出力値Ｚを算出し、この出力値Ｚを、Ｎ３個のＮ２次元ベクトルＪｍを用いて次元削減し、次元削減後の値Ｖを非線形サポートベクタマシンの入力値Ｕとして当該非線形サポートベクタマシンの出力値ｙを算出する計算モデルが、認識装置３０に搭載されることになる。
【０１６１】
続いて、この計算モデルが搭載された第二実施例の認識装置３０の認識部３３が実行する認識処理について説明する。図１１は、第二実施例の認識部３３が実行する認識処理を表すフローチャートである。
【０１６２】
特徴抽出部３１から特徴ベクトルＸが入力されて、図１１に示す認識処理を開始すると、認識部３３は、まず入力値Ｘ＝｛ｘ１，…，ＸＮ１｝を、Ｎ２次元のベクトルＺ＝｛ｚ１，…，ｚＮ２｝に変換する（Ｓ６１０）。但し、ベクトルＺの第ｊ（ｊ＝１，２，…，Ｎ２）要素の値ｚｊは、次の値を採る。
【０１６３】
【数３４】
2008250990.tif 000036
尚、Ｗａ*（ｉ，ｊ）は、定数であり、設計段階でモデル導出装置１により算出された学習パラメータＷａ（ｉ，ｊ）の解に対応するものである。また、ここでは、ｘ０＝１として、値ｚｊを算出する（Ｓ６１０）。
【０１６４】
また、この処理を終えると、認識部３３は、算出したベクトルＺを、次式に従い次元削減して、Ｎ次元のベクトルＵ＝｛ｕ１，…，ｕｍ，…，ｕＮ｝に変換する（Ｓ６２０）。尚、ベクトルＪｍは、設計段階でモデル導出装置１により算出された主軸に対応するものである。
【０１６５】
【数３５】
2008250990.tif 000037
その後、算出したベクトルＵに基づき、次式により、カテゴリを表す値ｙを算出する（Ｓ６３０）。
【０１６６】
【数３６】
2008250990.tif 000038
尚、値Ｓ，β*，γ*及びαS*，ｙ（ｓ），Ｕ（ｓ）（ｓ＝１，２，…，Ｓ）も同様に、定数であり、上述の手法により算出された解αS*，β*，γ*及び解の導出に用いられた学習データＤｖ（１），…，Ｄｖ（Ｓ）に対応した値に、設計段階で設定されるものである。
【０１６７】
そして、Ｓ６３０の処理を終えると、認識部３３は、算出したカテゴリを表す値ｙを、入力パターンの認識結果として、出力インタフェース３５を通じて出力する（Ｓ６４０）。その後、当該認識処理を終了する。
【０１６８】
以上、第二実施例のモデル導出装置１及び認識装置３０の動作について説明したが、本実施例によれば、ニューラルネットワークの中間層の出力値Ｚを次元削減するため、少ない演算量でパターン認識可能な認識システムの計算モデルを導出することができ、大変便利である。
【０１６９】
尚、本発明の情報処理装置が備える取得手段は、上記実施例においてＳ１１０〜Ｓ２００の処理により実現され、学習手段は、Ｓ２１０の処理により実現されている。また、新学習データ生成手段は、第一実施例においてＳ２２０の処理により実現され、第二実施例においてＳ４００の処理により実現されている。
【０１７０】
また、サポートベクタマシン設計手段は、第一実施例においてＳ２３０及びＳ２４０の処理により実現され、第二実施例においてＳ５００及びＳ５１０の処理により実現されている。その他、出力手段は、第一実施例においてＳ２５０〜Ｓ２６０の処理により実現され、第二実施例においてＳ５２０〜Ｓ５３０の処理により実現されている。
【０１７１】
この他、本発明の設計装置が備える取得手段は、第一実施例においてＳ２２０の処理により実現され、第二実施例においてＳ４００の処理により実現されている。また、適値算出手段は、カーネルパラメータ設定処理により実現され、設計手段は、第一実施例においてＳ２４０の処理により実現され、第二実施例においてＳ５１０の処理により実現されている。
【０１７２】
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。
例えば、上記実施例では、ガウシアンカーネルを用いた非線形サポートベクタマシンを設計するようにしたが、多項式カーネルなどの他のカーネルを用いて非線形サポートベクタマシンを設計してもよい。また、カーネルを用いずに、非線形サポートベクタマシンを設計してもよい。
【０１７３】
カーネルを用いずに、非線形サポートベクタマシンを設計する場合には、例えば、
【０１７４】
【数３７】
2008250990.tif 000039
として、１以上の整数の組合せ｛ｅ１（ｎ），ｅ２（ｎ），…，ｅＮ（ｎ）｝を、ｎ＝１，２，…，Ｎ５において組合せが重複しないように、Ｎ５個採り、Ｎ次元のベクトルＵ＝｛ｕ１，…，ｕＮ｝を、それより高次元のＮ５次元のベクトルφ（Ｕ）＝｛ｂ１，…，ｂＮ５｝に置換する写像φを定めればよい。勿論、このようにモデル導出装置１を構成する場合には、カーネルパラメータ設定処理を実行しないように、モデル導出処理を構成すればよい。
【０１７５】
この他、Ｓ３３０，Ｓ６４０の処理では、カテゴリを表す値ｙと共に、認識結果（値ｙ）の確度を表す情報を、出力インタフェース３５を通じて出力するように、認識装置３０を構成してもよい。
【０１７６】
具体的に、認識結果の確度を表す情報としては、値ｙを算出する際にＳ３２０，Ｓ６３０で求められる非線形サポートベクタマシンを構成する符号関数への入力値ｐの絶対値｜ｐ｜を、採用することができる。
【０１７７】
【数３８】
2008250990.tif 000040
上述したように、符号関数への入力値ｐは、超平面からの符号付距離に対応する値である。従って、入力値ｐの絶対値が大きければ、認識結果の確度が高いということができ、入力値ｐの絶対値が小さければ、認識結果の確度が低いということができる。
【０１７８】
従って、認識結果（値ｙ）と共に、このような確度を表す情報（値｜ｐ｜）を出力するように認識装置３０を構成すれば、出力先の情報処理装置にて、確度を表す情報から認識処理のやり直しの要否を判断することができて、確度が低い場合には、例えば、認識対象としての音声をユーザに再度発声させることにより、認識処理をやり直すことができる。
【図面の簡単な説明】
【０１７９】
【図１】モデル導出装置１の構成を表すブロック図である。
【図２】ＣＰＵ１１が実行するモデル導出処理を表すフローチャートである。
【図３】モデル導出処理により導出する計算モデルの基本構成図（ａ）及び従来の計算モデルの構成図（ｂ）（ｃ）である。
【図４】入出力されるデータファイルの構成を表した説明図である。
【図５】パラメータと結合係数との対応関係を示した説明図である。
【図６】ＣＰＵ１１が実行する新学習データ生成処理を表すフローチャートである。
【図７】ＣＰＵ１１が実行するカーネルパラメータ設定処理を表すフローチャートである。
【図８】認識装置３０の構成例を示したブロック図である。
【図９】認識部３３が実行する認識処理を表すフローチャートである。
【図１０】第二実施例においてＣＰＵ１１が実行するモデル導出処理を表すフローチャート（ａ）及び新学習データ生成処理を表すフローチャート（ｂ）である。
【図１１】第二実施例において認識部３３が実行する認識処理を表すフローチャートである。
【図１２】ニューラルネットワークによる演算方法の例を示した説明図（ａ）及びニューラルネットワークの問題点を示した説明図（ｂ）である。
【符号の説明】
【０１８０】
１…モデル導出装置、１１…ＣＰＵ、１３…ＲＯＭ、１５…ＲＡＭ、１７…ハードディスク装置、２１…表示装置、２３…ユーザインタフェース、２５…ドライブ装置、３０…認識装置、３１…特徴抽出部、３３…認識部、３５…出力インタフェース
【図１】
2008250990.tif 000049
【図２】
2008250990.tif 000050
【図３】
2008250990.tif 000051
【図４】
2008250990.tif 000052
【図５】
2008250990.tif 000053
【図６】
2008250990.tif 000054
【図７】
2008250990.tif 000055
【図８】
2008250990.tif 000056
【図９】
2008250990.tif 000057
【図１０】
2008250990.tif 000058
【図１１】
2008250990.tif 000059
【図１２】
2008250990.tif 000060