(57)【特許請求の範囲】
【請求項１】
放物線近似によって各探索回におけるステップ幅αを導出する直線探索法に基づいて、既知の最先臨界点である基準点からその探索回における探索方向ベクトルdの方向にステップ幅α進むことによって、未知の臨界点を導出する処理を反復的に行い、関数fの最小値ないしは最大値を求める探索手段としてコンピュータを機能させる処理プログラムを記憶した記憶手段と、前記処理プログラムをコンピュータ動作させる制御手段と、を備え、前記制御手段に基づいて関数fにおける非線形最適解を探索する非線形最適解探索システムであって、
前記探索手段は、初期値として任意の基準点x0を前記記憶手段に記憶する初期情報取得手段と、
ある基準点から臨界点を探索する探索回において、前記基準点から前記探索方向ベクトルdの方向に、0でない微小なスカラーである仮ステップ幅σだけ進んだ仮臨界点における関数の一階微分値f’σを求め、前記記憶手段に保持する仮臨界点保持手段と、
前記基準点における関数の一階微分値f’及び前記一階微分値f’σ、仮ステップ幅σ、探索方向ベクトルdを用いて、前記臨界点までのステップ幅αを近似的に導出し、前記臨界点における関数の一階微分値f’αを近似的に導出し、前記記憶手段に保持する臨界点近似手段と、を有することを特徴とする非線形最適解探索システム。
【請求項２】
前記臨界点近似手段は、前記臨界点における一階微分値f’αの導出を、有限差分近似を用いて行うこと、を特徴とする請求項１に記載の非線形最適解探索システム。
【請求項３】
前記臨界点近似手段における前記ステップ幅αは、前記探索方向ベクトルdの方向にα進んだときの関数値fαを放物線に近似したαの二次関数について、有限差分近似法を用いて二階微分値を近似することで導出されることを特徴とする請求項１又は請求項２に記載の非線形最適解探索システム。
【請求項４】
前記臨界点近似手段は、前記二階微分値を用いて、前記臨界点における関数値fαを近似的に導出すること、を特徴とする請求項３に記載の最適解探索システム。
【請求項５】
前記初期情報取得手段は、収束判定を行う為の収束判定残差ωを前記記憶手段に記憶し、
前記探索手段は、前記収束判定残差ω及び前記一階微分値f’αを用いて収束の判定ないしは否判定を行う判定手段を有し、
否判定がなされた場合、前記仮臨界点保持手段及び前記臨界点近似手段は、導出した臨界点を新たな基準点として、未知の臨界点を探索する探索回について処理を行なうこと、を特徴とする請求項１〜４の何れかに記載の最適解探索システム。
【請求項６】
前記探索手段は、各探索回において、前記臨界点近似手段で近似的に導出される近似値の一つ以上に対して、採択するか否かの判定を行い、
前記近似値を採択しない場合には、その探索回において、前記近似値として導出された値を、直接的な演算により求めた直接演算値に置き換えること、を特徴とする請求項１〜５の何れかに記載の最適解探索システム。
【請求項７】
前記探索手段は、各探索回において導出される値を一つ以上用いて収束の有効性判定を行い、
予め設定した条件に合致しない場合には、探索回を１回以上遡り、その探索回において前記臨界点近似手段で近似的に導出された近似値を、直接的な演算により求めた直接演算値に置き換えること、を特徴とする請求項１〜６の何れかに記載の最適解探索システム。
【請求項８】
前記探索手段は、勾配法を用いること、を特徴とする請求項１〜７の何れかに記載の非線形最適解探索システム。
【請求項９】
前記探索手段は、少なくとも一回前の探索回までの演算値及び前記一階微分値f’σ、前記一階微分値f’αを前記記憶手段に保持すること、を特徴とする請求項１〜８の何れかに記載の非線形最適解探索システム。
【請求項１０】
請求項１〜９の何れかに記載の最適解探索システムを用いて、入力された教師信号に基づいて学習を行うこと、を特徴とする機械学習方法。
【請求項１１】
請求項１〜９の何れかに記載の最適解探索システムを用いて、出力信号及び入力された教師信号に基づく誤差関数の最小化による学習を行うこと、を特徴とするニューラルネットワークの学習方法。
【請求項１２】
放物線近似によって各探索回におけるステップ幅αを導出する直線探索法に基づいて、既知の最先臨界点である基準点からその探索回における探索方向ベクトルdの方向にステップ幅α進むことによって、未知の臨界点を導出する処理を反復的に行い、関数fの最小値ないしは最大値を求める探索手段としてコンピュータを機能させる処理プログラムであって、
前記探索手段は、初期値として任意の基準点x0を記憶手段に記憶する初期情報取得手段と、
ある基準点から未知の臨界点を探索する探索回において、前記基準点から前記探索方向ベクトルdの方向に、0でない微小なスカラーである仮ステップ幅σだけ進んだ仮臨界点における関数の一階微分値f’σを求め、記憶手段に保持させる仮臨界点保持手段と、
前記基準点における関数の一階微分値f’及び前記一階微分値f’σ、仮ステップ幅σを用いて、前記未知の臨界点までのステップ幅αを近似し、該未知の臨界点における関数の一階微分値f’αを近似し、記憶手段に保持させる臨界点近似手段と、を有することを特徴とする処理プログラム。
【請求項１３】
請求項１２に記載の処理プログラムを用いて、入力された教師信号に基づいて学習を行うこと、を特徴とする機械学習方法。
【請求項１４】
請求項１２に記載の処理プログラムを用いて、出力信号及び入力された教師信号に基づく誤差関数の最小化による学習を行うこと、を特徴とするニューラルネットワークの学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直線探索法に基づき、関数fの最小値ないしは最大値を求める探索処理を行なう処理プログラムを有し、この処理プログラムを用いてコンピュータを動作させることによって、非線形最適解の探索を行う非線形最適解探索システムに関するものである。
【背景技術】
【０００２】
従来、非線形関数fの最適解x*を導出するための非線形最適解探索システムが提供されている。非線形最適解探索システムは、例えばオペレーションズ・リサーチや、構造計算、設計、シミュレーション、流体、熱、電磁波等の解析など、幅広い分野において活用されている。
【０００３】
このような非線形関数f(x)を解析する非線形最適解探索システムでは、反復法が適用されている。反復法は、xkを初期値x0から目的とする最適解x*が得られるまで段階的に変化させる方法である。反復法の各段階においては、ある方向を表す探索方向ベクトルdを求め、dに沿ってxを直線的に変化させた点xk+αdにおける関数値f(xk+αd)がその直線上の最小値又は最大値となるスカラーαを求め、xk+αdを次の段階の出発点xk+1とする手法がとられる。このαを求める手法を、直線探索という。
【０００４】
これまでの非線形最適解探索システムでは、反復法の各段階において、αを求めるために非線形関数f(x)やその微分値（勾配）の演算を複数回行うことが必要であった。上述するような分野における実際上の問題を解決する場合、これらの演算には膨大な処理時間が必要になる。そのため、反復法の各段階における演算量を減らし、処理にかかる時間を減少させる手段が待ち望まれていた。
【０００５】
特許文献１には、複数の増減係数を選択的に使用することで、ステップ幅αを変化させながら関数fの最小値（ないしは最大値）を含む区間を求める囲い込み手段と、前記区間における最小値（ないしは最大値）の導出を行う最小値探索手段（最大値探索手段）と、として機能する処理プログラムを保持したコンピュータを用いて、従来に比べ直線探索内で行われる反復を削減し、効率的に非線形最適解を探索する非線形最適解探索装置に関する技術が記載されている。
【０００６】
この発明によって、従来の囲い込み手段及び最小解探索手段を適用した非線形最適解探索システム比べて、より高速化された非線形最適解探索システムを提供することが可能となった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３８４５０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ここで、非線形最適解探索システムにおける計算時間を定式化して説明する。共役勾配法を用いた非線形最適解探索システムの計算時間Tを、式（１）を用いて定式化する。ここで、φ1は共役勾配法における反復部分以外の計算時間を示す定数、Nは共役勾配法における反復回数、mkは共役勾配法の一回の反復（以下、探索回とする）における直線探索に必要となる関数fの演算ないしはその微分演算の回数（以下、演算量とする）、τはそれらの演算にかかる時間、φ2は直線探索において要求される他の計算に係る時間を示す。なお、大規模な最適化問題では、τはφ1やφ2に比べて極めて大きい。そのため、Tの縮減を考える上では、Nとmkのみを考慮すればよい。
【０００９】
【数１】
0005816387.tif 000002
【００１０】
探索方向ベクトルdkの全てが、関数fの正定値ヘッセ行列について共役であると仮定した場合、共役勾配法の理論上は、反復回数Nはxの次元数nと等しくなる。しかしながら、一般に探索方向ベクトルdkは正確に共役とはならず、fを十分に最小化するためにはN回を超える反復処理を行なう必要がある。そのため、通常、ある収束条件に基づいて反復処理を終了させている。各探索回で正確なステップ幅αkが導出されるならば、次の探索回k+1における正確な探索方向ベクトルdk+1が導出されることとなる。即ち、正確なステップ幅αkの導出が、反復回数Nを減少させることに繋がる。
【００１１】
しかし、ステップ幅αの精度を過度に追求した場合、各探索回における演算量mkを増大させることが必要となり、かえって処理にかかる計算時間Tを増やすこととなる。そのため、特にτが膨大になる大規模な非線形最適化問題において、ステップ幅αの精度を追求することで計算時間Tの縮減を目指すことは現実的ではない。
【００１２】
特許文献１には、従来の囲い込み法を用いた非線形最適化問題の処理方法に対して、囲い込みの効率を向上させることによってmkを減らし、処理速度を向上させる非線形最適化問題の処理方法が記載されている。しかしながら、特許文献１に記載の技術では、囲い込みの効率化は図れるものの、各探索回において、依然として複数回の関数またはその微分の演算が必要となっている。そのため、処理速度を向上させるためには、さらにmkを削減する必要がある。
【００１３】
以上の理由から、反復回数Nではなく、各探索回におけるmkを最小限度まで減らすことで、処理にかかる計算時間Tを減らすことを考える。mkを減らすことで処理速度を高速化する方法として、放物線近似に基づく直線探索を伴った勾配法による非線形最適化問題の処理方法（以下、従来の非線形最適化問題の処理方法）が知られている。
【００１４】
従来の非線形最適化問題の処理方法は、探索する直線上の関数値がステップ幅の二次関数になるとみなし、直線上の複数の点における関数値や微分値をもとに、関数値が最少または最大となる臨界点までのステップ幅をαとする方法である。この処理方法により、少ない演算量mkでαを導出することが可能となり、各探索回における演算量mkを大幅に削減しながら、処理速度を高速化した非線形最適化問題の処理方法が提供可能となった。
【００１５】
しかし、前記従来の非線形最適化問題の処理方法においても、各探索回において複数回の関数演算、微分演算が必要であり、その処理に係る計算時間Tを増大させる要因となっていた。そのため、更にmkを減らし、処理時間を高速化した非線形最適解探索システムが待ち望まれていた。
【００１６】
本発明は上記のような実状に鑑みてなされたものであり、各探索回における演算処理を最大限効率化することで、非線形最適解を導出するまでの速度を向上させた非線形解探索システムを提供することを課題とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本発明は、放物線近似によって各探索回におけるステップ幅αを導出する直線探索法に基づいて、既知の最先臨界点である基準点からその探索回における探索方向ベクトルdの方向にステップ幅α進むことによって、未知の臨界点を導出する処理を反復的に行い、関数fの最小値ないしは最大値を求める探索手段としてコンピュータを機能させる処理プログラムを記憶した記憶手段と、前記処理プログラムをコンピュータ動作させる制御手段と、を備え、前記制御手段に基づいて関数fにおける非線形最適解を探索する非線形最適解探索システムであって、前記探索手段は、初期値として任意の基準点x0を前記記憶手段に記憶する初期情報取得手段と、ある基準点から未知の臨界点を探索する探索回において、前記基準点から前記探索方向ベクトルdの方向に、0でない微小なスカラーである仮ステップ幅σだけ進んだ仮臨界点における関数の一階微分値f’σを求め、前記記憶手段に保持する仮臨界点保持手段と、前記基準点における関数の一階微分値f’及び前記一階微分値f’σ、仮ステップ幅σ、探索方向ベクトルdを用いて、前記未知の臨界点までのステップ幅αを近似的に導出し、該未知の臨界点における関数の一階微分値f’αを近似的に導出し、前記記憶手段に保持する臨界点近似手段と、を有することを特徴とする。
【００１８】
このような構成とすることで、各探索回中において一回の微分演算を行うだけで、臨界点の微分値f’αの良好な近似値を導出することができる。これにより、特に演算量の多くなる大規模な非線形最適化問題を処理する際において、各探索回におけるmkを削減し、従来に比べ計算時間Tを大幅に縮減することができる。
【００１９】
本発明の好ましい形態では、前記臨界点近似手段は、前記臨界点における一階微分値f’αの導出を、有限差分近似を用いて行うこと、を特徴とする。
【００２０】
本発明の好ましい形態では、前記臨界点近似手段における前記ステップ幅αは、前記探索方向ベクトルdの方向にα進んだときの関数値fαを放物線に近似したαの二次関数について、有限差分近似法を用いて二階微分値を近似することで導出されることを特徴とする。
【００２１】
本発明の好ましい形態では、前記臨界点近似手段は、前記二階微分値を用いて、前記臨界点における関数値の近似を行うこと、を特徴とする。
【００２２】
本発明の好ましい形態では、前記初期情報取得手段は、収束判定を行う為の収束判定残差ωを前記記憶手段に記憶し、前記探索手段は、前記収束判定残差ω及び前記一階微分値f’αを用いて収束判定ないしは否判定を行う判定手段を有し、否判定がなされた場合、前記仮臨界点保持手段及び前記近似手段は、導出した臨界点から次の臨界点を探索する探索回について処理を開始すること、を特徴とする。
【００２３】
本発明の好ましい形態では、前記探索手段は、各探索回において、前記臨界点近似手段で近似的に導出される近似値の一つ以上に対して、採択するか否かの判定を行い、前記近似値を採択しない場合には、その探索回において、前記近似値として導出された値を、直接的な演算により求めた直接演算値に置き換えること、を特徴とする。
このような構成とすることで、全ての近似値を採択して最適解を導出する場合に比べ、より安定な処理を達成することができる。
【００２４】
本発明の好ましい形態では、前記探索手段は、各探索回において導出される値を一つ以上用いて収束の有効性判定を行い、予め設定した条件に合致しない場合には、探索回を１回以上遡り、その探索回において前記臨界点近似手段で近似的に導出された近似値を、直接的な演算により求めた直接演算値に置き換えること、を特徴とする。
このような構成とすることで、前の探索回に起因する誤差の影響を低減することができ、より安定な処理を達成することができる。
【００２５】
本発明の好ましい形態では、前記探索手段は、勾配法を用いること、を特徴とする。
このような構成とすることで、勾配法を用いて関数fの最小値又は最大値を探索する非線形最適解探索システムを提供することができる。
【００２６】
本発明の好ましい形態では、前記探索手段は、準ニュートン法を用いること、を特徴とする。
このような構成とすることで、準ニュートン法を用いて関数fの最小値又は最大値を探索する非線形最適解探索システムを提供することができる。
【００２７】
本発明の好ましい形態では、前記探索手段は、少なくとも一回前の探索回までの演算値及び前記一階微分値f’σ、前記一階微分値f’αを前記記憶手段に保持すること、を特徴とする。
このような構成とすることで、反復処理を迅速に行うことが可能な非線形最適解探索システムを提供することができる。
【００２８】
本発明は、機械学習方法であって、請求項１〜９の何れかに記載の最適解探索システムを用いて、入力された教師信号に基づいて学習を行うこと、を特徴とする。
このような構成とすることで、各探索回において大量の教師データについて演算を行い最適解の探索を行うことで関数近似や分類等の学習を行う機械学習において、各探索回における演算の回数を最大限まで削減することが可能となり、学習速度を大幅に高速化した機械学習方法を提供することができる。
【００２９】
本発明は、ニューラルネットワークの学習方法であって、請求項１〜９の何れかに記載の最適解探索システムを用いて、出力信号及び入力された教師信号に基づく誤差関数の最小化による学習を行うこと、を特徴とする。
このような構成とすることで、大量の教師データについて演算を行い最適解の探索を行う必要があるニューラルネットワークの学習において、各探索回における演算の回数を最大限まで削減することで、学習速度を大幅に高速化したニューラルネットワークを構築することができる。
【００３０】
本発明は、放物線近似によってステップ幅αを導出する直線探索法に基づいて各探索回で判定を行い、既知の最先基準点から探索方向ベクトルdの方向にステップ幅α進むことによって、未知の臨界点を導出する処理を反復的に行い、関数fの最小値ないしは最大値を求める探索手段としてコンピュータを機能させる処理プログラムであって、前記探索手段は、任意の基準点x0を記憶手段に記憶する初期情報取得手段と、ある臨界点から未知の臨界点を探索する探索回において、該臨界点から探索方向ベクトルdの方向に、0でない微小なスカラーである仮ステップ幅σだけ進んだ仮臨界点における関数の一階微分値f’σを求め、記憶手段に保持させる仮臨界点保持手段と、該臨界点における関数値の一階微分値f’及び前記仮臨界点における一階微分値f’σ、仮ステップ幅σを用いて、該臨界点から未知の臨界点までのステップ幅αを近似し、該未知の臨界点における関数の一階微分値f’αを近似し、記憶手段に保持させる近似手段と、を有することを特徴とする。
【００３１】
本発明は機械学習方法であって、請求項１２に記載の処理プログラムを用いて、入力された教師信号に基づいて学習を行うこと、を特徴とする。
【００３２】
本発明はニューラルネットワークの学習方法であって、請求項１２に記載の処理プログラムを用いて、出力信号及び入力された教師信号に基づく誤差関数の最小化による学習を行うこと、を特徴とする。
【発明の効果】
【００３３】
本発明によって、各探索回における演算処理を最大限効率化することで、非線形最適解を導出するまでの速度を向上させた非線形解探索システムを提供することができる。
【図面の簡単な説明】
【００３４】
【図１】従来の非線形最適化問題の処理フローチャートである。
【図２】本発明の実施形態１に係る非線形最適化問題の処理フローチャートである。
【図３】本発明の実施形態１に係る非線形最適解探索システムのハードウェア構成である。
【図４】本発明の実施形態２に係る非線形最適解探索システムのハードウェア構成である。
【発明を実施するための形態】
【００３５】
＜実施形態１＞
以下、本発明の実施形態１について図１〜３を参照して説明する。以下実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。なお、以下共役勾配法に本発明に係る直線探索の処理を適用して本発明の概要を説明するが、他の勾配法、準ニュートン法等、他の非線形最適化問題解法アルゴリズムに対しても本発明は適用可能であり、それらを利用した本発明に関る非線形最適解探索システムを構成しても構わない。
【００３６】
（１）共役勾配法の説明
まず、共役勾配法について説明する。以下、f(x)の最小化について説明するが、最大化を行う場合であっても同様の方法で処理を行なうことが可能である。本実施形態では、非線形最適化問題解法アルゴリズムとして、共役勾配法を用いて説明を行う。
【００３７】
共役勾配法における無制約最適化問題の最適解x*は、一般的に、式（２）について、式（３）で与えられる反復法を適用することで導出される。式（４）では、共役勾配法を用いて探索方向ベクトルdを与えている。ここでgk=∇f(xk)は、関数fの勾配である。非線形最適化問題において、目的関数は多変量関数であるのが一般的であり、xk、dkは多次元ベクトルである。そのため、本発明における微分とは、一次元での微分以外にも、多次領域上での微分、すなわち勾配を含むものである。例えば、f’(x)は∇f(x)を示す。なお、ステップ幅αkはスカラーである。
【００３８】
【数２】
0005816387.tif 000003
【数３】
0005816387.tif 000004
【数４】
0005816387.tif 000005
【００３９】
勾配法において、反復的に行われる処理の各段階を探索回、各探索回において探索の基準となる点を基準点とする。そして、前記基準点を含む一次元二次関数に最小値（最大化問題においては最大値）を与える臨界点の探索を探索回ごとに行いながら、最適解x*の導出を行う。初期の基準点は任意のx0で与えられ、x0を基準点として探索されるx1が、初めの臨界点となる。なお、本発明における臨界点とは、前記一次元二次関数における厳密な意味での臨界点を、近似的に求めた点を含むものである。
【００４０】
勾配法の各探索回kで導出された臨界点xk+1は、臨界点における関数fの微分値f’(xk+1)及び収束判定残差ωを用いて収束判定される。この収束判定によって収束と判定された場合には、その臨界点xk+1が最適解x*として導出される。否判定がなされた場合には、導出された臨界点xk+1を新たな基準点として、未知の臨界点xk+2を求める探索回k+1を開始する。収束判定は、どのような方法で行われてもよく、例えば微分値でなく関数値を用いて収束判定を行っても構わない。
【００４１】
なお、式（４）における共役勾配法での探索方向ベクトルdを導出する方法は、Fletcher-Reeves(FR)やHestenes-Stiefel(HS)、Polak-Ribiere(PR)、Dai-Yuan(DY)等いくつかのものあるが、本実施形態では具体例として、式（５）に示すFR法を用いることとする。
【００４２】
【数５】
0005816387.tif 000006
【００４３】
（２）従来の放物線近似に基づく直線探索
次いで、従来の放物線近似に基づく直線探索について説明する。なお、本実施形態では、放物線近似のアルゴリズムとして、放物線補間法を用いる。各探索回において正確なステップ幅αkが与えられれば、理論上理想的な方向に向かわせる正確なdk+1が与えられ、早く収束する（反復回数Nの削減）。しかし、現実の大規模最適化問題において、直線探索の精度を高めることは、あまりにも多くの関数や勾配の演算を繰り返すことになり却って計算時間Tの増加を招く為、現実的ではない(mkの増加)。そのため、ステップ幅αkを効率的に求める手法が一般的に行われている。
【００４４】
x+αdにおける関数値f(x+αd)は、式（６）のようにテーラー展開で近似できる。なお、f’(x)=∇f(x)は関数fの勾配であり、f’’(x)はヘッセ行列である。
【００４５】
【数６】
0005816387.tif 000007
【００４６】
式（６）の右辺は放物線、即ちαを独立変数とする１次元の２次関数である。また、この近似式より、f(x+αd)をαについて一階微分及び二階微分したものが、式（７）及び式（８）である。臨界点を求めるため、式（７）の左辺を０としてαについて解けば式（９）が得られる。式（９）でα*は、二次関数の臨界点までのステップ幅となる。
【００４７】
【数７】
0005816387.tif 000008
【数８】
0005816387.tif 000009
【数９】
0005816387.tif 000010
【００４８】
ここで、式（９）の分母におけるf’’(x)は直接演算することが難しく演算処理にかかる時間も膨大になる。そのため、任意の0でない微小な値を仮ステップ幅σとし、基準点x及び仮臨界点x+σdという異なる２に点において一階微分を求めることで、有限差分近似法によりdTf’’(x)dを近似する（式（１０））。そして、式（１０）を式（９）に代入してα*の近似値が導出される（式（１１））。
【００４９】
【数１０】
0005816387.tif 000011
【数１１】
0005816387.tif 000012
【００５０】
fが二次の場合、f(x+αd)は正確にαについての放物線となっており、式（９）で求めるステップ幅α*は、正確に臨界点を示す値をとる。また、有限差分近似法を用いた場合であっても、放物線補間法を用いた直線探索では、一回のαの計算で、強いWolfe条件を満たすことが多い。そのため、ステップ幅αkを求める一回の演算で、各探索回における最適なステップ幅αk*が好適な精度で導出される。
【００５１】
（３）従来の非線形最適化問題の処理方法の説明
次いで、図１を用いて、従来の非線形最適化問題の処理方法を説明する。Ｓ１では、勾配法の初期化を行う。k=n=0における基準点x0及び、初期情報として、収束判定残差ω、任意の0でない微小な値σを入力し、n=0の探索回（臨界点xn+1の導出と、その評価）が開始される（Ｓ２）。Ｓ３では、f(x0)に微分演算を行うことよりf’(x0)が導出される。導出されたf’(x0)をFR法に適用して探索方向ベクトルd0を求める（Ｓ４）。
【００５２】
Ｓ５では、Ｓ４で求めた探索方向ベクトルdnを用いてf’(xn+σdn)を直接微分演算により求める。f’(xn+σdn)が求まったなら、放物線補間法及び有限差分近似法に基づいて未知の臨界点までのステップ幅αnの値を近似的に導出する（Ｓ６）。なおここで、仮ステップ幅σnは、より適切な値を探索回ごとに計算し、求めるように構成しても構わない。
【００５３】
これまでの処理により、αn、dnが求められたため、未知の臨界点は、xn+1= xn+αndnとして求められる（Ｓ７）。そして、xn+1における関数値f(xn+1)が直接関数演算により導出される。また、f(xn+1)を直接微分演算することで、xn+1における関数fの勾配f’(xn+1)が導出される（Ｓ８）。
【００５４】
Ｓ９では、Ｓ８において導出された臨界点xn+1における関数fの勾配f’(xn+1)を、収束判定残差ωを用いて判別する。収束したと判定された場合（Ｓ９でＹ）、xn+1が関数fの最適解x*となる（Ｓ１０ａ）。否判定された場合（Ｓ９でＮ）、Ｓ１０ｂにおいてnを一つ進めてＳ４に戻り、先ほど導出された臨界点xn+1を基準点として未知の臨界点xn+2導出する次の探索回を開始する。そして、Ｓ９における評価を、探索回を繰り返しながら、収束判定がなされるまで続ける。なお、Ｓ９における収束判定は、fの勾配に限らず、αやd等、他の値を用いて行ってもかまわない。
【００５５】
（４）本発明に関する非線形最適化問題の処理方法の説明
次いで、図２を用いて、本発明の実施形態１に関わる近似的直線探索及び、非線形最適化問題の処理方法について説明する。なお、前述した従来の非線形最適化問題の処理方法と重複する部分に関しては、その説明を省略する。Ｓ１１〜Ｓ１７までの処理は、図１に示すフローチャートにおける従来の処理方法Ｓ１〜Ｓ７と同様である。
【００５６】
図１に示す従来の非線形最適化問題の処理方法では、式（１０）における有限差分近似法を適用したことから、xn+σdnの直接微分演算（Ｓ５）及び、xn+1の直接微分演算（Ｓ８）を行う必要がある。即ち、一回の探索回中で、２点についての直接微分演算を行う必要が生じる。
【００５７】
非線形最適化問題を解く際の計算時間Tは、反復回数Nと、各探索回で行われる微分演算及び関数演算の回数mkに依存している。そこで、Ｓ１８において、本発明に関する直線探索を適用することで各探索回における直接微分演算の回数を削減し、処理にかかる計算時間Tをより減らした非線形最適化問題の処理方法を適用する。
【００５８】
仮にヘッセ行列Hを仮定すると、f’(x+αd)は、式（１２）のように変形できる。なお、εは誤差項であるが、fが二次式で十分近似できるものとして以後の説明中では省略する。式（１２）のαをσに置き換えることで、Hdは式（１３）のように近似される。
【００５９】
【数１２】
0005816387.tif 000013
【数１３】
0005816387.tif 000014
【００６０】
更に、式（１３）において近似されたHdを式（１２）代入し，αをα*と置き換えることで、式（１４）が得られる。これにより従来勾配の計算が必要であったf’(x+αd)の値が近似的に導出される。ここで、f’(x)は一回前の探索回で既に導出されており、f’(x+σd)はＳ１５で導出されている。これにより、各探索回での臨界点の微分演算f’(x+αd)を、既に演算した値を用いて再帰的に導出することができる。f’(x+αd)について探索回を示す添え字kを加えたものを式（１５）に、αについて探索回を示す添え字kを加えたものを式（１６）に示す。
【００６１】
【数１４】
0005816387.tif 000015
【数１５】
0005816387.tif 000016
【数１６】
0005816387.tif 000017
【００６２】
前述の通りf’(x)は前回の探索回で、また、f’(x+σd)は有限差分近似法を用いてステップ幅αを導出する際に計算されているため、単純な代入計算により、極めて容易にf’(x+αd)を導出することが可能である。これにより、一回の探索回中における直接微分演算を、f’(x+σd)の一回のみに減らすことができる。そのため、特に大規模な非線形最適化問題を処理するような場合において、その演算処理にかかる計算時間Tを大幅に削減することが可能となる。具体的には、従来の各探索回において少なくとも二回以上行われていた微分演算を、一回のみに削減することが可能である。ただし、n=0の探索回における一階微分値f’(x0)のみ、直接的な微分演算が必要となる。
【００６３】
Ｓ１８において、f’(xn+1)が近似的に導出されたなら、従来と同様、収束の判別を行う（Ｓ２０）。収束したと判定された場合（Ｓ２０でＹ）、臨界点xn+1がfの最適解x*となる（Ｓ２１ａ）。否判定された場合（Ｓ２０でＮ）、nを一つ進めてＳ１４に戻り（Ｓ２１ｂ）、先ほど導出された臨界点xn+1を基準点として未知の臨界点xn+2導出する次の探索回を開始する。Ｓ２０での収束の判別は、fの勾配に限らず、f(xn+1)の関数値や、α、d等、他の値を用いて行ってもかまわない。
【００６４】
また、必要に応じて、Ｓ１８及びＳ２０の間等で、f(xn+1)の関数値についても近似的に導出するようにしてもよい（Ｓ１９）。また、前述のようにその値を用いて収束の判定を行うようにしてもよい。これにより、f(xn+1)の直接的な関数演算によって生じる処理を減らし、一回の探索回中における演算処理にかかる時間を更に削減することが可能である。f(xn+1)(=f(xn＋αndn))の関数値を近似演算で導出する方法は、式（６）おけるxをx+σdに、αをα-σに置き換えた式（１７）を用いる。
【００６５】
【数１７】
0005816387.tif 000018
【００６６】
式（１７）におけるdTf’’(x+σd)dを近似するために、0でない微小な値μを与えることで、式（１８）が導出される。ここで、μ=-σと置けば、式（１９）が導出される。
【００６７】
【数１８】
0005816387.tif 000019
【数１９】
0005816387.tif 000020
【００６８】
この式（１９）を式（１７）に代入することにより、関数値f(xk+1)を近似することができる。なお、この式（１９）の右辺は、αを近似演算するための式（１０）と同じである。即ち、関数値f(xk+1)の値を直接的に関数演算することなく、αkを導出する段階で既に求めた値のみを用いて近似し、その演算量を削減することができる。
【００６９】
勿論、直接関数演算でf(x+αd)を求めるようにしても構わないが、探索回ごとの演算量が増加し、最適解x*を導出するまでの計算時間Tが増大することとなる。なお、処理プログラムの構成次第では、f’(xk+σdk)を導出するためにf(xk+σdk)が演算されているため、f(xk+αkdk)を近似するために、演算の回数が増えることがない。
【００７０】
なお、図２に示すフローチャートでは、本発明に関る非線形最適化問題の処理方法について探索回を繰り返す場合のみを例示したが、任意の条件で、別の処理方法に移行するように構成しても構わない。
【００７１】
ステップ幅α、f’(xk+αkdk)、f(xk+αkdk)等の近似的に導出した近似値を採択するか否かについて、予め設定した条件に基づき判定し、図２のフローチャートに現れていない処理を行なうようにしてもよい。例えば、ある探索回において、前記近似値を採択しないと判定した場合には、その探索回において、前記近似値を直接演算により求めた直接演算値に置き換えたり、他の導出方法により導出された値に置き換えたりすることが考えられる。
【００７２】
また、本発明に関る非線形最適化問題の処理方法並びに前記近似値採択の判定によって得られる何れかの値を一つ以上用いて収束の有効性判定を行い、図２のフローチャートに現れていない処理を行うようにしてもよい。0<αや0<f(xn+1)<f(xn)を条件として、最小値探索において放物線補間法による放物線が上に凸の場合や、f(xn+1)が収束していない場合等を判別し、別の処理を適用することが好ましい。ここで別の処理とは、例えば、近似的に導出していたαを別の方法で導出した値に置き換えたり、近似的に導出していたf’(xk+1)やf(xk+1)を、従来の非線形最適化問題の処理方法と同様に直接演算により求めた直接演算値と置き換えることが考えられる。また、探索方向ベクトルdについては、（式４）におけるk=0の場合の値に置き換えるようにしてもよい。
【００７３】
更に、これら値の置き換え処理を、ひとつ前の探索回または複数探索回遡る遡り処理を行なった上で適用して、その後、図２のフローチャートに現れる処理を再開するように構成することが、後述する理由から好ましい。また、前記近似値を採択するか否かの判定での結果やそこで求めた直接演算値を、遡りを行う判定基準として利用し、遡り処理及び置き換え処理を適用するように構成してもよい。
【００７４】
この遡り処理を行っても、本発明に関る非線形最適解の導出方法における実験ではその出現頻度は１割程度であり、残り９割は近似的に導出した近似値が採択され、演算量は大幅に少なくなる。従って、従来の非線形最適解の導出方法を単独で適用する場合に比べて全体的な演算量が大幅に削減されることにはほとんど変わりがなく、高速に最適解の導出を行うことが可能である。遡り処理を適用することにより、最適解の導出をより安定に実現することが可能となる。
【００７５】
（５）非線形最適解探索システムのハードウェア構成例
図３を用いて、本発明の実施形態１に係る、制御対象モデルデータにおける制御変数の最適化を行う非線形最適解探索システム１のハードウェア構成について説明する。この非線形最適解探索システム１は、前述した本発明に関する非線形最適化問題の処理方法を用いているものである。
【００７６】
非線形最適解探索システム１は、コンピュータ１１と、ＣＰＵ１２と、入力装置１３と、出力装置１４と、メモリ１５と、前記メモリ１５内に記憶された処理プログラム１６ａ及び処理データ１６ｂ、計測制御プログラム１７ａ及び計測制御データ１７ｂ、解析プログラム１８ａ及び解析データ１８ｂ、制御対象モデルデータ１９、を備えている。ここで、ＣＰＵ１２やメモリ１５が、入力装置１３や出力装置１４等とネットワークを介して接続された、分散的な配置になっていても構わない。
【００７７】
解析プログラム１８ａは、制御変数の変更などに応じて制御対象モデルデータ１９の状態を模擬するシミュレータであり、モデルの形状データや、計算条件などを変更可能となっている。
【００７８】
この非線形最適解探索システム１は、入力装置１３において式（２）の対象となる目的関数f(x)、初期制御変数x0、収束判定残差ωを入力し、メモリ１５へ処理データ１６ｂとして格納する。次に、メモリ１５に格納された処理プログラム１６ａを実行する。処理プログラム１６ａは、制御変数の最適化処理を担っており、計測制御プログラム１７ａから受信した計測結果を用い、目的関数が最小ないしは最大となる制御変数の候補解を算出し、計測制御プログラム１７ａに対して制御対象変更指示信号を送信する。その信号を受信した計測制御プログラム１７ａは、その内容に基づき制御対象モデルデータ１９の制御を更新して解析プログラム１８ａに解析指示を出す。解析プログラム１８ａは、計測制御プログラム１７ａに解析結果を返送する。以上を繰り返すことにより、制御対象モデルデータ１９の最適な制御変数を取得することができる。
【００７９】
本発明の実施形態１によれば、制御対象モデルにおける制御データの最適化を行う為の処理プログラムが、本発明に関する非線形最適化問題の処理方法に基づく探索手段を備えることによって、その一回の探索回において行われる微分演算及び関数演算の回数を最大限減らしながら、最適解を導出することができる。これにより、従来に比べより高速化された制御シミュレーションや数値演算を行うことができる。
【００８０】
本発明に係る直線探索法では、従来の放物線補間法に基づく直線探索に遜色ない精度でステップ幅αを導出することが可能であり、特に大規模な非線形最適化問題を処理する際においては、その計算時間Tを大幅に削減することが可能である。
【００８１】
また、本発明に関する非線形最適化問題の処理方法では、各探索回の臨界点における関数値についても、近似的に導出することができる。これにより、従来直接的な関数演算が必要であった臨界点における関数値を、既に演算された値に基づいて再帰的に演算することが可能となり、その計算時間Tを大幅に削減することができる。
【００８２】
＜実施形態２＞
図４を用いて、本発明の実施形態２に係る、制御対象における制御変数の最適化を行う非線形最適解探索システム２のハードウェア構成について説明する。この非線形最適解探索システム２は、前述した本発明に関する非線形最適化問題の処理方法を用いているものである。なお、上述した実施形態１と基本的に同一の構成要素については、同一の符号を付してその説明を簡略化する。
【００８３】
非線形最適解探索システム２は、コンピュータ１１と、ＣＰＵ１２と、入力装置１３と、出力装置１４と、メモリ１５と、前記メモリ１５内に記憶された処理プログラム１６ａ及び処理データ１６ｂと、を備えている。またＣＰＵ１２には、計測結果を取得するためのI/F装置２０及び計測制御装置２１介して、制御対象２２が接続されている。前記メモリ１５は、上述の本発明に関する非線形最適化問題の処理方法に基づく探索手段を実行する、前記処理プログラム１６ａを格納している。ここで、ＣＰＵ１２やメモリ１５が、入力装置１３や出力装置１４等とネットワークを介して接続された、分散的な配置になっていても構わない。
【００８４】
この非線形最適解探索システム２は、入力装置１３において式（２）の対象となる目的関数f(x)、初期制御変数x0、収束判定残差ωを入力し、メモリ１５へ処理データ１６ｂとして格納する。次に、メモリ１５に格納された処理プログラム１６ａを実行する。処理プログラム１６ａは、I/F装置２０から受信した計測結果を用い、目的関数が最小ないしは最大となる制御変数の候補解を算出し、I/F装置２０に対して制御対象変更指示信号を送信する。その信号をI/F装置２０を介して受信した計測制御装置２１は、その内容に基づき制御対象２２の制御を更新し、再度計測を実施する。以上を繰り返すことより、制御対象１９における最適な制御が実現される。
【００８５】
本発明の実施形態２によれば、処理プログラムが、本発明に関する非線形最適化問題の処理方法に基づく探索手段を備えることによって、その一回の探索回において行われる微分演算及び関数演算の回数を最大限減らしながら、最適解を導出することができる。これにより、従来に比べより高速化された機械制御を行うことができる。
【００８６】
本発明に係る直線探索法では、従来の放物線補間法に基づく直線探索に遜色ない精度でステップ幅αを導出することが可能であり、特に大規模な非線形最適化問題を処理する際においては、その計算時間Tを大幅に削減することが可能である。
【００８７】
また、本発明に関する非線形最適化問題の処理方法では、各探索回の臨界点における関数値についても、近似的に導出することができる。これにより、従来直接的な関数演算が必要であった臨界点における関数値を、既に演算された値に基づいて再帰的に演算することが可能となり、その計算時間Tを大幅に削減することができる。
【産業上の利用可能性】
【００８８】
従来に比べ大幅に処理速度を向上させたソルバーアルゴリズムや機械学習方法、教師有り人工ニューラルネットワークの学習方法等を提供することができる。
【符号の説明】
【００８９】
１  非線形最適解探索システム
１１  コンピュータ
１２  ＣＰＵ
１３  入力装置
１４  出力装置
１５  メモリ
１６ａ  処理プログラム
１６ｂ  処理データ
１７ａ  計測制御プログラム
１７ｂ  計測制御データ
１８ａ  解析プログラム
１８ｂ  解析データ
１９  制御対象モデルデータ
２  非線形最適解探索システム
２０  I/F装置
２１  計測制御装置
２２  制御対象
【要約】      （修正有）【課題】各探索回における演算処理を最大限効率化することで、非線形最適解を導出するまでの速度を向する。【解決手段】放物線近似によって各探索回におけるステップ幅αを導出する直線探索法に基づいて、関数fの最小値ないしは最大値を求める探索手段として、初期値として任意の基準点x0を記憶手段に記憶する初期情報取得手段と、ある基準点から未知の臨界点を探索する探索回において、基準点から探索方向ベクトルdの方向に、0でない微小なスカラーである仮ステップ幅σだけ進んだ仮臨界点における関数の一階微分値f’σを求め、記憶手段に保持する仮臨界点保持手段と、基準点における関数の一階微分値f’及び一階微分値f’σ、仮ステップ幅σを用いて、未知の臨界点までのステップ幅αを近似的に導出し、未知の臨界点における関数の一階微分値f’αを近似的に導出し、記憶手段に保持する臨界点近似手段と、を有する。【選択図】図２【図１】
0005816387.tif 000021
【図２】
0005816387.tif 000022
【図３】
0005816387.tif 000023
【図４】
0005816387.tif 000024