(57)【要約】【課題】パラメータが性能に与える影響をモデル化することなく、複数のパラメータを効率よく最適化できるようにする。【解決手段】実施形態のパラメータ最適化装置は、所定機能の性能に関わる複数のパラメータについて、各パラメータに対して各々設定された探索範囲から最適値を探索するパラメータ最適化装置であって、前記複数のパラメータごとに探索範囲から選ばれたパラメータ値の組み合わせを複数含むパラメータ実験計画に基づいて前記性能を評価する実験を行うことで得られる性能評価値の統計量をもとに、前記複数のパラメータのうちで前記性能に最も影響を与えると推定される対象パラメータを選定する対象パラメータ選定部と、選定された前記対象パラメータの探索範囲を、前記実験を行う前よりも狭めるように更新する探索範囲更新部と、を備える。【選択図】図１
2019008342.tif 000002
【特許請求の範囲】
【請求項１】
所定機能の性能に関わる複数のパラメータについて、各パラメータに対して各々設定された探索範囲から最適値を探索するパラメータ最適化装置であって、
前記複数のパラメータごとに探索範囲から選ばれたパラメータ値の組み合わせを複数含むパラメータ実験計画に基づいて前記性能を評価する実験を行うことで得られる性能評価値の統計量をもとに、前記複数のパラメータのうちで前記性能に最も影響を与えると推定される対象パラメータを選定する対象パラメータ選定部と、
選定された前記対象パラメータの探索範囲を、前記実験を行う前よりも狭めるように更新する探索範囲更新部と、
を備えるパラメータ最適化装置。
【請求項２】
前記対象パラメータ選定部は、前記複数のパラメータのうち、自身のパラメータ値を変化させたときの前記性能評価値の分散を表す第１分散が、他のパラメータのパラメータ値を変化させたときの前記性能評価値の分散を表す第２分散よりも大きく、前記第１分散と前記第２分散との比が最も大きいパラメータを、前記対象パラメータとして選定する
請求項１に記載のパラメータ最適化装置。
【請求項３】
前記対象パラメータ選定部は、前記複数のパラメータの各々について、前記第１分散と前記第２分散とに対するＦ検定を実施してｐ値を算出し、ｐ値が最も小さいパラメータを前記対象パラメータとして選定する
請求項２に記載のパラメータ最適化装置。
【請求項４】
前記パラメータ実験計画を作成する実験計画作成部と、
前記パラメータ実験計画に基づいて前記実験を行って、前記パラメータ実験計画に含まれる複数の前記組み合わせごとに算出される前記性能評価値のリストであるパラメータ実験結果を出力する性能評価部と、をさらに備え、
前記対象パラメータ選定部は、前記性能評価部が出力する前記パラメータ実験結果に基づいて前記対象パラメータを選定し、
前記実験計画作成部は、更新された前記対象パラメータの探索範囲に基づいて、前記パラメータ実験計画を新たに作成する
請求項１乃至３のいずれか一項に記載のパラメータ最適化装置。
【請求項５】
前記実験計画作成部は、前記複数のパラメータごとに少なくとも探索範囲の上限値と下限値とを含む複数のパラメータ値を選び、直交表に基づいて前記パラメータ実験計画を作成する
請求項４に記載のパラメータ最適化装置。
【請求項６】
前記実験計画作成部は、前記複数のパラメータごとに少なくとも探索範囲の上限値と下限値とを含む複数のパラメータ値を選び、その全組み合わせを含む前記パラメータ実験計画を作成する
請求項４に記載のパラメータ最適化装置。
【請求項７】
前記実験計画作成部は、前記複数のパラメータごとに少なくとも探索範囲の上限値と下限値とを含む複数のパラメータ値を選び、前記複数のパラメータのうちの一部については全てのパラメータ値を他のパラメータの全てのパラメータ値と組み合わせ、他のパラメータ値については直交表に基づいて組み合わせ数を削減した前記パラメータ実験計画を作成する
請求項４に記載のパラメータ最適化装置。
【請求項８】
前記探索範囲更新部は、前記対象パラメータの探索範囲から選ばれたパラメータ値のうち、当該パラメータ値を含む全ての組み合わせに対する前記性能評価値の平均値が最も高いパラメータ値を基準として、前記対象パラメータの探索範囲を更新する
請求項５乃至７のいずれか一項に記載のパラメータ最適化装置。
【請求項９】
前記探索範囲更新部は、前記対象パラメータの探索範囲から選ばれたパラメータ値のうち、当該パラメータ値を含む組み合わせに対して最も高い前記性能評価値が算出されたパラメータ値を基準として、前記対象パラメータの探索範囲を更新する
請求項５乃至７のいずれか一項に記載のパラメータ最適化装置。
【請求項１０】
前記探索範囲更新部は、前記対象パラメータの探索範囲から選ばれたパラメータ値のうち、当該パラメータ値を含む組み合わせに対して最も低い前記性能評価値が算出されたパラメータ値を含まないように、前記対象パラメータの探索範囲を更新する
請求項５乃至７のいずれか一項に記載のパラメータ最適化装置。
【請求項１１】
所定機能の性能に関わる複数のパラメータについて、各パラメータに対して各々設定された探索範囲から最適値を探索するパラメータ最適化方法であって、
前記複数のパラメータごとに探索範囲から選ばれたパラメータ値の組み合わせを複数含むパラメータ実験計画に基づいて前記性能を評価する実験を行うことで得られる性能評価値の統計量をもとに、前記複数のパラメータのうちで前記性能に最も影響を与えると推定される対象パラメータを選定するステップと、
選定された前記対象パラメータの探索範囲を、前記実験を行う前よりも狭めるように更新するステップと、
を含むパラメータ最適化方法。
【請求項１２】
所定機能の性能に関わる複数のパラメータについて、各パラメータに対して各々設定された探索範囲から最適値を探索する機能を備えコンピュータに、
前記複数のパラメータごとに探索範囲から選ばれたパラメータ値の組み合わせを複数含むパラメータ実験計画に基づいて前記性能を評価する実験を行うことで得られる性能評価値の統計量をもとに、前記複数のパラメータのうちで前記性能に最も影響を与えると推定される対象パラメータを選定する機能と、
選定された前記対象パラメータの探索範囲を、前記実験を行う前よりも狭めるように更新する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、パラメータ最適化装置、パラメータ最適化方法およびプログラムに関する。
【背景技術】
【０００２】
例えば画像認識などの所定機能の性能を最大化するには、その所定機能を実現するアルゴリズム群で用いる多数のパラメータを最適化することが必要となる。このようなパラメータの調整は、対象となる技術分野の専門知識が必要とされ、また、パラメータ値の組み合わせは多岐にわたるため、専門家であっても性能を最大化するパラメータの調整には非常にコストがかかる。
【０００３】
パラメータを自動で最適化する技術としては、例えば、パラメータが性能に与える影響を何らかのかたちでモデル化し、モデルから極値を求めるといった方法で最適なパラメータ値を決定する技術がある。例えば、実験計画法に基づいて複数のパラメータと性能との関係を調べ、複数のパラメータが性能に与える影響を応答曲面法によりモデル化して最適なパラメータ値を決定する方法などが知られている。
【０００４】
しかし、複数のパラメータが相互に影響を与える場合、あるパラメータの値が変わると他のパラメータが性能に与える影響の振る舞いが変化するため、これら複数のパラメータが性能に与える影響をモデル化することが難しい。このため、パラメータが性能に与える影響をモデル化することなく、複数のパラメータを効率よく最適化できるようにすることが望まれている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２５４３０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、パラメータが性能に与える影響をモデル化することなく、複数のパラメータを効率よく最適化できるパラメータ最適化装置、パラメータ最適化方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態のパラメータ最適化装置は、所定機能の性能に関わる複数のパラメータについて、各パラメータに対して各々設定された探索範囲から最適値を探索するパラメータ最適化装置であって、対象パラメータ選定部と、探索範囲更新部と、を備える。対象パラメータ選定部は、前記複数のパラメータごとに探索範囲から選ばれたパラメータ値の組み合わせを複数含むパラメータ実験計画に基づいて前記性能を評価する実験を行うことで得られる性能評価値の統計量をもとに、前記複数のパラメータのうちで前記性能に最も影響を与えると推定される対象パラメータを選定する。探索範囲更新部は、選定された前記対象パラメータの探索範囲を、前記実験を行う前よりも狭めるように更新する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態のパラメータ最適化装置の機能的な構成例を示すブロック図である。
【図２】図２は、実施形態のパラメータ最適化装置の処理手順の一例を示すフローチャートである。
【図３】図３は、パラメータ設定からパラメータ実験計画を作成する具体例を示す図である。
【図４】図４は、パラメータ実験結果の具体例を示す図である。
【図５】図５は、ｐ値の具体例を示す図である。
【図６】図６は、要因効果図の具体例を示す図である。
【図７】図７は、対象パラメータの探索範囲を更新する具体例を示す図である。
【図８】図８は、要因効果図の具体例を示す図である。
【図９】図９は、対象パラメータの探索範囲を更新しながら性能評価実験を繰り返す様子を、パラメータ設定の遷移として示す図である。
【図１０】図１０は、実施形態のパラメータ最適化装置のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、実施形態のパラメータ最適化装置、パラメータ最適化方法およびプログラムを、図面を参照して詳細に説明する。以下では、画像認識システムにおけるパラメータを最適化する例を想定するが、実施形態の適用例はこれに限らない。
【００１０】
＜実施形態の概要＞
まず、本実施形態の概要について説明する。本実施形態は、例えば画像認識などの所定機能の性能に関わる複数のパラメータについて、各パラメータに対して各々設定された探索範囲から最適値を探索するものであり、以下の（Ａ）および（Ｂ）の２点を主要な特徴とする。
（Ａ）実験計画に基づいて実施した性能評価実験の結果をもとに、複数のパラメータのうち、他のパラメータが性能に与えている影響よりも自身が性能に与える影響のほうが大きいパラメータ、すなわち、性能に最も影響を与えると推定されるパラメータ（以下、「対象パラメータ」と呼ぶ）を選定する。対象パラメータは、他のパラメータから受ける影響が比較的小さいパラメータである。
（Ｂ）選定された対象パラメータの探索範囲を、性能評価実験を行う前よりも狭めるかたちで更新する。この対象パラメータの探索範囲の更新により、他のパラメータから受ける影響が比較的小さいパラメータから順に最適値が絞り込まれていく。
本実施形態では、上記（Ａ）と（Ｂ）を繰り返すことで、対象パラメータから順に最適値となり得るパラメータ値を絞り込んでいくことにより、最終的に全てのパラメータについて最適なパラメータ値を決定することができる。
【００１１】
＜装置構成＞
次に、本実施形態のパラメータ最適化装置の機能的な構成について説明する。図１は、本実施形態のパラメータ最適化装置１０の機能的な構成例を示すブロック図である。本実施形態のパラメータ最適化装置１０は、図１に示すように、実験計画作成部１１と、性能評価部１２と、対象パラメータ選定部１３と、探索範囲更新部１４とを備える。
【００１２】
実験計画作成部１１は、パラメータ設定２１に基づいて、パラメータ実験計画２２を作成する。パラメータ設定２１は、最適化の対象となる複数のパラメータのそれぞれについて、探索範囲の上限値と下限値とを定めたものである。例えば最適化の対象となるパラメータとしてパラメータＡ、パラメータＢ、パラメータＣがある場合、パラメータＡの探索範囲の上限値Ａ＿ｍａｘと下限値Ａ＿ｍｉｎ、パラメータＢの探索範囲の上限値Ｂ＿ｍａｘと下限値Ｂ＿ｍｉｎ、パラメータＣの探索範囲の上限値Ｃ＿ｍａｘと下限値Ｃ＿ｍｉｎが、それぞれパラメータ設定２１により定められる。パラメータの探索範囲は、そのパラメータの最適なパラメータ値を探索する範囲である。
【００１３】
実験計画作成部１１は、これら最適化の対象となる複数のパラメータのそれぞれについて、探索範囲から例えば上限値と下限値とを含むいくつかのパラメータ値を選び出す。例えば、上述のパラメータＡについては探索範囲の上限値Ａ＿ｍａｘ、下限値Ａ＿ｍｉｎおよびそれらの中間の値である中間値Ａ＿ｍｉｄを選び、パラメータＢについては探索範囲の上限値Ｂ＿ｍａｘ、下限値Ｂ＿ｍｉｎおよびそれらの中間の値である中間値Ｂ＿ｍｉｄを選び、パラメータＣについては探索範囲の上限値Ｃ＿ｍａｘ、下限値Ｃ＿ｍｉｎおよびそれらの中間の値である中間値Ｃ＿ｍｉｄを選ぶ。そして、実験計画作成部１１は、これら複数のパラメータごとに探索範囲から選び出したパラメータ値を組み合わせて、パラメータ実験計画２２を作成する。なお、複数のパラメータのそれぞれから選び出すパラメータ値は、そのパラメータの探索範囲から選ばれればよく、必ずしも探索範囲の上限値と下限値と中間値でなくてもよい。
【００１４】
パラメータ実験計画２２に含まれるパラメータ値の組み合わせは、それぞれ、各パラメータについて探索範囲から選ばれたパラメータ値を１つずつ含む。パラメータ実験計画２２は、こうしたパラメータ値の組み合わせを複数含む。例えば上述の例では、パラメータＡの探索範囲の上限値Ａ＿ｍａｘ、下限値Ａ＿ｍｉｎ、中間値Ａ＿ｍｉｄのいずれかと、パラメータＢの探索範囲の上限値Ｂ＿ｍａｘ、下限値Ｂ＿ｍｉｎ、中間値Ｂ＿ｍｉｄのいずれかと、パラメータＣの探索範囲の上限値Ｃ＿ｍａｘ、下限値Ｃ＿ｍｉｎ、中間値Ｃ＿ｍｉｄのいずれかとの組み合わせが、パラメータ実験計画２２に複数含まれる。
【００１５】
パラメータ実験計画２２を作成する方法としては、いくつかのバリエーションが考えられる。例えば、実験計画作成部１１は、複数のパラメータのそれぞれについて探索範囲から選び出されたパラメータ値の全組み合わせを含むパラメータ実験計画２２を作成してもよい。例えば上述の例では、３つのパラメータからそれぞれパラメータ値が３つずつ選び出されるので、パラメータ値の全組み合わせは３×３×３＝２７通りとなり、これら２７通りの全組み合わせを含むパラメータ実験計画２２を作成してもよい。
【００１６】
また、実験計画作成部１１は、実験計画法においてよく知られた直交表を用い、組み合わせ数を削減したパラメータ実験計画２２を作成してもよい。また、実験計画作成部１１は、複数のパラメータのうちの一部については全てのパラメータ値を他のパラメータの全てのパラメータ値と組み合わせ、他のパラメータ値については直交表に基づいて組み合わせ数を削減したパラメータ実験計画２２を作成してもよい。直交表を用いてパラメータ実験計画２２に含まれるパラメータ値の組み合わせ数を削減することにより、パラメータ実験計画２２に基づく性能評価実験を効率よく実施することができる。
【００１７】
また、実験計画作成部１１は、最適化の対象となる複数のパラメータの全てについて最適となるパラメータ値が決定されるまでパラメータ実験計画２２の作成を繰り返すが、パラメータ実験計画２２を作成するたびに上述の３つの方法を選択的に切り替えてもよい。例えば、直交表を用いて作成したパラメータ実験計画２２に基づいて性能評価実験を行った結果からは各パラメータの性能に対する影響の大きさを明確に区別できなかった場合（例えば後述のｐ値の差が所定の閾値未満の場合）に、次のパラメータ実験計画２２はパラメータ値の全組み合わせを含むように作成することが考えられる。また、特に注目すべきパラメータが見つかった場合に、そのパラメータについては全てのパラメータ値を他のパラメータの全てのパラメータ値と組み合わせ、他のパラメータ値については直交表に基づいて組み合わせ数を削減したパラメータ実験計画２２を作成することなどが考えられる。
【００１８】
実験計画作成部１１は、本実施形態のパラメータ最適化装置１０の起動時、つまり、パラメータの最適化を開始するときには、例えばユーザ操作に応じて入力されたパラメータ設定２１を取得し、そのパラメータ設定２１に基づいて上述のようなパラメータ実験計画２２を作成する。その後、後述の探索範囲更新部１４により対象パラメータの探索範囲が更新されると、更新された探索範囲に基づいてパラメータ実験計画２２を新たに作成する。つまり、実験計画作成部１１は、後述の探索範囲更新部１４により対象パラメータの探索範囲が更新されるごとに、対象パラメータの探索範囲が更新されたパラメータ設定２１に基づいてパラメータ実験計画２２を新たに作成する。実験計画作成部１１が作成したパラメータ実験計画２２は、性能評価部１２に渡される。
【００１９】
性能評価部１２は、実験計画作成部１１から受け取ったパラメータ実験計画２２に基づいて、例えば画像認識などの所定機能の性能を評価する性能評価実験を行う。性能評価実験は、パラメータ実験計画２２に含まれる複数のパラメータ値の組み合わせごとに行われ、それぞれのパラメータ値の組み合わせごとに性能評価値が得られる。性能評価部１２は、これら複数のパラメータ値の組み合わせごとに算出される性能評価値のリストであるパラメータ実験結果２３を出力する。パラメータ実験結果２３は、例えば、複数のパラメータ値の組み合わせとその組み合わせに対して算出された性能評価値との組みをリスト形式で記録したものである。
【００２０】
性能評価実験に用いる性能評価手法としては、一般的によく知られているものを利用すればよい。ただし、性能評価値がスカラー値として得られる手法を利用する。例えば、画像認識における認識性能の評価では、ＲＯＣ（Receiver  Operating  Characteristic）曲線に基づくＡＵＣ（Area  Under  the  Curve）などを利用することができる。
【００２１】
対象パラメータ選定部１３は、性能評価部１２が出力するパラメータ実験結果２３を受け取り、そのパラメータ実験結果２３に含まれる性能評価値の統計量をもとに、最適化の対象としている複数のパラメータのうちで、所定機能の性能に最も影響を与えると推定される対象パラメータを選定する。
【００２２】
所定機能の性能に最も影響を与えるパラメータは、例えば、他のパラメータのパラメータ値を変化させた場合と比較して、自身のパラメータ値を変化させた場合の方が性能の変化が大きいと解釈することができる。この考え方に基づいて、対象パラメータ選定部１３は、例えば、最適化の対象としている複数のパラメータのうち、自身のパラメータ値を変化させたときの性能評価値の分散（以下、「第１分散」と呼ぶ）が、他のパラメータのパラメータ値を変化させたときの性能評価値の分散（以下、「第２分散」と呼ぶ）よりも大きく、第１分散と第２分散との比が最も大きいパラメータを、対象パラメータとして選定することができる。
【００２３】
上述の第１分散や第２分散は統計量のため、第１分散が第２分散よりも大きいことをＦ検定によって検定する。この場合、検定の過程で得られるｐ値が小さいほど、第１分散が第２分散よりも大きいことが確からしいことを意味し、ｐ値が最も小さいパラメータは、第１分散と第２分散との比が最も大きいパラメータとみなすことができる。したがって、対象パラメータ選定部１３は、例えば、最適化の対象としている複数のパラメータの各々について、上述の第１分散と第２分散とに対するＦ検定を実施してｐ値を算出し、ｐ値が最も小さいパラメータを対象パラメータとして選定することができる。対象パラメータ選定部１３は、以上のように選定した対象パラメータを示す対象パラメータの通知２４を、探索範囲更新部１４に渡す。
【００２４】
探索範囲更新部１４は、対象パラメータ選定部１３から対象パラメータの通知２４を受け取ると、その対象パラメータの通知２４で示される対象パラメータの探索範囲を、直前の性能評価実験を行う前の探索範囲、つまり、直前の性能評価実験で用いたパラメータ実験計画２２を作成する際に用いたパラメータ設定２１における対象パラメータの探索範囲よりも狭めるように更新する。
【００２５】
対象パラメータの探索範囲を更新する方法としては、いくつかのバリエーションが考えられる。例えば、探索範囲更新部１４は、対象パラメータの探索範囲から選ばれたパラメータ値のうち、そのパラメータ値を含む全ての組み合わせに対する性能評価値の平均値が最も高いパラメータ値を基準として、対象パラメータの探索範囲を更新してもよい。例えば上述の例において、パラメータＡが対象パラメータとして選択され、パラメータＡの探索範囲の中間値Ａ＿ｍｉｄを含む全ての組み合わせに対する性能評価値の平均値が、上限値Ａ＿ｍａｘを含む全ての組み合わせに対する性能評価値の平均値より高く、かつ、下限値Ａ＿ｍｉｎを含む全ての組み合わせに対する性能評価値の平均値よりも高い場合、中間値Ａ＿ｍｉｄを基準とし、上限値Ａ＿ｍａｘおよび下限値Ａ＿ｍｉｎを中間値Ａ＿ｍｉｄに近づける方向に変更することで、パラメータＡの探索範囲を狭めるように更新してもよい。
【００２６】
また、探索範囲更新部１４は、対象パラメータの探索範囲から選ばれたパラメータ値のうち、そのパラメータ値を含む組み合わせに対して最も高い性能評価値が算出されたパラメータ値を基準として、対象パラメータの探索範囲を更新してもよい。例えば上述の例において、パラメータＡが対象パラメータとして選択され、性能評価値の平均値が最も高いのは中間値Ａ＿ｍｉｄであるが、最も高い性能評価値が算出された組み合わせに含まれるパラメータＡのパラメータ値が上限値Ａ＿ｍａｘであったとする。この場合、上限値Ａ＿ｍａｘを基準とし、下限値Ａ＿ｍｉｎを上限値Ａ＿ｍａｘに近づける方向に変更することで、パラメータＡの探索範囲を狭めるように更新してもよい。
【００２７】
また、探索範囲更新部１４は、対象パラメータの探索範囲から選ばれたパラメータ値のうち、そのパラメータ値を含む組み合わせに対して最も低い性能評価値が算出されたパラメータ値を含まないように、対象パラメータの探索範囲を更新してもよい。例えば上述の例において、パラメータＡが対象パラメータとして選択され、最も低い性能評価値が算出された組み合わせに含まれるパラメータＡのパラメータ値が下限値Ａ＿ｍｉｎであったとする。この場合、下限値Ａ＿ｍｉｎを元の値を含まないように上限値Ａ＿ｍａｘに近づける方向に変更することで、パラメータＡの探索範囲を狭めるように更新してもよい。
【００２８】
なお、対象パラメータの探索範囲をどの程度狭めるかは、予め定めた減少幅や割合に基づいて決定してもよいし、ランダムに決定してもよい。対象パラメータの探索範囲の更新にランダム性を導入することにより、パラメータの最適値がローカルピークに収束する不都合を抑制する効果がある。
【００２９】
探索範囲更新部１４により対象パラメータの探索範囲が更新されると、上述したように、対象パラメータの探索範囲が更新された新たなパラメータ設定２１に基づいて、実験計画作成部１１によりパラメータ実験計画２２が新たに作成される。そして、以降の性能評価部１２、対象パラメータ選定部１３および探索範囲更新部１４の処理が繰り返される。このとき、いずれかのパラメータが探索の終了条件を満たすと、そのパラメータについては最適となるパラメータ値が決定され、最適化の対象から除外される。そして、最適化の対象となる複数のパラメータの全てについて最適となるパラメータ値が決定されると、本実施形態のパラメータ最適化装置１０の処理が終了する。
【００３０】
ここで、探索の終了条件としては、例えば、パラメータの探索範囲の大きさ（探索範囲の上限値と下限値との差）が所定値未満になったときに探索を終了するといった条件を用いることができる。また、この場合の所定値として、最適化の対象となるパラメータごとに設定された探索幅を用いてもよい。探索幅は、探索範囲内で最適値を探索する際の粒度を示し、例えば探索範囲の上限値および下限値とともにパラメータ設定２１において設定される。探索幅を導入する場合、パラメータ実験計画２２を作成するにあたって各パラメータのパラメータ値を探索範囲から選び出す際は、探索範囲内の探索幅刻みの値が選ばれる。また、パラメータ実験計画２２を作成する際に、複数のパラメータの全てまたは一部のパラメータについて、探索範囲から探索幅刻みのパラメータ値を全て選び出し、それらの全組み合わせによりパラメータ実験計画２２を作成してもよい。
【００３１】
そのほか、例えば、性能評価部１２が出力するパラメータ実験結果２３を分析した結果、あるパラメータについて、探索範囲から選ばれた各パラメータ値に対応する上述の性能評価値の平均値が概ね等しくなった場合に、そのパラメータに対する探索を終了するといった条件を用いてもよい。この場合、そのパラメータの最適値としては、探索範囲から選ばれたいずれかのパラメータ値を選択すればよい。
【００３２】
＜動作説明＞
次に、図２を参照して、本実施形態のパラメータ最適化装置１０の動作を説明する。図２は、本実施形態のパラメータ最適化装置１０の処理手順の一例を示すフローチャートである。なお、図２の各ステップの具体的な内容は上述した通りであるので、詳細な説明は適宜省略する。
【００３３】
図２のフローチャートで示す処理が開始されると、まず、実験計画作成部１１が、例えばユーザ操作に応じて入力されたパラメータ設定２１を取得する（ステップＳ１０１）。そして、実験計画作成部１１は、ステップＳ１０１で取得したパラメータ設定２１に基づいて、パラメータ実験計画２２を作成する（ステップＳ１０２）。
【００３４】
次に、性能評価部１２が、ステップＳ１０２で作成されたパラメータ実験計画２２に基づいて性能評価実験を実施し、パラメータ実験計画２２に含まれる複数のパラメータ値の組み合わせごとに性能評価値を算出し、これらパラメータ値の組み合わせと性能評価値との組をリスト化したパラメータ実験結果２３を出力する（ステップＳ１０３）。
【００３５】
次に、対象パラメータ選定部１３が、ステップＳ１０３で出力されたパラメータ実験結果２３に含まれる性能評価値の統計量をもとに、最適化の対象となる複数のパラメータのうちで、所定機能の性能に最も影響を与えると推定される対象パラメータを選定する（ステップＳ１０４）。そして、探索範囲更新部１４が、ステップＳ１０４で特定された対象パラメータの探索範囲を、ステップＳ１０３で性能評価実験が実施される前の探索範囲よりも狭めるように更新する（ステップＳ１０５）。
【００３６】
本実施形態のパラメータ最適化装置１０は、以上の一連の処理を行う間、最適化の対象となる全てのパラメータについて最適となるパラメータ値が決定したか否かを判定する（ステップＳ１０６）。そして、最適なパラメータ値が決定していないパラメータがあれば（ステップＳ１０６：Ｎｏ）、ステップＳ１０５で対象パラメータの探索範囲が更新された後にステップＳ１０２に戻り、実験計画作成部１１により、対象パラメータの探索範囲が更新されたパラメータ設定２１に基づいて新たなパラメータ実験計画２２が作成され、以降のステップの処理が繰り返される。一方、最適化の対象となる全てのパラメータについて最適となるパラメータ値が決定すると（ステップＳ１０６：Ｙｅｓ）、図２のフローチャートで示す一連の処理が終了する。
【００３７】
＜実施例＞
以下では、画像認識の一例として画像から直線を検出する直線検出の処理を題材とし、本実施形態のパラメータ最適化装置１０による処理の具体例を実施例として説明する。直線検出は、入力された画像に対してのノイズ除去処理と、実際に直線の検出を行う処理から構成される。ノイズ除去の処理は、ノイズ除去の程度に影響する“kernel_width”および“kernel_height”のパラメータを持ち、直線検出の処理は、画像中の直線らしい箇所を直線とみなす閾値にあたる“threshold”のパラメータを持つ。本実施例では、これらのパラメータを最適化の対象とする。
【００３８】
また、本実施例では、探索の終了条件として、パラメータの探索範囲の大きさ（探索範囲の上限値と下限値との差）が探索幅未満になったときに探索を終了するといった条件を用いるものとする。そして、パラメータ実験計画２２を作成する際の各パラメータのパラメータ値は、そのパラメータの探索範囲の上限値および下限値と、探索幅刻みで上限値と下限値の中央に近い値（これを中央値とみなす）とが選び出され、対象パラメータの探索範囲を更新する際は、探索範囲の上限値と下限値の少なくとも一方が、探索幅刻みで変更されるものとする。
【００３９】
また、本実施例では、実験計画作成部１１が３水準の直交表を用いてパラメータ実験計画２２を作成するものとする。直交表にはＬ９、Ｌ２７、Ｌ８１（Ｌｎは直交表がｎ行からなる、つまり、ｎ個のパラメータの組み合わせを含むことを意味する）など、様々な種類のものが存在し、最適化を行うパラメータの種類数に応じて適切なものが使用される。本実施例では、Ｌ９直交表を用いてパラメータ実験計画２２を作成する例を示す。
【００４０】
実験計画作成部１１は、まず、ユーザ操作に応じて入力されたパラメータ設定２１を取得し、このパラメータ設定２１に基づいて、Ｌ９直交表を用いたパラメータ実験計画２２を作成する。図３は、パラメータ設定２１からパラメータ実験計画２２を作成する具体例を示す図である。パラメータ設定２１には、“kernel_width”と“kernel_height”と“threshold”の３つのパラメータに対して、それぞれ上限値および下限値と探索幅とが設定されている。実験計画作成部１１は、これらパラメータ設定２１で示される各パラメータについて、探索範囲の上限値および下限値と、探索幅刻みで上限値と下限値の中央に近い値とを３水準のパラメータ値としてそれぞれ選び出し、これらのパラメータ値をＬ９直交表に割り付けることによってパラメータ実験計画２２を作成する。
【００４１】
次に、性能評価部１２が、実験計画作成部１１により作成されたパラメータ実験計画２２に含まれる各パラメータ値の組み合わせについて性能評価実験を行い、パラメータ実験結果２３を出力する。ここでの性能評価実験の手法としては、正解となる直線と検出された直線との距離ｄを計算し、１／（１＋ｄ）を性能評価値として利用するものとする。性能評価部１２が出力するパラメータ実験結果２３の具体例を図４に示す。パラメータ実験結果２３は、図４に示すように、パラメータ実験計画２２に含まれる各パラメータ値の組み合わせとその組み合わせに対して算出された性能評価値との組みのリストとなっている。
【００４２】
次に、対象パラメータ選定部１３が、性能評価部１２が出力するパラメータ実験結果２３に基づいて、最適化の対象としている複数のパラメータのうち、直線検出の性能に最も影響を与えると推定される対象パラメータを選定する。本実施例では、パラメータ実験結果２３に含まれる性能評価値の分散に着目し、“kernel_width”と“kernel_height”と“threshold”の３つのパラメータそれぞれについて、上述の第１分散と第２分散とに対するＦ検定を実施してｐ値を算出し、ｐ値が最も小さいパラメータを対象パラメータとして選定する。
【００４３】
ここで、ｐ値の計算は、一般的なＦ検定と同様に下記式（１）に従って行う。また、下記式（１）で使用するｒ，ｌ，ｎおよび他の変数は、下記式（２）で示される値を用いるものとする。
【数１】
2019008342.tif 000003
【数２】
2019008342.tif 000004
【００４４】
“kernel_width”と“kernel_height”と“threshold”の３つのパラメータに対してそれぞれ算出されたｐ値の具体例を図５に示す。この例の場合、３つのパラメータのうち、“threshold”に対して算出されたｐ値が最も小さいので、“threshold”が対象パラメータとして選定される。
【００４５】
次に、探索範囲更新部１４が、対象パラメータ選定部１３により選定された対象パラメータの探索範囲を狭めるかたちで更新する。本実施例では、対象パラメータの３水準（探索範囲の上限値、下限値、中央値）のうち最も平均性能（性能評価値の平均値）が高かったものを基準として、対象パラメータの探索範囲を更新するものとする。
【００４６】
例えば、対象パラメータの３水準のうち、上限値における平均性能が最も高かった場合は、中央値を新たな下限値とし、下限値を上限値に近づけるように変更することで、対象パラメータの探索範囲を狭めるかたちで更新する。また、対象パラメータの３水準のうち、下限値における平均性能が最も高かった場合は、中央値を新たな上限値とし、上限値を下限値に近づけるように変更することで、対象パラメータの探索範囲を狭めるように更新する。また、中央値における平均性能が最も高かった場合は、探索幅刻みで上限値と中央値との中央に近い値を新たな上限値とし、探索幅刻みで下限値と中央値との中央に近い値を新たな下限値とし、上限値および下限値を中央値に近づけるように変更することで、対象パラメータの探索範囲を狭めるかたちで更新する。
【００４７】
各パラメータの各水準における平均性能は、例えば、性能評価部１２が出力するパラメータ実験結果２３から得られる要因効果図により視覚的に把握できる。図６は、パラメータ実験結果２３から得られる要因効果図の具体例を示す図であり、図４に示したパラメータ実験結果２３から得られる要因効果図を示している。この要因効果図では、横軸に各パラメータごとに３つの水準が並べて配置される。また、図の縦軸で各パラメータの各水準における性能評価値の分散が縦線として表され、各縦線の中の黒丸が各水準における平均性能を表している。この図６に示す例では、対象パラメータとして選定された“threshold”の３水準のうち、中央値“１２０”において最も高い平均性能が得られているため、探索範囲更新部１４は、この中央値“１２０”を基準として“threshold”の探索範囲を狭めるように更新する。
【００４８】
図７は、対象パラメータの探索範囲を更新する具体例を示す図である。図７に示す例では、対象パラメータである“threshold”の３水準のうち、中央値“１２０”の平均性能が最も高かったため、“threshold”の探索範囲の上限値は、元の上限値“１６０”と中央値“１２０”との中央である“１４０”に変更され、探索範囲の下限値は、探索幅刻みで元の下限値“６０”と中央値“１２０”との中央に近い値である“８０”に変更されている。
【００４９】
ここで、本実施例では、探索の終了条件として、パラメータの探索範囲の大きさが探索幅未満になったときに探索を終了するといった条件を用いるため、探索範囲更新部１４によって更新された対象パラメータの探索範囲が探索幅未満になると、対象パラメータの最適値は平均性能が最大となる水準のパラメータ値に決定される。一方、探索範囲更新部１４によって更新された対象パラメータの探索範囲が探索幅を超えていれば、対象パラメータの探索範囲を更新したパラメータ設定２１に基づいて新たにパラメータ実験計画２２が作成される。図７に示した例では、更新された“threshold”の探索範囲の上限値は“１４０”、下限値は“８０”であり、更新された探索範囲の大きさは探索幅“２０”を超えているため、新たにパラメータ実験計画２２が作成される。
【００５０】
なお、対象パラメータの３水準における平均性能が概ね等しい場合は、対象パラメータの探索範囲を更新せずに、その３水準のパラメータ値のいずれかを対象パラメータの最適値として決定してもよい。
【００５１】
対象パラメータの探索範囲を更新したパラメータ設定２１に基づいて新たにパラメータ実験計画２２が作成されると、新たに作成されたパラメータ実験計画２２に基づいて性能評価実験が実施され、パラメータ実験結果２３が出力される。このときのパラメータ実験結果２３から得られる要因効果図の具体例を図８に示す。前回の性能評価実験と今回の性能評価実験とでは、パラメータ実験計画２２に含まれるパラメータ値の組み合わせのうち、前回の性能評価実験を通じて対象パラメータとして選定された“threshold”のパラメータ値が異なるだけである。しかし、“kernel_width”と“kernel_height”と“threshold”の３つのパラメータは相互作用が強いため、“threshold”のパラメータ値が変更されただけで“kernel_width”および“kernel_height”の各水準における性能評価値の振る舞いが大きく異なったものとなっていることが分かる。このことは、従来のパラメータ最適化手法のように、パラメータが性能に与える影響を応答曲面法によりモデル化して最適なパラメータ値を決定することが困難であることを示している。
【００５２】
これに対し、本実施形態のパラメータ最適化装置１０では、パラメータが性能に与える影響をモデル化するのではなく、性能に最も影響を与えると推定される対象パラメータを逐次選定してその探索範囲を狭めるかたちで更新しながら性能評価実験を繰り返すことで、最終的に全てのパラメータについて最適なパラメータ値を決定する。したがって、例えば直線検出に用いる“kernel_width”と“kernel_height”と“threshold”の３つのパラメータのように、相互作用が強い複数のパラメータを最適化の対象とする場合であっても、これら複数のパラメータを効率よく最適化することができる。
【００５３】
図９は、“kernel_width”と“kernel_height”と“threshold”の３つのパラメータ全てについて最適なパラメータ値が決定されるまで対象パラメータの探索範囲を更新しながら性能評価実験を繰り返す様子を、パラメータ設定２１の遷移として示す図である。図９に示す例では、“kernel_width”と“kernel_height”と“threshold”の３つのパラメータのうち、“threshold”の最適なパラメータ値が（ｃ）のタイミングで“１２０”に決定され、“kernel_width”  の最適なパラメータ値が（ｆ）のタイミングで“５”に決定され、“kernel_height”  の最適なパラメータ値が（ｇ）のタイミングで“７”に決定されている。
【００５４】
＜実施形態の効果＞
以上、具体的な例を挙げながら詳細に説明したように、本実施形態によれば、パラメータが性能に与える影響をモデル化することなく、最適化の対象となる複数のパラメータを効率よく最適化することができる。したがって、複数のパラメータの相互作用が強いためにモデル化が困難な場合であっても、これら複数のパラメータの最適化を適切に行うことができる。
【００５５】
＜変形例＞
なお、上述の実施形態においては、パラメータ実験計画２２の作成や性能評価実験の実施をパラメータ最適化装置１０の内部で行うものとして説明したが、パラメータ最適化装置１０は、パラメータ実験結果２３を外部から受け取り、外部から受け取ったパラメータ実験結果２３に基づいて対象パラメータを選定し、対象パラメータの探索範囲を更新する構成であってもよい。すなわち、パラメータ最適化装置１０は、外部から受け取ったパラメータ実験結果２３に基づいて対象パラメータを選定する対象パラメータ選定部１３と、対象パラメータの探索範囲を更新する探索範囲更新部１４のみを備える構成であってもよい。この場合、対象パラメータの探索範囲の更新は、上述の実施形態と同様にパラメータ設定２１における対象パラメータの探索範囲の上限値や下限値を変更するものであってもよいし、このような変更をユーザに指示するものであってもよい。
【００５６】
＜補足説明＞
本実施形態のパラメータ最適化装置１０は、例えば、一般的なコンピュータを構成するハードウェアと、コンピュータで実行されるプログラム（ソフトウェア）との協働により実現することができる。例えば、コンピュータが所定のプログラムを実行することによって、上述した実験計画作成部１１、性能評価部１２、対象パラメータ選定部１３、探索範囲更新部１４などの機能的な構成要素を実現することができる。
【００５７】
図１０は、本実施形態のパラメータ最適化装置１０のハードウェア構成例を示すブロック図である。本実施形態のパラメータ最適化装置１０は、例えば図１０に示すように、ＣＰＵ（Central  Processing  Unit）やＧＰＵ（Graphics  Processing  Unit）などのプロセッサ１０１と、ＲＡＭ（Random  Access  Memory）やＲＯＭ（Read  Only  Memory）などの内部メモリ１０２と、ＨＤＤ（Hard  Disk  Drive）やＳＤＤ（Solid  State  Drive）などのストレージデバイス１０３と、入力デバイス１０６やディスプレイ１０７などの周辺機器を接続するための入出力Ｉ／Ｆ１０４と、クライアント端末などの外部機器と通信を行う通信Ｉ／Ｆ１０５と、を備えた通常のコンピュータのハードウェア構成を有する。そして、例えば、プロセッサ１０１が内部メモリ１０２を利用しながら、ストレージデバイス１０３や内部メモリ１０２などに格納されたプログラムを実行することで、上述の機能的な構成要素を実現することができる。
【００５８】
すなわち、本実施形態のパラメータ最適化装置１０の機能的な構成要素として示した各部は、コンピュータにより実行されるプログラムに含まれ、コンピュータが備える１以上のプロセッサ（図１０のプロセッサ１０１）がこのプログラムを実行することにより、上述した各部がＲＡＭなどの主記憶（図１０の内部メモリ１０２）上に作成される。
【００５９】
コンピュータにより実行される上記プログラムは、例えば、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷ、Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃなど）、半導体メモリ、またはこれに類する記録媒体に記録されて提供される。なお、プログラムを記録する記録媒体は、コンピュータが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。また、上記プログラムを、コンピュータに予めインストールするように構成してもよいし、ネットワークを介して配布される上記のプログラムをコンピュータに適宜インストールするように構成してもよい。
【００６０】
なお、本実施形態のパラメータ最適化装置１０は、上述した機能的な構成要素の一部または全部を、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field-Programmable  Gate  Array）などの専用のハードウェアにより実現する構成であってもよい。
【００６１】
また、本実施形態のパラメータ最適化装置１０は、複数台のコンピュータを通信可能に接続したネットワークシステムとして構成し、上述した機能的な構成要素を複数台のコンピュータに分散して実現する構成であってもよい。また、本実施形態のパラメータ最適化装置１０は、クラウドシステム上で動作する仮想マシンであってもよい。
【００６２】
以上、本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６３】
１０  パラメータ最適化装置
１１  実験計画作成部
１２  性能評価部
１３  対象パラメータ選定部
１４  探索範囲更新部
２１  パラメータ設定
２２  パラメータ実験計画
２３  パラメータ実験結果
２４  対象パラメータの通知
【図１】
2019008342.tif 000005
【図２】
2019008342.tif 000006
【図３】
2019008342.tif 000007
【図４】
2019008342.tif 000008
【図５】
2019008342.tif 000009
【図６】
2019008342.tif 000010
【図７】
2019008342.tif 000011
【図８】
2019008342.tif 000012
【図９】
2019008342.tif 000013
【図１０】
2019008342.tif 000014