(57)【特許請求の範囲】
【請求項１】
出力データの尤もらしさを求めるためのＤ個（Ｄは２以上の整数）のコンポーネントを用いて、入力データに対して所定の情報処理を行って出力データを出力する情報処理システムに設定される、前記Ｄ個のコンポーネントに対するＤ個のシステムパラメータを、評価関数の値に基づいて最適化するシステムパラメータ最適化装置であって、
前記Ｄ個のシステムパラメータの値を表わすＤ次元空間における所定個の粒子の各々の位置、前記所定個の粒子の各々の速度、及び前記所定個の粒子の各々における前記評価関数の値に関する自己ベストに初期値を設定すると共に、前記所定個の粒子における前記評価関数の値に関する全体ベストに初期値を各々設定する初期化手段と、
前記所定個の粒子の各々について、前記粒子の自己ベスト、前記全体ベスト、及び乱数に基づいて、速度の絶対値が所定値以下となるように、前記粒子の速度を各々更新する速度更新手段と、
前記所定個の粒子の各々について、前記速度更新手段によって更新された前記粒子の速度に基づいて、前記粒子の位置を各々更新すると共に、原点を中心とし半径を所定値とした球面上の位置になるように前記更新された粒子の位置を各々正規化する位置更新手段と、
前記所定個の粒子の各々について、前記粒子の現在の位置が示す前記Ｄ個のシステムパラメータの値を前記情報処理システムに設定したときに予め用意された入力データに対して前記情報処理システムから出力される前記出力データについて、前記入力データに対する正解となる出力データに基づく前記評価関数の値を計算する評価手段と、
前記所定個の粒子の各々について、前記評価手段によって計算された前記評価関数の値に基づいて、前記粒子の自己ベストを各々更新する自己ベスト更新手段と、
前記所定個の粒子について更新された自己ベストに基づいて、前記全体ベストを更新する全体ベスト更新手段と、
前記速度更新手段による更新、前記位置更新手段による更新、前記評価手段による計算、前記自己ベスト更新手段による更新、及び前記全体ベスト更新手段による更新を繰り返すことで、前記全体ベストを最適化したときに、前記全体ベストが示す前記Ｄ個のシステムパラメータの値を出力する最適化手段と、
を含むシステムパラメータ最適化装置。
【請求項２】
前記速度更新手段は、更新対象の粒子について、前記粒子の自己ベスト、前記全体ベスト、及び乱数に基づいて、速度の絶対値が所定値以下となるように前記粒子の速度の複数の更新候補を算出し、
前記位置更新手段は、前記更新対象の粒子について、前記粒子の速度の複数の更新候補に基づいて、前記球面上の位置になるように正規化された前記粒子の位置の複数の更新候補を算出し、
前記評価手段は、前記更新対象の粒子について、前記粒子の位置の複数の更新候補の各々が示す前記複数のシステムパラメータの値を前記情報処理システムに各々設定した場合における前記評価関数の値を計算し、前記評価関数の最大値に対応する前記粒子の位置の更新候補及び前記粒子の速度の更新候補を、前記更新対象の粒子の更新結果及び前記粒子の速度の更新結果とする請求項１記載のシステムパラメータ最適化装置。
【請求項３】
出力データの尤もらしさを求めるためのＤ個（Ｄは２以上の整数）のコンポーネントを用いて、入力データに対して所定の情報処理を行って出力データを出力する情報処理システムに設定される、前記Ｄ個のコンポーネントに対するＤ個のシステムパラメータを、評価関数の値に基づいて最適化するシステムパラメータ最適化方法であって、
初期化手段によって、前記Ｄ個のシステムパラメータの値を表わすＤ次元空間における所定個の粒子の各々の位置、前記所定個の粒子の各々の速度、及び前記所定個の粒子の各々における前記評価関数の値に関する自己ベストに初期値を設定すると共に、前記所定個の粒子における前記評価関数の値に関する全体ベストに初期値を各々設定するステップと、
速度更新手段によって、前記所定個の粒子の各々について、前記粒子の自己ベスト、前記全体ベスト、及び乱数に基づいて、速度の絶対値が所定値以下となるように、前記粒子の速度を各々更新するステップと、
位置更新手段によって、前記所定個の粒子の各々について、前記速度更新手段によって更新された前記粒子の速度に基づいて、前記粒子の位置を各々更新すると共に、原点を中心とし半径を所定値とした球面上の位置になるように前記更新された粒子の位置を各々正規化するステップと、
評価手段によって、前記所定個の粒子の各々について、前記粒子の現在の位置が示す前記Ｄ個のシステムパラメータの値を前記情報処理システムに設定したときに予め用意された入力データに対して前記情報処理システムから出力される前記出力データについて、前記入力データに対する正解となる出力データに基づく前記評価関数の値を計算するステップと、
自己ベスト更新手段によって、前記所定個の粒子の各々について、前記評価手段によって計算された前記評価関数の値に基づいて、前記粒子の自己ベストを各々更新するステップと、
全体ベスト更新手段によって、前記所定個の粒子について更新された自己ベストに基づいて、前記全体ベストを更新するステップと、
最適化手段によって、前記速度更新手段による更新、前記位置更新手段による更新、前記評価手段による計算、前記自己ベスト更新手段による更新、及び前記全体ベスト更新手段による更新を繰り返すことで、前記全体ベストを最適化したときに、前記全体ベストが示す前記Ｄ個のシステムパラメータの値を出力するステップと、
を含むシステムパラメータ最適化方法。
【請求項４】
前記速度更新手段によって更新するステップは、更新対象の粒子について、前記粒子の自己ベスト、前記全体ベスト、及び乱数に基づいて、速度の絶対値が所定値以下となるように前記粒子の速度の複数の更新候補を算出し、
前記位置更新手段によって更新するステップは、前記更新対象の粒子について、前記粒子の速度の複数の更新候補に基づいて、前記球面上の位置になるように正規化された前記粒子の位置の複数の更新候補を算出し、
前記評価手段によって計算するステップは、前記更新対象の粒子について、前記粒子の位置の複数の更新候補の各々が示す前記複数のシステムパラメータの値を前記情報処理システムに各々設定した場合における前記評価関数の値を計算し、前記評価関数の最大値に対応する前記粒子の位置の更新候補及び前記粒子の速度の更新候補を、前記更新対象の粒子の更新結果及び前記粒子の速度の更新結果とする請求項３記載のシステムパラメータ最適化方法。
【請求項５】
コンピュータを、請求項１又は２記載のシステムパラメータ最適化装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムパラメータ最適化装置、方法、及びプログラムに係り、特に、情報処理システムに設定するシステムパラメータを最適化するシステムパラメータ最適化装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
機械翻訳、音声認識、画像認識と言った総合的な情報処理システムでは、複数のコンポーネントで構成されていることが一般的であり、複数のコンポーネントに対して複数のシステムパラメータが存在する。
【０００３】
よって、上記のような情報処理システムを作成する際には、どのような入力に対しても、平均的に最もよい出力がされるようにシステムパラメータを選択したい。最良のシステムパラメータを選択する処理は、学習データと呼ばれる、想定される入力とそれに対応する正解出力の例を多数準備し、それらの例を使ってシステムの良さを評価する評価関数の値が最も高くなるようなシステムパラメータを探索する処理とみなすことができる。
【０００４】
ここでは、統計翻訳システムのシステムパラメータを最適化する問題を例に取り上げる。翻訳とは、ある言語の文章を別の言語の文章に変換することである。例えば、入力文の言語は、英語であり、出力文の言語は日本語である。ここでは簡単のため、入力される文章は一文と仮定して説明を行う。ただし、入力が複数の文から成る文章の場合でも、文章は単文が複数で構成されている解釈すれば、単文の処理の連続で文章を処理することが可能であるため、ここで一文に限定して話を進めても、ここでの技術を用いて文章を処理することが可能である。
【０００５】
翻訳を自動的に行う統計翻訳システムは、入力文fに対して最も適していると思われる翻訳文^eを出力するシステムといえる。ここでは、システムが出し得る翻訳文の集合(加算無限集合)をＥとすると、入力文fに対して最適な翻訳文^eを出力する問題を、以下の（１）式のように、最適化問題として記述することができる。
【０００６】
【数１】
0005728357.tif 000002
【０００７】
ただし、Ｐ(e|f)は入力fが与えられた際の出力eの確率または尤度である。
【０００８】
現在の最先端の技術を用いた統計翻訳システムでは、一般的に複数のコンポーネントを組み合わせて翻訳システムが構成される。例えば、言語モデル、単語または句翻訳モデル、語順選択モデル等を組み合わせて翻訳システムが構成される。ここでは、翻訳システムがＤ個のコンポーネントで構成されていると仮定する。
【０００９】
このとき、上記（１）式の尤度Ｐは、以下の（２）式に示すように、翻訳文の品質（尤もらしさ）を各コンポーネント毎に推定した値の組み合わせで計算される。
【００１０】
【数２】
0005728357.tif 000003
【００１１】
ただし、{φ１（ｅ，ｆ），．．．，φＤ（ｅ，ｆ）}は、入力文と翻訳文のペア(e，f)に対して各コンポーネントが与える翻訳文としての尤もらしさの推定値である。また、{λｄ}ｄ＝１Ｄは、各コンポーネントの信頼度に相当する重みであり、これらがシステムパラメータである。つまり、翻訳システムでのシステムパラメータ最適化処理では、各コンポーネントの信頼度である{λｄ}ｄ＝１Ｄの値を、尤も質の高い翻訳文を選択するような値に決定することになる。
【００１２】
ここで、利用する評価関数をΛ()とする。次に、学習データとしてＭ個の事例を用意する。この学習データの個々の事例は、システムの入力とそれに対するいくつかの正解出力のペアである。
【００１３】
よって、ｍ番目の事例に対する、入力文をｆｍとすると、そのｍ番目の入力文に対する人間が作成したＫ個の正解翻訳例を{ｒｍ，ｋ}ｋ＝１Ｋとする。システムパラメータを、ベクトルλとし、学習データ中のｍ番目のサンプルに対するシステムの出力を^ｅｍ(λ)とする。このとき、システムパラメータの最適化処理は，以下の（３）式に示す最適化問題を解くことと等価である。
【００１４】
【数３】
0005728357.tif 000004
【００１５】
一般論として、上記（３）式で示した最適化に利用する評価関数が凸関数かつ微分可能な関数であれば、勾配法等の非常に良く知られた最適化アルゴリズムを用いて容易かつ効率的に最適なシステムパラメータを発見することが可能である。例えば、評価関数が、以下の（４）式に示すような線形関数となる平均エラー率等の場合である。
【００１６】
【数４】
0005728357.tif 000005
【００１７】
ただし、機械翻訳、音声認識、画像認識と言った総合的な情報処理システムでは、単純な評価関数ではなく、人間の直観と合致するような評価関数を利用したい場合がある。このような評価関数は、非凸、非連続、非線型、微分不可能と言うように、最適化には不向きな複雑な関数となる場合がしばしば起こり得る。例えば、統計翻訳の分野では、システム出力の翻訳文章が、どの程度人間の作った翻訳文章に適合しているかを計る指標として、以下の（５）式に示す、ＢＬＥＵと呼ばれる評価指標を利用することが多い（非特許文献１）。
【００１８】
【数５】
0005728357.tif 000006
【００１９】
ただし、Ｂは、短い翻訳文に高いスコアを与えるのを抑制するために導入された項である。また、ｃはシステムの翻訳の長さ、ｒは人間が作った翻訳文の長さを表す。直感的に説明すると、ＢＬＥＵでは、システムの翻訳文と人間の翻訳文との単語連鎖の重なりの度合いを計算することにより、翻訳文の質を評価していることになる。
【００２０】
上記（５）式で示したような複雑な評価関数に対してシステムパラメータを最適化する方法が知られている（例えば、非特許文献２）。非特許文献２に記載の方法では、基本的な処理として、複数あるパラメータからひとつ選択し他のパラメータを固定した上で、選択したひとつのパラメータの値を変化させて最も高い評価関数の値を得る値を探索している。これを複数回繰り返すことで、山登り法のように、全体として最適なシステムパラメータを決定している。
【先行技術文献】
【非特許文献】
【００２１】
【非特許文献１】Kishore Papineni, SalimRoukos, Todd Ward, and Wei jing Zhu. Bleu: a method for automatic evaluation of machine translation. In Research Report RC22176, IBM Research Division, Thomas J. Watson Research Center, pages 311-318, 2002.
【非特許文献２】F. van den Bergh and A. P. Engelbrecht. A new locally convergent particle swarm optimizer. In Proceedings of IEEE International Conference on Systems, Man, and Cybernetics, pages 96-101, 2002.
【発明の概要】
【発明が解決しようとする課題】
【００２２】
上記（５）式に示すＢＬＥＵスコアのような複雑な評価関数に対する最良システムパラメータを見つけるのは、一般的には非常に困難であり、システムパラメータ最適化にかかる計算時間は非常に長くなる。また、システム開発の過程では、これらのシステムの評価関数を唯一に決めることは困難であり、システムの利用場面等に応じて様々な評価関数を用いて発見的に最良のシステムパラメータを決定する、といった処理が必要になる。この様なシステムの開発プロセス中のことを考えると、システムパラメータ最適化にかかる時間が非常に長いと、それだけシステム開発時間やコストが増大する、という問題が発生する。このような問題に対応するためには、関数の性質によらず高速にシステムパラメータの最適化が可能な枠組が望まれる。
【００２３】
また、上記の非特許文献２に記載の方法では、ひとつのパラメータ毎に更新していくため、真の最適パラメータを発見しにくい、という問題がある。
【００２４】
本発明は、上記の事情を鑑みてなされたもので、高速かつ高精度に、システムパラメータの最適化を行うことができるシステムパラメータ最適化装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２５】
上記の目的を達成するために本発明に係るシステムパラメータ最適化装置は、出力データの尤もらしさを求めるためのＤ個（Ｄは２以上の整数）のコンポーネントを用いて、入力データに対して所定の情報処理を行って出力データを出力する情報処理システムに設定される、前記Ｄ個のコンポーネントに対するＤ個のシステムパラメータを、評価関数の値に基づいて最適化するシステムパラメータ最適化装置であって、前記Ｄ個のシステムパラメータの値を表わすＤ次元空間における所定個の粒子の各々の位置、前記所定個の粒子の各々の速度、及び前記所定個の粒子の各々における前記評価関数の値に関する自己ベストに初期値を設定すると共に、前記所定個の粒子における前記評価関数の値に関する全体ベストに初期値を各々設定する初期化手段と、前記所定個の粒子の各々について、前記粒子の自己ベスト、前記全体ベスト、及び乱数に基づいて、速度の絶対値が所定値以下となるように、前記粒子の速度を各々更新する速度更新手段と、前記所定個の粒子の各々について、前記速度更新手段によって更新された前記粒子の速度に基づいて、前記粒子の位置を各々更新すると共に、原点を中心とし半径を所定値とした球面上の位置になるように前記更新された粒子の位置を各々正規化する位置更新手段と、前記所定個の粒子の各々について、前記粒子の現在の位置が示す前記Ｄ個のシステムパラメータの値を前記情報処理システムに設定したときに予め用意された入力データに対して前記情報処理システムから出力される前記出力データについて、前記入力データに対する正解となる出力データに基づく前記評価関数の値を計算する評価手段と、前記所定個の粒子の各々について、前記評価手段によって計算された前記評価関数の値に基づいて、前記粒子の自己ベストを各々更新する自己ベスト更新手段と、前記所定個の粒子について更新された自己ベストに基づいて、前記全体ベストを更新する全体ベスト更新手段と、前記速度更新手段による更新、前記位置更新手段による更新、前記評価手段による計算、前記自己ベスト更新手段による更新、及び前記全体ベスト更新手段による更新を繰り返すことで、前記全体ベストを最適化したときに、前記全体ベストが示す前記Ｄ個のシステムパラメータの値を出力する最適化手段と、を含んで構成されている。
【００２６】
本発明に係るシステムパラメータ最適化方法は、出力データの尤もらしさを求めるためのＤ個（Ｄは２以上の整数）のコンポーネントを用いて、入力データに対して所定の情報処理を行って出力データを出力する情報処理システムに設定される、前記Ｄ個のコンポーネントに対するＤ個のシステムパラメータを、評価関数の値に基づいて最適化するシステムパラメータ最適化方法であって、初期化手段によって、前記Ｄ個のシステムパラメータの値を表わすＤ次元空間における所定個の粒子の各々の位置、前記所定個の粒子の各々の速度、及び前記所定個の粒子の各々における前記評価関数の値に関する自己ベストに初期値を設定すると共に、前記所定個の粒子における前記評価関数の値に関する全体ベストに初期値を各々設定するステップと、速度更新手段によって、前記所定個の粒子の各々について、前記粒子の自己ベスト、前記全体ベスト、及び乱数に基づいて、速度の絶対値が所定値以下となるように、前記粒子の速度を各々更新するステップと、位置更新手段によって、前記所定個の粒子の各々について、前記速度更新手段によって更新された前記粒子の速度に基づいて、前記粒子の位置を各々更新すると共に、原点を中心とし半径を所定値とした球面上の位置になるように前記更新された粒子の位置を各々正規化するステップと、評価手段によって、前記所定個の粒子の各々について、前記粒子の現在の位置が示す前記Ｄ個のシステムパラメータの値を前記情報処理システムに設定したときに予め用意された入力データに対して前記情報処理システムから出力される前記出力データについて、前記入力データに対する正解となる出力データに基づく前記評価関数の値を計算するステップと、自己ベスト更新手段によって、前記所定個の粒子の各々について、前記評価手段によって計算された前記評価関数の値に基づいて、前記粒子の自己ベストを各々更新するステップと、全体ベスト更新手段によって、前記所定個の粒子について更新された自己ベストに基づいて、前記全体ベストを更新するステップと、最適化手段によって、前記速度更新手段による更新、前記位置更新手段による更新、前記評価手段による計算、前記自己ベスト更新手段による更新、及び前記全体ベスト更新手段による更新を繰り返すことで、前記全体ベストを最適化したときに、前記全体ベストが示す前記Ｄ個のシステムパラメータの値を出力するステップと、を含む。
【００２７】
本発明によれば、初期化手段によって、前記Ｄ個のシステムパラメータの値を表わすＤ次元空間における所定個の粒子の各々の位置、前記所定個の粒子の各々の速度、及び前記所定個の粒子の各々における前記評価関数の値に関する自己ベストに初期値を設定すると共に、前記所定個の粒子における前記評価関数の値に関する全体ベストに初期値を各々設定する。
【００２８】
速度更新手段によって、前記所定個の粒子の各々について、前記粒子の自己ベスト、前記全体ベスト、及び乱数に基づいて、速度の絶対値が所定値以下となるように、前記粒子の速度を各々更新する。位置更新手段によって、前記所定個の粒子の各々について、前記速度更新手段によって更新された前記粒子の速度に基づいて、前記粒子の位置を各々更新すると共に、原点を中心とし半径を所定値とした球面上の位置になるように前記更新された粒子の位置を各々正規化する。評価手段によって、前記所定個の粒子の各々について、前記粒子の現在の位置が示す前記Ｄ個のシステムパラメータの値を前記情報処理システムに設定したときに予め用意された入力データに対して前記情報処理システムから出力される前記出力データについて、前記入力データに対する正解となる出力データに基づく前記評価関数の値を計算する。
【００２９】
そして、自己ベスト更新手段によって、前記所定個の粒子の各々について、前記評価手段によって計算された前記評価関数の値に基づいて、前記粒子の自己ベストを各々更新する。全体ベスト更新手段によって、前記所定個の粒子について更新された自己ベストに基づいて、前記全体ベストを更新する。
【００３０】
そして、最適化手段によって、前記速度更新手段による更新、前記位置更新手段による更新、前記評価手段による計算、前記自己ベスト更新手段による更新、及び前記全体ベスト更新手段による更新を繰り返すことで、前記全体ベストを最適化したときに、前記全体ベストが示す前記Ｄ個のシステムパラメータの値を出力する。
【００３１】
このように、システムパラメータの値を表わすＤ次元空間における所定個の粒子について、速度の絶対値が所定値以下となるように粒子の速度を更新すると共に、正規化された粒子の位置に更新するようにして、各粒子の位置、速度、及び自己ベストを繰り返し更新して、全体ベストを最適化することにより、高速かつ高精度に、システムパラメータの最適化を行うことができる。
【００３２】
本発明に係るプログラムは、コンピュータを、上記のシステムパラメータ最適化装置の各手段として機能させるためのプログラムである。
【発明の効果】
【００３３】
以上説明したように、本発明のシステムパラメータ翻訳最適化装置、方法、及びプログラムによれば、システムパラメータの値を表わすＤ次元空間における所定個の粒子について、速度の絶対値が所定値以下となるように粒子の速度を更新すると共に、正規化された粒子の位置に更新するようにして、各粒子の位置、速度、及び自己ベストを繰り返し更新して、全体ベストを最適化することにより、高速かつ高精度に、システムパラメータの最適化を行うことができる、という効果が得られる。
【図面の簡単な説明】
【００３４】
【図１】本発明の第１の実施の形態に係るシステムパラメータ最適化装置の構成を示す概略図である。
【図２】学習データの例を示す図である。
【図３】機械翻訳システムのコンポーネントを説明するための図である。
【図４】（Ａ）粒子の位置の正規化を説明するための図、及び（Ｂ）粒子の速度の正規化を説明するための図である。
【図５】本発明の第１の実施の形態に係るシステムパラメータ最適化装置におけるパラメータ最適化処理ルーチンの内容を示すフローチャートである。
【図６】本発明の第１の実施の形態に係るシステムパラメータ最適化装置における粒子更新処理ルーチンの内容を示すフローチャートである。
【図７】本発明の最適化手法を用いた場合と従来法を用いた場合とにおける実行時間を示すグラフである。
【図８】本発明の最適化手法を用いた場合と従来法を用いた場合とにおける評価関数の値を示すグラフである。
【図９】音声認識システムのコンポーネントを説明するための図である。
【発明を実施するための形態】
【００３５】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００３６】
〔第１の実施の形態〕
＜システム構成＞
本発明の第１の実施の形態に係るシステムパラメータ最適化装置１００は、翻訳元言語の入力文と翻訳先言語の正しい出力文とからなる学習データが複数入力され、機械翻訳システムのシステムパラメータを最適化する。このシステムパラメータ最適化装置１００は、ＣＰＵと、ＲＡＭと、後述するパラメータ最適化処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図１に示すように、システムパラメータ最適化装置１００は、入力部１０と、演算部２０と、出力部３０とを備えている。
【００３７】
入力部１０は、入力された学習データとして、翻訳元の英語の入力文と正しい日本語訳である正解出力文とからなるデータセットを複数受け付ける。なお、図２に示すように、入力文に対する翻訳例は、翻訳のバリエーションによりいくつかの正解が考えられるため、ここでは、１つの入力文に対して、２つの正解出力文が付与された学習データを用いる。また、入力部１０は、後述する評価関数の定義、および学習に関するパラメータである粒子数の入力を受け付ける。本実施の形態では、評価関数の定義として、上記（５）式に示すＢＬＥＵの評価関数が入力される。
【００３８】
演算部２０は、学習データ記憶部２１、粒子初期化部２２、Ｋ個の粒子更新部２３１〜２３Ｋ、Ｋ個のシステム処理部２４１〜２４Ｋ、全体ベスト更新部２５、及び収束判定部２６を備えている。なお、粒子更新部２３１〜２３Ｋが、速度更新手段、位置更新手段、評価手段、及び自己ベスト更新手段の一例である。収束判定部２６が、最適化手段の一例である。
【００３９】
学習データ記憶部２１は、入力部１０により受け付けた複数の学習データを記憶する。
【００４０】
システム処理部２４１〜２４Ｋの各々は、図３に示すような機械翻訳システムとして機械翻訳処理を行う。当該機械翻訳システムは、システム出力の尤もらしさを求めるための複数のコンポーネントとして、言語モデル、単語または句翻訳モデル、及び並び替えモデルを用いて、英語の入力文に対して、日本語の出力文を出力する。機械翻訳処理では、上記（２）式に示すように、各コンポーネントによる推定される翻訳文の尤もらしさの推定値と、各コンポーネントに対する重み{λｄ}ｄ＝１Ｄとに基づいて、尤度Ｐが最大となる翻訳文を、出力文として決定する。各コンポーネントに対する重み{λｄ}ｄ＝１Ｄが、システムパラメータである。このように、当該機械翻訳システムは、上記（２）式で示したように、各システムパラメータに対して線形モデルになっている。また、システム処理部２４１〜２４Ｋは、並列計算により、各々独立して機械翻訳処理を行う。
【００４１】
＜システムパラメータ最適化の原理＞
次に、システムパラメータを最適化する原理について説明する。
【００４２】
本発明では、従来のアルゴリズムのように演算装置がひとつだけの逐次処理を行う計算環境ではなく、分散並列計算環境も想定している。その上で、基本的な枠組として粒子群最適化法を、システムパラメータ最適化に利用する。また、機械翻訳システム等のようにシステムパラメータに対して線形モデルである場合に、定数倍のシステムパラメータは同じ出力となる性質を利用し、パラメータの探索空間を狭める工夫等を導入する。
【００４３】
＜粒子群最適化＞
まず、粒子群最適化について説明する。なお、粒子群最適化については、参考文献（J. Kennedy and R. C. Eberhart. Particle Swarm Optimization. In Proceedings of IEEE International Conference on Neural Networks, pages 1942-1948, 1995.）に記載されている。
【００４４】
粒子群最適化は、反復計算により最適解を探索するアルゴリズムである。また、多数の粒子を定義し、鳥や魚が群として最適解を共有しながら行動する特徴に基づいて考案されたアルゴリズムに基づいて、各粒子が探索範囲を走査することで最適解を見つける方法である。より詳細には、各繰り返し毎に，各粒子内でこれまでで最も高い評価関数の値を取った位置と、粒子群全体で最も高い評価関数の値を取った位置とを保持し、それらの位置と現在位置との差分や乱数を用いて各粒子の速度を更新し、その速度に基づいて位置を更新する、という操作を繰り返す。これにより、粒子群全体で最も高い評価関数の値を取った位置を保持しつつ、探索空間の中で更に高い値を取る位置を探していくような最適化アルゴリズムになっている。
【００４５】
ここで、最適化したいシステムパラメータのパラメータ数をＤとし、システムパラメータをＤ次元のベクトルで表す。最適化に利用する目的関数をΛとする。
【００４６】
粒子群最適化では、はじめに、Ｄ個のシステムパラメータを表わすＤ次元空間に、Ｋ個の粒子を生成する。各粒子Ｐは、現在の位置ｘ、現在の速度ｖ、そしてこれまでの探索で見つけた最も高い評価関数の値を取った位置（「自己ベスト位置」）ｂの３つの情報を持つ。このときのｘｋ，ｖｋ，ｂｋは全てＤ次元のベクトルである。ここでは、ｋ番目の粒子(ｋ＝１，．．．，Ｋ）をＰｋ＝（ｘｋ，ｖｋ，ｂｋ）で表す。粒子群最適化は、反復計算により最適解を探索するアルゴリズムである。ここではｔを繰り返しのカウントとする。また、Ｔを繰り返しの上限値とする。
【００４７】
ｋ番目の粒子の繰り返しｔ回目の時点における自己ベスト位置ｂｋ（ｔ）は，以下の（６）式で表される。
【００４８】
【数６】
0005728357.tif 000007
【００４９】
ただし、全てのｋに対して、Λ（ｂｋ（０））＝−∞とする。
【００５０】
次に、全ての粒子の中で最も高い評価関数の値を取った粒子の位置を「全体ベスト位置」と呼ぶことにする。この全体ベスト位置をｇとして、繰り返しｔ回目の時点における全体ベスト位置をｇ(t)と書く。
【００５１】
この時、ｇ(t)は、自己ベスト位置ｂを利用して以下の（７）式のように表わされる。
【００５２】
【数７】
0005728357.tif 000008
【００５３】
次に、速度と位置の更新方法について説明する。ここでは、Ｕ(０，１)が０から１の一様分布を表すものとし、ｒ１〜Ｕ（０，１）とｒ２〜Ｕ（０，１）として、ｒ1、ｒ2を一様分布に従って与えられる乱数とする。ｘｋ、ｄ，ｂｋ、ｄ，ｖｋ，ｄを、それぞれ、ｋ番目の粒子の現在位置、自己ベスト位置、速度のｄ次元目の値とする。同様に、全体ベスト位置のｄ次元目の値をｇdとする。このときには、以下の関係が成り立つ。
【００５４】
ｘｋ＝（ｘｋ，１，．．．，ｘｋ、Ｄ），ｂｋ＝（ｂｋ，１，．．．，ｂｋ，Ｄ），ｖｋ＝（ｖｋ，１，．．．，ｖｋ、Ｄ），ｇ＝（ｇ１，．．．，ｇＤ）
【００５５】
このとき、粒子群最適化では、各繰り返しにおいて、以下の（８）式、（９）式に示す更新式を用いて、速度と位置を更新する．
【００５６】
【数８】
0005728357.tif 000009
【００５７】
ただし、ξは慣性重みと呼ばれる過去の速度をどれだけ重視するかを表す値である。また、ｃ1とｃ2は自己ベスト位置と全体ベスト位置のどちらを重視して速度を更新するかを表す定数である。ここでは、ξ（ｔ）＝（Ｔ−ｔ）／Ｔ、ｃ１＝ｃ２＝２を用いる。
【００５８】
＜局所最適解への収束の保証＞
通常の粒子群最適化では(局所)最適値へ収束が保証されていない。そこで、本実施の形態では、参考文献（F. van den Bergh and A. P. Engelbrecht. A new locally convergent particle swarm optimizer. In Proceedings of IEEE International Conference on Systems, Man, and Cybernetics, pages 96-101, 2002）で提案されている局所最適化を保証する方法を取り入れる。概要としては、自己ベスト位置が全体ベスト位置と等しい粒子について、速度と位置の更新式として、上記（８）式、（９）式を以下のように変更した式を用いる。
【００５９】
まず、τを、自己ベスト位置が全体ベスト位置と等しい粒子の番号とする。この時、繰り返しｔ回目の時のτ番目の粒子の速度の更新には、以下の（１０）式を用いる。
【００６０】
【数９】
0005728357.tif 000010
【００６１】
ρは、現在の全体ベスト位置の周辺の探索範囲の広さに影響を与える変数である。ただし、ρ(0)=1とする。
【００６２】
上記（１０）式を上記（９）式に当てはめると、位置の更新式は以下の（１１）式で表される。
【００６３】
【数１０】
0005728357.tif 000011
【００６４】
上記（１１）式の位置の更新式からわかるように、自己ベスト位置が全体ベスト位置と等しい粒子は、全体ベスト位置の周辺を必ず探索することになる。よって、確率的に現在の全体ベスト位置に対する局所最適値を発見することが可能である。
【００６５】
＜線形モデルの性質の利用＞
情報処理システムが、システムパラメータに対して線形モデルの場合には、パラメータベクトルの定数倍は全て同じ解となる、という性質がある。よって、定数倍となるパラメータを探索しても重複となり無駄となる。そこで、粒子群最適化の際に、各繰り返しｔにおいて、全ての粒子の位置ｘk(ｔ)を正規化する。具体的には、Ｌｐノルム球面上に写像する処理を行う。ただし、ｐ∈{１，２，．．．}である。この処理により、全ての粒子は、原点からＬｐノルムの意味で等しい距離の位置へ移動することになる。繰り返しｔでのｋ番目の粒子の位置に対するＬｐノルム球面への写像処理は、以下の（１２）式に従って行われる。
【００６６】
【数１１】
0005728357.tif 000012
【００６７】
また、速度に関しても同様にＬｐノルム球への写像を考える。ただし、速度の場合は、上記で説明した位置の正規化と違い、速度ベクトルがＬｐノルム球面上ではなくＬｐノルム球内であればよい。これは、各繰り返し探索時に、過剰に大きな速度を得て、粒子が発散や振動をすることがないようにするためである。
【００６８】
よって、速度の絶対値が小さいときには、正規化する必要はない。特に、本発明では、位置はノルム球面上に存在すると仮定するため、一度に移動できる範囲もノルム球内に納めると言うのは自然な考え方と言える。具体的には、以下の（１３）式を用いて速度のノルム球内への写像を行う。
【００６９】
【数１２】
0005728357.tif 000013
【００７０】
ただし、βはノルム球の大きさを表すパラメータであり、人間が設定する値である。ここではβ＝1を利用する。上記（１３）式により、速度の絶対値が所定値以下となるように、速度を正規化することができる。
【００７１】
Ｄ＝２，ｐ＝２とした場合には、図４（Ａ）に示すように、粒子の位置がノルム球面上へ写像され、図４（Ｂ）に示すように、速度が、ノルム球面内に写像される。
【００７２】
＜位置更新時の棄却採択判定＞
粒子が探索範囲を走査する際に、できる限りよい解を発見できるようにしたい。そこで、本実施の形態では、各繰り返しで速度と現在位置を更新する際に、その更新を採択するか棄却するかを判定する機構を導入する。採択／棄却の判定は、更新位置での評価関数の値を利用して行われる。これにより、繰り返し毎に悪い評価関数の値となる位置を走査することを抑止することができるため、結果的に、より良い解が得られる可能性が高くなる。
【００７３】
ここでは、各繰り返しにおいて、速度の更新、更新された速度に合わせた位置の更新、更新した位置での評価関数の値の計算という一連の３つの処理を、独立に複数回試行し、複数回の試行の中で最も高い評価関数の値となった速度と位置の更新情報を採択するという方式をとる。つまり、それ以外の試行の更新結果は棄却される。ここで、ポイントとしては、速度の更新式の中にはランダム性が含まれていることから、独立に複数回試行を行った結果は、確率的にたまたま一致するといったことを除けば、必ず違う更新結果となる。この結果、必然的に更新される位置も違うものになる。つまり、従来は一回の試行で更新が完了するところを、複数回繰り返した中で最も良い結果が得られる更新を選択して採択することになる。ここでは、試行の回数をＴ'で表すこととし、Ｔ'＝１０を利用することにする。
【００７４】
以上のように、本実施の形態では、粒子群最適化を拡張した方法を用いて、システムパラメータを最適化する。以下、演算部２０の各部について説明する。
【００７５】
粒子初期化部２２は、入力された粒子数に合わせて、複数の粒子を生成する。その後、各粒子の速度、位置、自己ベスト位置を設定する。速度と位置に関しては、乱数を用いて初期化する。ここでは、システムは線形モデルという仮定を置いているので、乱数の値域を[0,1]とする。また、乱数を用いて求められた速度と現在位置とを、上記（１２）式および（１３）式にしたがって正規化する。
【００７６】
自己ベスト位置に関しては、初期化時は過去の履歴が存在しないので、初期化時の位置を、自己ベスト位置として設定する。自己ベスト位置に付与する値としては、初期化時の位置が表わすシステムパラメータを機械翻訳システムに設定した場合に得られる翻訳文（システムの出力）に対する評価関数の値を設定する。
【００７７】
粒子更新部２３１〜２３Ｋの各々は、並列分散により、各粒子独立に、粒子に対する速度の更新、現在位置の更新、自己ベストの更新を行う。また、システム処理部２４１〜２４ｋの各々は、粒子更新部２３１〜２３ｋの各々に対応して、並列計算により、対応する粒子が表わすシステムパラメータを機械翻訳システムに設定して、機械翻訳処理を行う。なお、以下では、任意の粒子更新部２３、及び当該粒子更新部２３に対応するシステム処理部２４について説明する。
【００７８】
粒子更新部２３は、対象の粒子について、上記（８）式に従って、粒子の速度の更新を複数回行って、速度の更新候補を複数計算する。ただし、対象の粒子の自己ベスト位置が全体ベスト位置と等しい場合には、粒子の速度の更新候補を、上記（１０）式に従って計算する。その後、粒子更新部２３は、計算した速度の更新候補を、上記（１３）式に従って正規化する。
【００７９】
また、粒子更新部２３は、対象の粒子について、正規化された速度の更新候補の各々を用いて、上記（９）式に従って、粒子の位置の更新候補を複数計算する。ただし、対象の粒子の自己ベストが全体ベストと等しい場合には、正規化された粒子の位置の更新候補を、上記（１１）式に従って計算する。その後、粒子更新部２３は、計算した位置の更新候補を、上記（１２）式に従って正規化する。
【００８０】
システム処理部２４は、対応する粒子更新部２３により正規化された位置の更新候補毎に、当該位置の更新候補が示すシステムパラメータを、機械翻訳システムに設定して、学習データの入力文に対して、機械翻訳処理を行い、システム出力としての翻訳文を決定する。なお、システム出力の決定には上記（１）式を用いる。
【００８１】
粒子更新部２３は、対応するシステム処理部２４によって決定された、位置の更新候補毎の各システム出力（翻訳文）について、学習データの正解翻訳文を用いて、上記（５）式に従って、翻訳文の良さを表わす評価関数の値を計算する。また、各システム出力について計算された評価関数の値を平均して、当該位置の更新候補が示すシステムパラメータに対する評価関数の値とする。
【００８２】
粒子更新部２３は、位置の更新候補の各々について計算された評価関数の値に基づいて、評価関数の値が最大値となる位置の更新候補を、今回の位置の更新結果として採用すると共に、当該位置の更新候補に対する速度の更新候補を、今回の速度の更新結果として採用する。
【００８３】
粒子更新部２３は、今回の位置の更新結果に対応する評価関数の値（上記の評価関数の最大値）と、自己ベスト位置の評価関数の値とを比較し、上記（６）式のように、今回の位置の更新結果に対応する評価関数の値の方が高い場合には、自己ベスト位置、及び自己ベスト位置における評価関数の値を更新する。
【００８４】
全体ベスト更新部２５は、粒子更新部２３１〜２３Ｋの各々で求められた各粒子の自己ベスト位置の評価関数の値と、全体ベスト位置の評価関数の値とを比較し、全体ベスト位置の評価関数の値より、全粒子の自己ベスト位置における評価関数の最大値の方が大きい場合には、全体ベスト位置及び全体ベスト位置における評価関数の値を、評価関数の値が最大値となる全粒子の自己ベスト位置のものに更新する。また、全体ベスト位置が更新され、全体ベスト位置となった粒子の番号が変更になった場合には、全体ベスト位置の粒子の番号も更新する。
【００８５】
演算部２０は、粒子更新部２３１〜２３Ｋ、システム処理部２４１〜２４Ｋ、及び全体ベスト更新部２５による一連の処理を繰り返し行う。
【００８６】
収束判定部２６は、上記の一連の処理による最適なシステムパラメータの探索が終了したかどうかを判定する。収束判定部２６により収束していないと判定された場合には、粒子更新部２３１〜２３Ｋからの一連の処理を繰り返す。収束判定部２６により収束したと判定された場合には、全体ベスト位置が表わすシステムパラメータを出力部３０により出力する。
【００８７】
収束判定部２６による収束判定では、全体ベスト位置が連続してある一定の繰り返し回数変更されていなかったときに収束したと判定する。ここでは、繰り返し数１５回連続で全体ベストが更新されなかった場合に収束したと判定する。
【００８８】
＜システムパラメータ最適化装置の作用＞
次に、第１の実施の形態に係るシステムパラメータ最適化装置１００の作用について説明する。まず、英語の入力文と日本語の正しい翻訳文とからなる学習データが、システムパラメータ最適化装置１００に複数入力されると、システムパラメータ最適化装置１００によって、入力された複数の学習データが、学習データ記憶部２１へ格納される。また、評価関数の定義、及び粒子数が、システムパラメータ最適化装置１００に入力される。
【００８９】
そして、システムパラメータ最適化装置１００によって、図５に示すパラメータ最適化処理ルーチンが実行される。
【００９０】
まず、ステップＳ１０１において、学習データ記憶部２１から複数の学習データの全てを取得する。そして、ステップＳ１０２において、入力された粒子数分の粒子を生成し、各粒子の速度、位置、及び自己ベスト位置を初期化する。また、各粒子について、初期化された位置のシステムパラメータに基づいて、機械翻訳システムのシステム出力を取得し、システム出力に対する評価関数の値を計算し、計算された値を、当該粒子の自己ベスト位置に付与する値に設定して初期化する。
【００９１】
ステップＳ１０３では、各粒子の更新を、並列計算により行う。上記ステップＳ１０３は、各粒子について、図６に示す粒子更新処理ルーチンが並列に実行されることにより実現される。以下、ある一つの粒子を更新対象とする場合について説明する。
【００９２】
ステップＳ１２１において、試行回数を示す変数ｔ’に初期値１を設定する。ステップＳ１２２では、対象粒子の自己ベスト位置、全体ベスト位置、前回（ｔ−１回目の繰り返し）における対象粒子の速度、及び位置に基づいて、上記（８）式に従って、速度の更新候補を計算する。対象粒子が、自己ベスト位置が全体ベスト位置と等しい粒子である場合には、全体ベスト位置、前回（ｔ−１回目）における対象粒子の速度、及び位置に基づいて、上記（１０）式に従って、速度の更新候補を計算する。また、上記（１３）式に従って、速度の更新候補を正規化する。
【００９３】
ステップＳ１２３では、上記ステップＳ１２２で計算された、正規化された速度の更新候補に基づいて、上記（９）式又は（１１）式に従って、対象粒子の位置の更新候補を計算する。また、上記（１２）式に従って、位置の更新候補を正規化する。そして、ステップＳ１２４において、上記ステップＳ１２３で計算された、正規化された位置の更新候補が表わすシステムパラメータを、対応するシステム処理部２４の機械翻訳システムに設定する。
【００９４】
次のステップＳ１２５において、学習データ毎に、学習データの入力文に対して、機械翻訳処理を行い、システム出力としての翻訳文を決定する。ステップＳ１２６では、学習データ毎に、学習データの正解翻訳文を用いて、上記ステップＳ１２５で決定された翻訳文について、上記（５）式に従って、評価関数の値を計算する。学習データ毎に計算された評価関数の値を平均して、最終的な評価関数の値とする。
【００９５】
ステップＳ１２７では、変数ｔ’が、試行回数を定めた定数Ｔ’以上になったか否かを判定する。変数ｔ’が、試行回数Ｔ’未満である場合には、ステップＳ１２８において、変数ｔ’を１インクリメントして、上記ステップＳ１２２へ戻る。一方、変数ｔ’が、試行回数Ｔ’以上となった場合には、ステップＳ１２９へ進む。
【００９６】
ステップＳ１２９では、上記ステップＳ１２６で計算された評価関数の値が最も高くなるときの位置の更新候補を判定し、該当する位置の更新候補（正規化された位置の更新候補）を、今回（ｔ回目）の位置の更新結果として採用すると共に、対応する速度の更新候補（正規化された速度の更新候補）を、今回の速度の更新結果として採用する。
【００９７】
そして、ステップＳ１３０では、対象粒子の自己ベスト位置の評価関数の値と、上記ステップＳ１２６で計算された評価関数の最大値とを比較し、上記ステップＳ１２６で計算された評価関数の最大値の方が大きい場合には、上記ステップＳ１２７で更新された位置に自己ベスト位置を更新すると共に、その位置における評価関数の値に、自己ベスト位置に付与する評価関数の値を更新して、粒子更新処理ルーチンを終了する。
【００９８】
上記の粒子更新処理ルーチンが、各粒子について並列に行われることにより、各粒子の位置、速度、及び自己ベスト位置が同時に更新される。
【００９９】
そして、ステップＳ１０４において、現在の全ての粒子の自己ベスト位置における評価値の最大値と、全体ベスト位置の評価値の値とを比較して、現在の全ての粒子の自己ベスト位置における評価値の最大値の方が大きい場合には、当該評価値が最大値となる自己ベスト位置を持つ粒子の位置に、全体ベスト位置を更新すると共に、その位置における評価関数の値に、全体ベスト位置に付与する評価関数の値を更新する。また、当該評価値が最大値となる自己ベスト位置を持つ粒子を示す番号に、全体ベスト位置の粒子の番号を変更する。
【０１００】
次のステップＳ１０５では、最適なシステムパラメータの探索が収束したか否かを判定する。全体ベスト位置が所定回数連続して更新されていない場合には、最適なシステムパラメータの探索が収束したと判定し、ステップＳ１０６へ進む。
【０１０１】
一方、最適なシステムパラメータの探索が収束していないと判定された場合には、上記ステップＳ１０３へ戻り、上記ステップＳ１０３〜ステップＳ１０４の処理を繰り返す。
【０１０２】
ステップＳ１０６では、全体ベスト位置が示すシステムパラメータを出力部３０により出力して、パラメータ最適化処理ルーチンを終了する。
【０１０３】
＜実験結果＞
次に、上記図２に示す学習データに対して実験を行った結果について説明する。上記の第１の実施の形態で説明したシステムパラメータの最適化方法を用いて、最適なシステムパラメータを推定した。粒子数を３２個、１２８個、５１２個とし、粒子数と同数のＣＰＵを用いて、分散並列計算により各粒子の更新処理を実行した。比較対象として、通常の粒子最適化手法（従来法）を用いてシステムパラメータを最適化する実験を行った。
【０１０４】
実験を行った結果を図７、図８に示す。図７に示すように、第１の実施の形態で説明したシステムパラメータの最適化方法を用いた場合には、従来法に比べて、最適なシステムパラメータを推定する処理、及び機械翻訳システムにより翻訳文を決定する処理の各々に置いて、実行時間が短くなることが分かった。
【０１０５】
また、図８に示すように、第１の実施の形態で説明したシステムパラメータの最適化方法を用いた場合には、従来法に比べて、最終的に得られた全体ベスト位置（すわなち、最適化されたシステムパラメータ）の評価関数の値が高くなることが分かった。
【０１０６】
以上説明したように、第１の実施の形態に係るシステムパラメータ最適化装置によれば、システムパラメータの値を表わすＤ次元空間における所定個の粒子について、粒子の速度および粒子の位置を正規化するように更新して、各粒子の位置、速度、及び自己ベスト位置を繰り返し更新して、全体ベスト位置を最適化することにより、高速かつ高精度に、システムパラメータの最適化を行うことができる。
【０１０７】
また、本実施の形態で用いている粒子群最適化法は、大域的最適化法に属する方法であるため、従来法より、より良いシステムパラメータを発見できる。
【０１０８】
また、機械翻訳システムはシステムパラメータに対して線形モデルであるが、最適化の評価関数が非凸、非連続、非線型、微分不可能な関数となるような、複雑な最適化問題であっても、高速かつ高精度に、システムパラメータの最適化を行うことができる。
【０１０９】
〔第２の実施の形態〕
次に、第２の実施の形態について説明する。なお、第２の実施の形態に係るシステムパラメータ最適化装置は、第１の実施の形態と同様の構成であるため、同一符号を付して説明を省略する。
【０１１０】
第２の実施の形態では、音声認識システムに設定するシステムパラメータの最適化を行っている点が、第１の実施の形態と異なっている。
【０１１１】
第２の実施の形態に係るシステムパラメータ最適化装置１００は、入力となる音声信号と出力となるテキストとからなる学習データが複数入力され、音声認識システムのシステムパラメータを最適化する。
【０１１２】
システム処理部２４１〜２４Ｋの各々は、図９に示すような、音声認識システムとして音声認識処理を行う。当該音声認識システムは、複数のコンポーネントとして、言語モデル、及び認識モデルを用いて、入力された音声信号に対して、音声認識の結果としてテキストを出力する。音声認識処理では、上記（２）式と同様に、各コンポーネントによる推定されるテキストの尤もらしさの推定値と、各コンポーネントに対する重み{λｄ}ｄ＝１Ｄとに基づいて、尤度Ｐが最大となるテキストを、システム出力として出力する。各コンポーネントに対する重み{λｄ}ｄ＝１Ｄが、最適化するシステムパラメータである。このように、当該音声認識システムは、各システムパラメータに対して線形モデルになっている。
【０１１３】
なお、第２の実施の形態に係るシステムパラメータ最適化装置の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１１４】
このように、高速かつ高精度に、音声認識システムのシステムパラメータの最適化を行うことができる。
【０１１５】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１１６】
例えば、ネットワークで接続された複数の演算装置を備えた分散並列計算環境において、複数の演算装置による分散並列計算で、各粒子について独立して更新するようにしてもよい。この場合には、各演算装置が、粒子更新部２３及びシステム処理部２４を備えると共に、メインの演算装置が、学習データ記憶部２１、粒子初期化部２２、及び全体ベスト更新部２５、収束判定部２６を備えているように構成すればよい。これによって、機械翻訳システム、音声認識システムのシステムパラメータ最適化処理において、演算装置をひとつだけ用いて処理する従来法と比較して、数倍から数十倍程度の計算時間の高速化が可能となる。
【０１１７】
また、機械翻訳処理や音声認識処理など、入力データを出力データに変換する変換処理を行うシステムのシステムパラメータを最適化する場合を例に説明したが、これに限定されるものではない。例えば、入力画像に対して画像認識処理を行って画像認識結果を出力する画像認識システムなどの情報処理システムのシステムパラメータを最適化するようにしてもよい。
【０１１８】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１１９】
１０   入力部
２０   演算部
２１   学習データ記憶部
２２   粒子初期化部
２３   粒子更新部
２４   システム処理部
２５   全体ベスト更新部
２６   収束判定部
１００ システムパラメータ最適化装置
【図１】
0005728357.tif 000014
【図２】
0005728357.tif 000015
【図３】
0005728357.tif 000016
【図４】
0005728357.tif 000017
【図５】
0005728357.tif 000018
【図６】
0005728357.tif 000019
【図７】
0005728357.tif 000020
【図８】
0005728357.tif 000021
【図９】
0005728357.tif 000022