(57)【特許請求の範囲】
【請求項１】
それぞれの複数のタスクに関連付けされた複数の目的関数を使用する最適化の実施に関連した用途のためのシステムであって、：
少なくとも１つのコンピュータハードウエアプロセッサ；および
プロセッサ実行可能命令を記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体であって、前記少なくとも１つのコンピュータハードウエアプロセッサによって実行されたとき、少なくとも１つのコンピュータハードウエアプロセッサに、
前記複数の目的関数の同時確率モデルに少なくとも部分的に基づいて、複数の目的関数内の目的関数を評価する第１のポイントを識別すること；
前記同時確率モデルに少なくとも部分的に基づいて、前記複数の目的関数内の識別済み第１のポイントにおいて評価する第１の目的関数を選択すること；
前記識別済み第１のポイントにおいて前記第１の目的関数を評価すること；および
前記評価の結果に基づいて前記同時確率モデルを更新して更新後の同時確率モデルを獲得すること；
を実施させる、プロセッサ実行可能命令を記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体
を含む、前記システム。
【請求項２】
前記第１の目的関数は、機械学習システムのハイパーパラメータの値を、機械学習システムのパフォーマンスの測度を提供する値と関係させる、請求項１に記載のシステム。
【請求項３】
前記第１の目的関数は、画像内の対象物を識別するためのニューラルネットワークの複数のハイパーパラメータの値を、画像内の対象物の識別におけるニューラルネットワークのパフォーマンスの測度を提供するそれぞれの値と関係させる、請求項１または２に記載のシステム。
【請求項４】
前記プロセッサ実行可能命令は、前記少なくとも１つのコンピュータハードウエアプロセッサに、
前記複数の目的関数の前記更新後の同時確率モデルに少なくとも部分的に基づいて、複数の目的関数内の目的関数を評価する第２のポイントを識別すること；
前記同時確率モデルに少なくとも部分的に基づいて、前記複数の目的関数内の、前記識別済み第２のポイントにおいて評価する第２の目的関数を選択すること；および
前記識別済み第２のポイントにおいて前記第２の目的関数を評価すること
をさらに実施させ、
前記第１の目的関数は、前記第２の目的関数とは異なる、
請求項１〜３のいずれか一項に記載のシステム。
【請求項５】
前記複数の目的関数の前記同時確率モデルは、前記複数のタスク内のタスクの間の相関をモデリングする、請求項１〜４のいずれか一項に記載のシステム。
【請求項６】
前記複数の目的関数の前記同時確率モデルは、ベクトル値ガウス過程を含む、請求項１〜５のいずれか一項に記載のシステム。
【請求項７】
前記同時確率モデルは、前記複数のタスク内のタスクの間の相関をモデリングする第１の共分散カーネル、および複数の目的関数内の目的関数を評価できるポイント間の相関をモデリングする第２の共分散カーネルに、少なくとも部分的に基づいて獲得される共分散カーネルを含む、請求項１〜６のいずれか一項に記載のシステム。
【請求項８】
前記識別することは、さらに、コスト荷重エントロピーサーチユーティリティ関数に基づいて実施される、請求項１〜７のいずれか一項に記載のシステム。
【請求項９】
それぞれの複数のタスクに関連付けされた複数の目的関数を使用する最適化の実施に関連した用途のための方法であって、該方法が以下：
少なくとも１つのコンピュータハードウエアプロセッサを、
前記複数の目的関数の同時確率モデルに少なくとも部分的に基づいて、複数の目的関数内の目的関数を評価する第１のポイントを識別すること；
前記同時確率モデルに少なくとも部分的に基づいて、前記複数の目的関数内の識別済み第１のポイントにおいて評価する第１の目的関数を選択すること；
前記識別済み第１のポイントにおいて前記第１の目的関数を評価すること；および
前記評価の結果に基づいて前記同時確率モデルを更新して更新後の同時確率モデルを獲得すること
を実施するために使用することを含む、前記方法。
【請求項１０】
前記第１の目的関数は、機械学習システムのハイパーパラメータの値を、機械学習システムのパフォーマンスの測度を提供する値と関係させる、請求項９に記載の方法。
【請求項１１】
前記複数の目的関数の前記更新後の同時確率モデルに少なくとも部分的に基づいて、複数の目的関数内の目的関数を評価する第２のポイントを識別すること；
前記同時確率モデルに少なくとも部分的に基づいて、前記複数の目的関数内の、前記識別済み第２のポイントにおいて評価する第２の目的関数を選択すること；および
前記識別済み第２のポイントにおいて前記第２の目的関数を評価すること
をさらに含む、請求項９または１０に記載の方法。
【請求項１２】
前記複数の目的関数の前記同時確率モデルは、前記複数のタスク内のタスクの間の相関をモデリングする、請求項９〜１１のいずれか一項に記載の方法。
【請求項１３】
前記複数の目的関数の前記同時確率モデルは、ベクトル値ガウス過程を含む、請求項９〜１２のいずれか一項に記載の方法。
【請求項１４】
前記同時確率モデルは、前記複数のタスク内のタスクの間の相関をモデリングする第１の共分散カーネル、および複数の目的関数内の目的関数を評価できるポイント間の相関をモデリングする第２の共分散カーネルに、少なくとも部分的に基づいて獲得される共分散カーネルを含む、請求項９〜１３のいずれか一項に記載の方法。
【請求項１５】
少なくとも１つのコンピュータハードウエアプロセッサによって実行されたとき、前記少なくとも１つのコンピュータハードウエアプロセッサに、それぞれの複数のタスクに関連付けされた複数の目的関数を使用する最適化の実施に関連した用途のために請求項９〜１４のいずれか一項に記載の方法を実施させる、プロセッサ実行可能命令を記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願に対するクロスリファレンス
本件出願は、３５Ｕ．Ｓ．Ｃ．§１１９（ｅ）の下に、「TECHNIQUES FOR PERFORMING BAYESIAN OPTIMIZATION」と題されて代理人文書番号第Ｈ０７７６．７００８５ＵＳ００号の下に２０１３年５月３０日に出願された米国特許仮出願第６１／８２９０９０号、「TECHNIQUES FOR PERFORMING BAYESIAN OPTIMIZATION」と題されて代理人文書番号第Ｈ０７７６．７００８６ＵＳ００号の下に２０１３年５月３１日に出願された米国特許仮出願第６１／８２９６０４号、および「TECHNIQUES FOR PERFORMING BAYESIAN OPTIMIZATION」と題されて代理人文書番号第Ｈ０７７６．７００８９ＵＳ００号の下に２０１３年１２月２日に出願された米国特許仮出願第６１／９１０８３７号の恩典を請求するものであり、これらの文献のそれぞれは、その全体が参照によってこれに取り込まれる。
【０００２】
連邦政府支援の研究についての声明
本発明は、米国国防高等研究計画局（ＤＡＲＰＡ）によりＹＦＡ  Ｎ６６００１−１２−１−４２１９の下に与えられた政府の支援を伴ってなされた。政府は、本発明において然るべき権利を有する。
【背景技術】
【０００３】
機械学習システムは、データを処理するために、１つまたは２つ以上の機械学習テクニック（たとえば、分類テクニック、クラスタリングテクニック、回帰テクニック、構造化された予測テクニック等）および／またはモデル（たとえば、統計モデル、ニューラルネットワーク、サポートベクターマシン、決定ツリー、グラフィカルモデル等）を使用するために構成され得る。機械学習システムは、限定的ではないが、テキスト解析、機械翻訳、発話処理、音処理、画像処理、視覚的対象物認識、および生物学データの分析を包含する異なるドメインにわたる広汎多様な応用の中で起こるデータを処理するために使用される。
【発明の概要】
【課題を解決するための手段】
【０００４】
いくつかの態様は、目的関数を使用する最適化の実施に関連した用途のための方法に関する。前記方法は、積分後の取得ユーティリティ関数および目的関数の確率モデルを使用して当該目的関数を評価する少なくとも第１のポイントを識別すること、少なくとも識別済みの第１のポイントにおいて目的関数を評価すること、評価の結果を使用して目的関数の確率モデルを更新して目的関数の更新後の確率モデルを獲得すること、を実施するために少なくとも１つのコンピュータハードウエアプロセッサを使用することを含む。
【０００５】
いくつかの態様は、少なくとも１つのコンピュータハードウエアプロセッサによって実行されたとき、当該少なくとも１つのコンピュータハードウエアプロセッサに、目的関数を使用する最適化の実施に関連した用途のための方法を実施させるプロセッサ実行可能命令を記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体に関する。前記方法は、積分後の取得ユーティリティ関数および目的関数の確率モデルを使用して当該目的関数を評価する少なくとも第１のポイントを識別すること、少なくとも識別済みの第１のポイントにおいて目的関数を評価すること、評価の結果を使用して目的関数の確率モデルを更新して目的関数の更新後の確率モデルを獲得すること、を含む。
【０００６】
いくつかの態様は、目的関数を使用する最適化の実施に関連した用途のためのシステムに関する。前記システムは、少なくとも１つのコンピュータハードウエアプロセッサと、プロセッサ実行可能命令を記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体とを含み、当該プロセッサ実行可能命令は、少なくとも１つのコンピュータハードウエアプロセッサによって実行されたとき、当該少なくとも１つのコンピュータハードウエアプロセッサに、積分後の取得ユーティリティ関数および目的関数の確率モデルを使用して当該目的関数を評価する少なくとも第１のポイントを識別すること、少なくとも識別済みの第１のポイントにおいて目的関数を評価すること、評価の結果を使用して目的関数の確率モデルを更新して目的関数の更新後の確率モデルを獲得すること、を実施させる。
【０００７】
先行する態様のうちのいずれかを含む、いくつかの態様においては、目的関数が、機械学習システムのハイパーパラメータの値を、機械学習システムのパフォーマンスの測度を提供する値と関係させる。いくつかの態様においては、目的関数が、画像内の対象物を識別するためのニューラルネットワークの複数のハイパーパラメータの値を、画像内の対象物の識別におけるニューラルネットワークのパフォーマンスの測度を提供するそれぞれの値と関係させる。
【０００８】
先行する態様のうちのいずれかを含む、いくつかの態様においては、プロセッサ実行可能命令が、少なくとも１つのコンピュータハードウエアプロセッサに、積分後の取得ユーティリティ関数および目的関数の更新後の確率モデルを使用して当該目的関数を評価する少なくとも第２のポイントを識別すること、少なくとも識別済みの第２のポイントにおいて目的関数を評価すること、をさらに実施させる。
【０００９】
先行する態様のうちのいずれかを含む、いくつかの態様においては、確率モデルが少なくとも１つのパラメータを有し、積分後の取得ユーティリティ関数が、確率モデルの少なくとも１つのパラメータに関して初期取得ユーティリティ関数を積分することによって少なくとも部分的に獲得される。
【００１０】
先行する態様のうちのいずれかを含む、いくつかの態様において、初期取得ユーティリティ関数は、改善ユーティリティ関数の確率、期待される改善ユーティリティ関数、リグレット最小化ユーティリティ関数、およびエントロピーベースのユーティリティ関数からなる群から選択された取得ユーティリティ関数である。
【００１１】
先行する態様のうちのいずれかを含む、いくつかの態様においては、目的関数の確率モデルが、ガウス過程またはニューラルネットワークを含む。
【００１２】
先行する態様のうちのいずれかを含む、いくつかの態様においては、識別することが、マルコフ連鎖モンテカルロテクニックを使用することによって少なくとも部分的に実施される。
【００１３】
先行する態様のうちのいずれかを含む、いくつかの態様においては、プロセッサ実行可能命令が、少なくとも１つのコンピュータハードウエアプロセッサに、目的関数を評価する複数のポイントを識別すること、複数のポイントのそれぞれにおいて目的関数を評価すること、評価の結果に基づいて、目的関数が最大値に到達するポイントを識別するか、または近似すること、をさらに実施させる。
【００１４】
いくつかの態様は、目的関数を使用する最適化の実施に関連した用途のための方法に関する。前記方法は、第１のポイントにおいて目的関数を評価すること、第１のポイントにおける目的関数の評価が完了する前に、第１のポイントにおける目的関数の評価の潜在的アウトカムの尤度に基づいて、目的関数を評価する、第１のポイントとは異なる第２のポイントを識別すること、第２のポイントにおいて目的関数を評価すること、を実施するために少なくとも１つのコンピュータハードウエアプロセッサを使用することを含む。
【００１５】
いくつかの態様は、目的関数を使用する最適化の実施に関連した用途のための方法に関する。前記方法は、第１のポイントにおいて目的関数の評価を開始すること、第１のポイントにおける目的関数の評価が完了する前に、第１のポイントにおける目的関数の評価の潜在的アウトカムの尤度に基づいて、目的関数を評価する、第１のポイントとは異なる第２のポイントを識別すること、第２のポイントにおける目的関数の評価を開始すること、を実施するために少なくとも１つのコンピュータハードウエアプロセッサを使用することを含む。
【００１６】
いくつかの態様は、少なくとも１つのコンピュータハードウエアプロセッサによって実行されたとき、当該少なくとも１つのコンピュータハードウエアプロセッサに、目的関数を使用する最適化の実施に関連した用途のための方法を実施させるプロセッサ実行可能命令を記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体に関する。前記方法は、第１のポイントにおいて目的関数の評価を開始すること、第１のポイントにおける目的関数の評価が完了する前に、第１のポイントにおける目的関数の評価の潜在的アウトカムの尤度に基づいて、目的関数を評価する、第１のポイントとは異なる第２のポイントを識別すること、第２のポイントにおいて目的関数の評価を開始すること、を含む。
【００１７】
いくつかの態様は、目的関数を使用する最適化の実施に関連した用途のためのシステムに関する。前記システムは、少なくとも１つのコンピュータハードウエアプロセッサと、プロセッサ実行可能命令を記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体とを含み、当該プロセッサ実行可能命令は、少なくとも１つのコンピュータハードウエアプロセッサによって実行されたとき、当該少なくとも１つのコンピュータハードウエアプロセッサに、第１のポイントにおいて目的関数の評価を開始すること、第１のポイントにおける目的関数の評価が完了する前に、第１のポイントにおける目的関数の評価の潜在的アウトカムの尤度に基づいて、目的関数を評価する、第１のポイントとは異なる第２のポイントを識別すること、第２のポイントにおける目的関数の評価を開始すること、を実施させる。
【００１８】
先行する態様のうちのいずれかを含む、いくつかの態様においては、目的関数が、機械学習システムのハイパーパラメータの値を、機械学習システムのパフォーマンスの測度を提供する値と関係させる。
【００１９】
先行する態様のうちのいずれかを含む、いくつかの態様においては、目的関数が、画像内の対象物を識別するためのニューラルネットワークの複数のハイパーパラメータの値を、画像内の対象物の識別におけるニューラルネットワークのパフォーマンスの測度を提供するそれぞれの値と関係させる。
【００２０】
先行する態様のうちのいずれかを含む、いくつかの態様においては、少なくとも１つのコンピュータハードウエアプロセッサが、第１のコンピュータハードウエアプロセッサおよび当該第１のコンピュータハードウエアプロセッサとは異なる第２のコンピュータハードウエアプロセッサを含み、プロセッサ実行可能命令が、少なくとも第１のコンピュータハードウエアプロセッサに、第１のポイントにおいて目的関数の評価を実施させ、かつ少なくとも第２のコンピュータハードウエアプロセッサに、第２のポイントにおいて目的関数の評価を実施させる。
【００２１】
先行する態様のうちのいずれかを含む、いくつかの態様においては、識別することが、第１のポイントにおける目的関数の潜在的な値に関して初期取得ユーティリティ関数の期待される値を計算することによって少なくとも部分的に獲得される取得ユーティリティ関数を使用することを含む。
【００２２】
先行する態様のうちのいずれかを含む、いくつかの態様においては、尤度が目的関数の確率モデルを使用して獲得され、かつ、プロセッサ実行可能命令が、少なくとも１つのコンピュータハードウエアプロセッサに、目的関数の更新後の確率モデルを獲得する第１のポイントおよび／または第２のポイントにおいて目的関数を評価した結果を使用して目的関数の確率モデルを更新することをさらに実施させる。
【００２３】
先行する態様のうちのいずれかを含む、いくつかの態様においては、プロセッサ実行可能命令が、少なくとも１つのコンピュータハードウエアプロセッサに、目的関数の更新後の確率モデルを使用して、目的関数を評価する少なくとも第３のポイントを識別すること、少なくとも識別済みの第３のポイントにおける目的関数の評価を開始すること、をさらに実施させる。
【００２４】
先行する態様のうちのいずれかを含む、いくつかの態様においては、目的関数の確率モデルが、ガウス過程またはニューラルネットワークを含む。
【００２５】
いくつかの態様は、第１の定義域内の要素を値域内の値にマッピングする目的関数を使用する最適化の実施に関連した用途のための方法に関する。前記方法は、取得ユーティリティ関数および目的関数の確率モデルの使用によって目的関数を少なくとも部分的に評価する第１のポイントを識別することであって、確率モデルが第１の定義域内の要素の第２の定義域内の要素への非線形の１対１マッピングに依存すること、目的関数の対応する第１の値を獲得するために識別済みの第１のポイントにおいて目的関数を評価すること、第１の値を使用して目的関数の確率モデルを更新して目的関数の更新後の確率モデルを獲得すること、を実施するために少なくとも１つのコンピュータハードウエアプロセッサを使用することを含む。
【００２６】
いくつかの態様は、少なくとも１つのコンピュータハードウエアプロセッサによって実行されたとき、当該少なくとも１つのコンピュータハードウエアプロセッサに、第１の定義域内の要素を値域内の値にマッピングする目的関数を使用する最適化の実施に関連した用途のための方法を実施させるプロセッサ実行可能命令を記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体に関する。前記方法は、取得ユーティリティ関数および目的関数の確率モデルの使用によって目的関数を少なくとも部分的に評価する第１のポイントを識別することであって、確率モデルが第１の定義域内の要素の第２の定義域内の要素への非線形の１対１マッピングに依存すること、目的関数の対応する第１の値を獲得するために識別済みの第１のポイントにおいて目的関数を評価すること、を含む。
【００２７】
いくつかの態様は、第１の定義域内の要素を値域内の値にマッピングする目的関数を使用する最適化の実施に関連した用途のためのシステムに関する。前記システムは、少なくとも１つのコンピュータハードウエアプロセッサと、プロセッサ実行可能命令を記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体を含み、当該プロセッサ実行可能命令は、少なくとも１つのコンピュータハードウエアプロセッサによって実行されたとき、当該少なくとも１つのコンピュータハードウエアプロセッサに、取得ユーティリティ関数および目的関数の確率モデルの使用によって目的関数を少なくとも部分的に評価する第１のポイントを識別することであって、確率モデルが第１の定義域内の要素の第２の定義域内の要素への非線形の１対１マッピングに依存すること、目的関数の対応する第１の値を獲得するために識別済みの第１のポイントにおいて目的関数を評価すること、第１の値を使用して目的関数の確率モデルを更新して目的関数の更新後の確率モデルを獲得すること、を実施させる。
【００２８】
先行する態様のうちのいずれかを含む、いくつかの態様においては、目的関数が、機械学習システムのハイパーパラメータの値を、機械学習システムのパフォーマンスの測度を提供する値と関係させる。
【００２９】
先行する態様のうちのいずれかを含む、いくつかの態様においては、目的関数が、画像内の対象物を識別するためのニューラルネットワークの複数のハイパーパラメータの値を、画像内の対象物の識別におけるニューラルネットワークのパフォーマンスの測度を提供するそれぞれの値と関係させる。
【００３０】
先行する態様のうちのいずれかを含む、いくつかの態様においては、プロセッサ実行可能命令が、少なくとも１つのコンピュータハードウエアプロセッサに、目的関数を評価する第２のポイントを識別すること、目的関数の対応する第２の値を獲得するために識別済みの第２のポイントにおいて目的関数を評価すること、第２の値を使用して目的関数の更新後の確率モデルを更新して目的関数の第２の更新後の確率モデルを獲得すること、をさらに実施させる。
【００３１】
先行する態様のうちのいずれかを含む、いくつかの態様においては、非線形の１対１マッピングが全単射である。
【００３２】
先行する態様のうちのいずれかを含む、いくつかの態様においては、非線形の１対１マッピングが、ベータ分布の累積分布関数を含む。
【００３３】
先行する態様のうちのいずれかを含む、いくつかの態様においては、取得ユーティリティ関数が、積分後の取得ユーティリティ関数である。
【００３４】
先行する態様のうちのいずれかを含む、いくつかの態様においては、目的関数の確率モデルがガウス過程またはニューラルネットワークの使用によって少なくとも部分的に獲得される。
【００３５】
いくつかの態様は、それぞれの複数のタスクに関連付けされた複数の目的関数を使用する最適化の実施に関連した用途のための方法に関する。前記方法は、複数の目的関数の同時確率モデルに少なくとも部分的に基づいて、複数の目的関数内の目的関数を評価する第１のポイントを識別すること、当該同時確率モデルに少なくとも部分的に基づいて、複数の目的関数内の、識別済み第１のポイントにおいて評価する第１の目的関数を選択すること、識別済み第１のポイントにおいて第１の目的関数を評価すること、評価の結果に基づいて同時確率モデルを更新して更新後の同時確率モデルを獲得すること、を実施するために少なくとも１つのコンピュータハードウエアプロセッサを使用することを含む。
【００３６】
いくつかの態様は、少なくとも１つのコンピュータハードウエアプロセッサによって実行されたとき、当該少なくとも１つのコンピュータハードウエアプロセッサに、それぞれの複数のタスクに関連付けされた複数の目的関数を使用する最適化の実施に関連した用途のための方法を実施させるプロセッサ実行可能命令を記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体に関する。前記方法は、複数の目的関数の同時確率モデルに少なくとも部分的に基づいて、複数の目的関数内の目的関数を評価する第１のポイントを識別すること、当該同時確率モデルに少なくとも部分的に基づいて、複数の目的関数内の、識別済み第１のポイントにおいて評価する第１の目的関数を選択すること、識別済み第１のポイントにおいて第１の目的関数を評価すること、評価の結果に基づいて同時確率モデルを更新して更新後の同時確率モデルを獲得すること、を含む。
【００３７】
いくつかの態様は、それぞれの複数のタスクに関連付けされた複数の目的関数を使用する最適化の実施に関連した用途のためのシステムに関する。前記システムは、少なくとも１つのコンピュータハードウエアプロセッサと、プロセッサ実行可能命令を記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体を含み、当該プロセッサ実行可能命令は、少なくとも１つのコンピュータハードウエアプロセッサによって実行されたとき、当該少なくとも１つのコンピュータハードウエアプロセッサに、複数の目的関数の同時確率モデルに少なくとも部分的に基づいて、複数の目的関数内の目的関数を評価する第１のポイントを識別すること、当該同時確率モデルに少なくとも部分的に基づいて、複数の目的関数内の、識別済み第１のポイントにおいて評価する第１の目的関数を選択すること、識別済み第１のポイントにおいて第１の目的関数を評価すること、評価の結果に基づいて同時確率モデルを更新して更新後の同時確率モデルを獲得すること、を実施させる。
【００３８】
先行する態様のうちのいずれかを含む、いくつかの態様においては、第１の目的関数が、機械学習システムのハイパーパラメータの値を、機械学習システムのパフォーマンスの測度を提供する値と関係させる。
【００３９】
先行する態様のうちのいずれかを含む、いくつかの態様においては、第１の目的関数が、画像内の対象物を識別するためのニューラルネットワークの複数のハイパーパラメータの値を、画像内の対象物の識別におけるニューラルネットワークのパフォーマンスの測度を提供するそれぞれの値と関係させる。
【００４０】
先行する態様のうちのいずれかを含む、いくつかの態様においては、プロセッサ実行可能命令が、少なくとも１つのコンピュータハードウエアプロセッサに、複数の目的関数の更新後の同時確率モデルに少なくとも部分的に基づいて、複数の目的関数内の目的関数を評価する第２のポイントを識別すること、当該同時確率モデルに少なくとも部分的に基づいて、複数の目的関数内の、識別済み第１のポイントにおいて評価する第２の目的関数を選択すること、識別済み第１のポイントにおいて第２の目的関数を評価すること、をさらに実施させる。
【００４１】
先行する態様のうちのいずれかを含む、いくつかの態様においては、第１の目的関数が、第２の目的関数とは異なる。
【００４２】
先行する態様のうちのいずれかを含む、いくつかの態様においては、複数の目的関数の同時確率モデルが、複数のタスク内のタスクの間の相関をモデリングする。
【００４３】
先行する態様のうちのいずれかを含む、いくつかの態様においては、複数の目的関数の同時確率モデルが、ベクトル値ガウス過程を含む。
【００４４】
先行する態様のうちのいずれかを含む、いくつかの態様においては、同時確率モデルが、複数のタスク内のタスクの間の相関をモデリングする第１の共分散カーネル、および複数の目的関数内の目的関数を評価できるポイント間の相関をモデリングする第２の共分散カーネルに、少なくとも部分的に基づいて獲得される共分散カーネルを含む。
【００４５】
先行する態様のうちのいずれかを含む、いくつかの態様においては、識別することが、コスト荷重エントロピーサーチユーティリティ関数に基づいてさらに実施される。
【００４６】
以上は、付随する特許請求の範囲によって定義される本発明の非限定的な概要である。
【００４７】
以下の図面に関して多様な側面および態様を説明する。当然のことながら、図面は、必ずしも縮尺通りには描かれていない。複数の図面内に現われる項目は、それらが現われるすべての図面内において同一または類似の参照番号によって示される。
【図面の簡単な説明】
【００４８】
【図１】図１は、機械学習システムの構成を例証するブロック図である。
【００４９】
【図２Ａ−Ｂ】図２Ａ〜図２Ｂは、本明細書に記載されたテクノロジのいくつかの態様に従った、取得ユーティリティ関数を使用することによって目的関数の確率モデルを少なくとも部分的に反復的に更新する過程を示した図式である。
【図２Ｃ−Ｄ】図２Ｃ〜図２Ｄは、本明細書に記載されたテクノロジのいくつかの態様に従った、取得ユーティリティ関数を使用することによって目的関数の確率モデルを少なくとも部分的に反復的に更新する過程を示した図式である。
【００５０】
【図３Ａ−Ｂ】図３Ａ〜図３Ｂは、本明細書に記載されたテクノロジのいくつかの態様に従った、積分後の取得ユーティリティ関数を計算する過程を示した図式である。
【００５１】
【図４】図４は、本明細書に記載されたテクノロジのいくつかの態様に従った、積分後の取得関数および目的関数の確率モデルを使用することによって目的関数を少なくとも部分的に使用する最適化を実施するための過程を例証するフローチャートである。
【００５２】
【図５Ａ−Ｆ】図５Ａ〜図５Ｆは、２つの非定常目的関数に対する２つのワーピング関数の適用を例証する図式である。
【００５３】
【図６】図６は、本明細書に記載されたテクノロジのいくつかの態様に従った、複数のコンピュータハードウエアプロセッサを使用することによって目的関数を少なくとも部分的に使用する最適化を実施するための過程を例証するフローチャートである。
【００５４】
【図７】図７は、本明細書に記載されたテクノロジのいくつかの態様に従った、それぞれのタスクに対応する複数の目的関数の同時確率モデルを使用することによって少なくとも部分的にマルチタスク最適化を実施するための過程を例証するフローチャートである。
【００５５】
【図８】図８は、本明細書に記載された態様を実装できるコンピュータシステムを図解したブロック図である。
【発明を実施するための形態】
【００５６】
機械学習システムを構成するための従来的なテクニックは、システムの１つまたは２つ以上のパラメータをマニュアルで設定すること、およびシステムの１つまたは２つ以上のほかのパラメータを自動的に設定すること（たとえば、トレーニングデータを使用してパラメータの値を学習することによる）を伴う。たとえば、機械学習システムは、機械学習システムのトレーニングの前（たとえば、トレーニングデータを使用して機械学習システムの１つまたは２つ以上のほかのパラメータの値が学習される前）にマニュアルで値が設定される、しばしば「ハイパーパラメータ」とも呼ばれる１つまたは２つ以上のパラメータを有することができる。ハイパーパラメータは、機械学習システムのトレーニング中（たとえば、機械学習システムのパラメータを学習するための学習テクニックは、ハイパーパラメータの値に依存できる）およびランタイム中（たとえば、トレーニング済みの機械学習システムが新しいデータを処理する方法は、ハイパーパラメータの値に依存できる）に使用できる。
【００５７】
たとえば、図１に例証されているとおり、機械学習システム１０２は、最初にハイパーパラメータ１０４をマニュアル設定し、その後に続き、トレーニング段階１１０中に、トレーニングデータ１０８およびハイパーパラメータ１０４に基づいてパラメータ１０６ａの値を学習させ、学習済みパラメータ値１０６ｂを獲得することによって構成できる。構成済み機械学習システム１１２のパフォーマンスが、その後評価段階１１６中に、試験データ１１４を使用して構成済み機械学習システム１１２のパフォーマンスの測度を提供する１つまたは２つ以上の値１１８を計算することによって評価される。パフォーマンスの測度１１８は、一般化パフォーマンスの測度および／またはそのほかのいずれかの好適なパフォーマンスの測度であるとすることができる。
【００５８】
１つの非限定的な例として、機械学習システム１０２は、１つまたは２つ以上のハイパーパラメータ（たとえば、１つまたは２つ以上の学習レート、１つまたは２つ以上のドロップアウトレート、１つまたは２つ以上の荷重ノルム、１つまたは２つ以上の隠れレイヤサイズ、ニューラルネットワークが畳み込みニューラルネットワークの場合の畳み込みカーネルサイズ、プーリングサイズ等）に関連付けされたマルチレイヤニューラルネットワークを含む対象物認識のための機械学習システムであるとすることができる。ハイパーパラメータは、従来的に、トレーニングデータに対するニューラルネットワークのトレーニングに先立ってマニュアル設定される。別の非限定的な例として、機械学習システム１０２は、潜在的ディリクレ配分（Dirichlet allocation）テクニックを使用してテキストを塊で処理するテキスト処理のための機械学習システムであるとすることができ、このテクニックは、多様なハイパーパラメータ（たとえば、１つまたは２つ以上の学習レート、グラフィカルモデルのトレーニングの各反復において処理するべきテキスト塊のサイズ等）に関連付けされた指向グラフィカルモデルの使用を伴う。これらのハイパーパラメータは、従来的に、トレーニングデータに対する指向グラフィカルモデルのトレーニングに先立ってマニュアル設定される。さらに別の非限定的な例として、機械学習システム１０２は、１つまたは２つ以上のハイパーパラメータ（たとえば、１つまたは２つ以上の正則化パラメータ、１つまたは２つ以上のエントロピー項、モデル収斂許容誤差等）に関連付けされるサポートベクターマシン（たとえば、潜在的構造化サポートベクターマシン）を含むタンパク質ＤＮＡ配列の解析のための機械学習システムであるとすることができる。これらのハイパーパラメータは、従来的に、トレーニングデータに対するサポートベクターマシンのトレーニングに先立ってマニュアル設定される。当然のことながら、これらの例は例証であり、またほかにも多くの、従来的にマニュアル設定されるハイパーパラメータを有する機械学習システムの例が存在する。
【００５９】
機械学習システムのパフォーマンス（たとえば、一般化パフォーマンス）は、ハイパーパラメータに敏感であり、従来的に行なわれているように、機械学習システムのハイパーパラメータを「妥当な」値にマニュアル設定すること（すなわち、機械学習システムのマニュアルチューニング）は、システムの貧弱な、または最適に満たないパフォーマンスにつながることがある。実際、ハイパーパラメータの貧弱な設定と良好な設定との間の差異は、役立たない機械学習システムと最先端パフォーマンスを有するそれとの間の差異となり得る。
【００６０】
機械学習システムのハイパーパラメータを設定する１つの従来的アプローチは、ハイパーパラメータの異なる設定を試し、かかる各設定について機械学習システムのパフォーマンスを評価することである。しかしながら、かかる力ずくのサーチアプローチは、機械学習システムが多数のハイパーパラメータを有することができ、その結果、評価しなければならなくなる異なる設定が多くなり過ぎることから実践的でない。その上、ハイパーパラメータの各設定のための機械学習システムのパフォーマンスの評価は、多くの機械学習システムのトレーニングが非常に大きなトレーニングデータの集合を使用するために非常に演算的に過酷である機械学習システムの再トレーニングがハイパーパラメータの各設定について必要となることから、長時間を要するか、および／または大量の演算リソースを消費することがあり得る（たとえば、機械学習システムのトレーニングに数日を要する）。結果として、少数のハイパーパラメータ設定を評価する時間および／または演算リソースはあり得ても、可能なハイパーパラメータ設定の非常に多くの順列を網羅的に試すことは実現可能となり得ない。
【００６１】
機械学習システムのハイパーパラメータを設定する別の従来的なアプローチは、ベイズの最適化テクニックの使用である。このアプローチは、機械学習システムのハイパーパラメータを設定する問題を、機械学習システムの最良パフォーマンスに対応する機械学習システムのためのハイパーパラメータ値の集合を見つけ出すことを到達目標とする最適化問題として扱い、最適化テクニックを適用してこの最適化問題を解決することを伴う。このために、機械学習システムのハイパーパラメータ値とそのパフォーマンスとの間における関係を最適化問題のための目的関数と考えることができ（すなわち、目的関数が、機械学習システムのハイパーパラメータ値を、機械学習システムのパフォーマンスの測度を提供するそれぞれの値にマッピングする）、最適化問題の解決は、目的関数の定義域内の１つまたは２つ以上の極値ポイント（たとえば、極小値、極大値、最小値、最大値等）を見つけ出すことを伴う。しかしながら、パフォーマンスが、それのハイパーパラメータの値だけでなく、機械学習システムのトレーニングに使用されるトレーニングデータおよびそのほかの要因にも依存する（たとえば、図１に示されているとおり、パフォーマンスの測度１１８は、ハイパーパラメータ１０４だけでなく、トレーニングデータ１０８、試験データ１１４、トレーニング手順１１０の詳細等にも依存する）いずれかの実践的な機械学習システムのための閉形式の（たとえば、解析的な）目的関数は未知である。その上、目的関数をポイント毎に評価することはできるが（たとえば、機械学習システムのハイパーパラメータ値の各設定について、機械学習システムのパフォーマンスの測度を提供する値を獲得できる）、かかる各評価は、実施に有意の量の時間および／またはパワーを要求することになり得る。
【００６２】
したがって、目的関数の閉形式の解析的表現を要求する最適化テクニック（たとえば、グラジエントの計算を要求するテクニック）および／または多数の目的関数の評価を要求する最適化テクニック（たとえば、内点法）は、機械学習システムのハイパーパラメータ値を識別するための一般的に存立可能なアプローチではない。他方、ベイズの最適化テクニックは、目的関数の厳密な知識ないし多数の目的関数評価のいずれも要求しない。ベイズの最適化テクニックは目的関数の評価に頼るが、かかる評価の数を低減するために設計される。
【００６３】
ベイズの最適化は、目的関数の以前に獲得した評価に基づいて目的関数の確率モデルを築くこと、利用可能になった目的関数の新しい評価に基づいて確率モデルを更新すること、およびその確率モデルを使用して目的関数の極値ポイント（たとえば、１つまたは２つ以上の極小、極大、最小、最大等）を識別することを伴う。確率モデルは、いわゆる取得ユーティリティ関数（その例は、より詳細に後述する）とともに、次にどこで目的関数の評価を行なうかについての充分な情報を得た決定を行なうべく使用され、その新しい評価を、目的関数の確率モデルを更新するために使用できる。この方法においては、高い信頼性を伴う目的関数を正確に表現する確率モデルを獲得するために実施される目的関数の評価の数を低減できる。根本的な目的関数に対する確率モデルの忠実度が大きいほど、確率モデルの使用によって識別される１つまたは２つ以上の極値ポイントが目的関数の極値ポイントに対応すること（たとえば、良好に見積もられる／近似されること）がよりありがちになる。
【００６４】
したがって、機械学習システムのハイパーパラメータを設定する従来的なベイズの最適化アプローチは、機械学習システムのハイパーパラメータ値とそのパフォーマンスとの間の関係についての確率モデルを築くこと、およびいずれのハイパーパラメータ値を試すかについて充分な情報を得た決定を行なうべくこの確率モデルを取得ユーティリティ関数とともに使用することを伴う。この方法においては、ハイパーパラメータ値の集合のために機械学習システムのパフォーマンスを評価する回数を低減できる。
【００６５】
発明者らは、従来的なベイズの最適化テクニックを、機械学習システムのハイパーパラメータを設定するための従来的なベイズの最適化テクニックを含めて改善できることを認識した。発明者らは、従来的なベイズの最適化テクニックの１つの欠点が、目的関数の確率モデルのパラメータの値に対して過度に敏感なそのパフォーマンスにあることを認識した（たとえば、確率モデルのパラメータ値における小さな変化が、ベイズの最適化テクニックの包括的パフォーマンスにおける大きな変化につながることがある）。特に発明者らは、ベイズの最適化において次に目的関数を評価するべきポイントの識別（たとえば、機械学習システムのパフォーマンスを評価するハイパーパラメータ値の次の集合の識別）に使用される取得ユーティリティ関数が、目的関数の確率モデルのパラメータの値に敏感であり、そのことが、ベイズの最適化テクニックの貧弱な包括的パフォーマンスにつながり得ることを察知した。
【００６６】
したがって、いくつかの態様は、それぞれが確率モデルの異なるパラメータ値に対応する複数の取得関数の平均によって獲得された積分後の取得ユーティリティ関数を使用するベイズの最適化に関する（この種の平均は、しばしば、確率モデルのパラメータに関する「積分消去」と呼ばれる）。積分後の取得ユーティリティ関数は、目的関数の確率モデルのパラメータに対してあまり敏感でなくすることができ、そのことが、従来的なベイズの最適化テクニックの堅牢性およびパフォーマンスを改善できる。
【００６７】
発明者らは、機械学習システムのハイパーパラメータを設定するための従来的なベイズの最適化テクニックを含め、従来的なベイズの最適化テクニックの別の欠点は、それらが目的関数の以前のすべての評価の結果に基づいて目的関数を評価する次のポイントを選ぶ（たとえば、機械学習システムのパフォーマンスを評価するべきハイパーパラメータ値の次の集合を識別する）ことを要求するため、従来的なベイズの最適化テクニックが逐次的なテクニックとなることであると認識した。したがって、目的関数の各評価は、目的関数を評価する次のポイントが識別される前に完了されなければならない。そのため、目的関数のすべての評価が逐次的に（すなわち、一度に１つ）実施されている。
【００６８】
したがって、いくつかの態様は、目的関数の複数の評価が並列に実施されるように（たとえば、機械学習システムのための複数の異なるハイパーパラメータ値を、たとえば異なるコンピュータハードウエアプロセッサを使用して、同時に評価できるように）ベイズの最適化の並列化に関する。これらの態様においては、目的関数を評価する次のポイントを、以前に開始された１つまたは２つ以上の目的関数の評価の完了に先立って選択できるが、その選択は、未決の評価（たとえば、評価が実施中の特定のポイント）についての何らかの情報が、目的関数を評価する次のポイントを選択するときに斟酌されるように、目的関数の未決の評価の潜在的アウトカムのそれぞれの尤度に基づいて行なうことができる。目的関数の評価の並列化は、目的関数の評価が演算的にコスト高となるとき、たとえば、場合によってはトレーニングに長時間（たとえば、数日）を要する機械学習システムのためハイパーパラメータ値を識別するときに有用となり得る。
【００６９】
発明者らは、機械学習システムのハイパーパラメータを設定するための従来的なベイズの最適化テクニックを含め、従来的なベイズの最適化テクニックの別の欠点は、従来的なベイズの最適化テクニックが、非定常の目的関数のための好適な確率モデルとなり得ない定常ガウス過程を目的関数のモデリングに使用する（たとえば、定常ガウス過程を機械学習システムのハイパーパラメータ値とそのパフォーマンスとの間の関係のモデリングに使用する）ことであると認識した。たとえば、定常ガウス過程は、定常ガウス過程の２次統計が転換不変量である（たとえば、ガウス過程の共分散カーネルは転換不変量である）が、それに対して非定常目的関数のための２次統計が転換不変量でないことがあり得るため、非定常目的関数のための好適なモデルとはなり得ない。
【００７０】
したがって、いくつかの態様は、より忠実に定常および非定常目的関数をモデリングするために適応された確率モデルの使用によるベイズの最適化の実施に関する。いくつかの態様においては、目的関数の確率モデルを、目的関数の定義域内の要素の非線形の１対１マッピングに少なくとも部分的に基づいて指定できる。確率モデルがガウス過程を含む態様においては、ガウス過程の共分散カーネルを、その非線形の１対１マッピングを使用することによって少なくとも部分的に指定できる。
【００７１】
発明者らは、ベイズの最適化テクニックの別の欠点は、特定の最適化タスクの解決に適用したときに、それらが、関係のある最適化タスクへの同じテクニックの過去の適用中に獲得された情報を利用可能でないことであると認識した。たとえば、異なるデータセット（たとえば、画像の異なる集合）に対して機械学習システム（たとえば、画像の集合内の対象物を識別するためのニューラルネットワーク）を適用できるが、従来的なベイズの最適化テクニックは、各データセットについて（たとえば、画像の各集合について）機械学習システムのハイパーパラメータを改めて識別することを要求する。１つのデータセットを使用する機械学習システムのためハイパーパラメータを識別する間に獲得した以前の情報（たとえば、いずれのハイパーパラメータ値が機械学習システムのパフォーマンスを良好にしたか、およびいずれのハイパーパラメータ値が機械学習システムのパフォーマンスを貧弱にしたか）が、別のデータセットを使用する同じ機械学習システムのためハイパーパラメータ値を識別するためにまったく使用可能でない。
【００７２】
したがって、いくつかの態様は、特定の最適化タスクの解決に適用されたときに、ほかの１つまたは２つ以上の関係のある最適化タスクの解決の間に獲得された情報を利用できるベイズの最適化テクニックに関する。たとえば、いくつかの態様においては、第１のデータセットを使用する機械学習システムのためハイパーパラメータの設定の間に獲得された情報を、第１のデータセットとは異なる第２のデータセットを使用する機械学習システムのハイパーパラメータの設定に適用できる。この方法においては、以前に獲得した情報を使用して、機械学習システムのためハイパーパラメータをより効率的に（たとえば、実施が演算的にコストデータとなり得る目的関数の評価の、より少ない使用によって）設定できる。より一般的には、最適化タスクのうちの１つを解決する獲得済みの情報を、別の最適化タスクの解決に向けて使用できることから、複数の異なる最適化タスクのための最適化をより効率的に実施できる。
【００７３】
本明細書に記載されたテクノロジのいくつかの態様は、機械学習システムのハイパーパラメータを設定するための従来的なベイズの最適化テクニックを含めて、前述した従来的なベイズの最適化テクニックの欠点のいくつかを扱う。しかしながら、あらゆる態様が、これらの欠点をことごとく扱うわけではなく、いくつかの態様が、それらをまったく扱わないことはあり得る。そのため、本明細書に記載されたテクノロジの側面が、従来的なベイズの最適化テクニックの前述した欠点のすべてまたはいずれかを扱うことに限定されないことは察知されるものとする。
【００７４】
これもまた当然のことながら、本明細書に記載された態様は、非常に多くの方法のいずれかにおいて実装され得る。具体的な実装の例は、例証の目的だけのために以下に提供されている。当然のことながら、本明細書に記載された側面がこの点において限定されないことから、提供されているこれらの態様および特徴／性能は、個別に、すべてまとめて、または２つまたは３つ以上の組合せのいずれかにおいて使用できる。
【００７５】
いくつかの態様においては、ベイズの最適化テクニックが、目的関数の１つまたは２つ以上の以前に獲得した評価に基づいて目的関数の確率モデルを構築すること、および利用可能になった目的関数のいずれかの新しい評価に基づいて確率モデルを更新することを伴う。したがって、いくつかの態様においては、目的関数を使用する最適化を、取得ユーティリティ関数および目的関数の確率モデルを使用して目的関数を評価するポイントを識別する作用、識別済みのポイントにおいて目的関数を評価する作用、および評価の結果に基づいて確率モデルを更新する作用を、各反復において実施することによって、反復的に（１回または複数回の反復）実施できる。本明細書に記載されたベイズの最適化テクニックは、異なる応用の中に生じる非常に多くのタイプの目的関数のいずれにも適用できる。
【００７６】
前述したとおり、本明細書に記載されたベイズの最適化テクニックが適用できる目的関数の１つの非限定的な例は、機械学習システムの１つまたは２つ以上のハイパーパラメータの値を、ハイパーパラメータ値を用いて構成される機械学習システム（たとえば、これらのパラメータを使用することによって少なくとも部分的にトレーニングされるか、および／またはこれらのパラメータを使用することによって少なくとも部分的に新しいデータを処理する機械学習システム）のパフォーマンスの測度を提供するそれぞれの値と関係させる目的関数である。かかる機械学習システムの１つの非限定的な例は、画像内の対象物を認識するための、ニューラルネットワーク（たとえば、マルチレイヤニューラルネットワーク、畳み込みニューラルネットワーク、フィードフォワードニューラルネットワーク、回帰ニューラルネットワーク、放射基底関数ニューラルネットワーク等）を使用する機械学習システム、および／または画像内の対象物を認識するためのそのほかのいずれかの好適な機械学習テクニックである。かかる機械学習システムのハイパーパラメータの例は、上記で提供済みである。かかる機械学習システムの別の非限定的な例は、潜在的ディリクレ配分法（ＬＤＡ）、確率的潜在意味解析、階層ＬＤＡ、非パラメトリックＬＤＡ、および／または自然言語テキストを処理するためのそのほかのいずれかの好適な機械学習テクニックを使用して自然言語テキスト（たとえば、テキスト内の１つまたは２つ以上のトピックの識別、テキストマイニング等）を処理するための機械学習システムである。かかる機械学習システムは、自然言語テキストの大きな集合（たとえば、１つまたは２つ以上のコーパス）を処理するために適応できる。かかる機械学習システムのハイパーパラメータの例は、上記で提供済みである。かかる機械学習システムの別の非限定的な例は、サポートベクターマシン（たとえば、線形サポートベクターマシン、潜在的構造化サポートベクターマシン、いずれかの好適な最大マージンクラシファイア等）および／または生物学データを処理するためのそのほかのいずれかの好適な機械学習テクニックを使用する生物学データの解析のための機械学習システム（たとえば、タンパク質モチーフ予測のための機械学習システム）である。本明細書に記載されたベイズの最適化テクニックを（機械システムのハイパーパラメータを設定するために）適用できる機械学習システムのそのほかの非限定的な例は、限定ではないが、医用画像処理のための機械学習システム（たとえば、疾病に起因し得るか、および／またはその存在を示すことができる対象物等の医用画像内の対象物を識別するための機械学習システム）、超音波データを処理するための機械学習システム、非線形適応型基底関数回帰を使用するいずれかの好適なタイプのデータをモデリングするための機械学習システム、レーダデータを処理するための機械学習システム、発話処理のための機械学習システム（たとえば、発話認識、話者識別、話者ダイアライゼーション、自然言語理解等）および機械翻訳のための機械学習システムを包含する。
【００７７】
当然のことながら、本明細書に記載されたベイズの最適化テクニックが機械学習システムのハイパーパラメータ値の設定への適用に限定されることはなく、いくつかの態様においては、そのほかの問題へ適用できる。１つの非限定的な例として、本明細書に記載されたベイズの最適化テクニックを、画像および／またはビデオ圧縮アルゴリズムのパラメータ（たとえば、ＪＰＥＧ圧縮標準のうちの１つまたは２つ以上によって指定される１つまたは２つ以上のパラメータ、ＭＰＥＧ圧縮標準のうちの１つまたは２つ以上によって指定される１つまたは２つ以上のパラメータ等）を画像および／またはビデオ圧縮アルゴリズムのパフォーマンスの測度と関係させる目的関数へ適用できる。別の非限定的な例として、本明細書に記載されたベイズの最適化テクニックを、コンピュータビジョンシステム（たとえば、対象物認識のためのコンピュータビジョンシステム、ポーズの見積、人々および／または対象物の追跡、オプティカルフロー、シーン再構築等）のパラメータと関係させる目的関数へ適用できる。別の非限定的な例として、本明細書に記載されたベイズの最適化テクニックは、非線形コントロールシステム（たとえば、１つまたは２つ以上のロボットをコントロールするためのコントロールシステム）のパラメータをコントロールシステムのパフォーマンスと関係させる目的関数へ適用できる。別の非限定的な例として、本明細書に記載されたベイズの最適化テクニックは、設計中の構造を少なくとも部分的に特徴記述するパラメータ（たとえば、航空機の翼を少なくとも部分的に特徴記述するパラメータ）を、その構造のパフォーマンス（たとえば、航空機の翼が適切な望ましい揚力特性を有するか否か）と関係させる目的関数へ適用できる。上記の例は、網羅的ではなく、より一般的には、本明細書に記載されたベイズの最適化テクニックは、評価が演算的にコスト高となり得るいずれかの目的関数および／またはいずれかの好適な最適化問題の中で起こるそのほかのいずれかの目的関数に、本明細書に記載されたベイズの最適化テクニックが、それを適用できる目的関数のタイプによって限定されないことから、適用できる。
【００７８】
前述したとおり、いくつかの態様においては、本明細書に記載されたベイズの最適化テクニックが、特定のタスク（たとえば、機械学習システムのハイパーパラメータをそれのパフォーマンスに関係させる目的関数）のための目的関数の確率モデルを生成することを伴う。目的関数のいずれかの好適なタイプの確率モデルを使用できる。いくつかの態様においては、確率モデルが、関数にわたる分布を指定する確率過程であるガウス過程を包含できる。ガウス過程は、平均値関数
【数１】
0006483667.tif 000002
および共分散関数（しばしば「カーネル」関数と呼ばれる）によって指定できる。たとえば、目的関数が、機械学習システムのハイパーパラメータをそれのパフォーマンスと関係させるとき、ガウス過程は、ハイパーパラメータの空間上に定義されるように、平均値関数がハイパーパラメータ値の集合（機械学習システムの１つまたは２つ以上のハイパーパラメータの値に対応するハイパーパラメータ値の各集合）を実数と関係させ、共分散関数は、ハイパーパラメータ値の集合の間の相関を表現する。
【００７９】
カーネルおよび非常に多くのタイプのカーネルのいずれかによって少なくとも部分的に指定され得る共分散関数を使用できる。いくつかの態様においては、Ｍａｔｅｒｎカーネルを使用できる。１つの非限定的な例として、５／２  Ｍａｔｅｒｎカーネル（ＫＭ５２）を使用でき、このカーネルは、次式に従って定義できる：
【数２】
0006483667.tif 000003
ここでθ０およびｒは、カーネルのパラメータであり、ｘおよびｘ’は、ガウス過程が定義される定義域内のポイントである（たとえば、ｘおよびｘ’は、機械学習システムのハイパーパラメータ値の集合を表現できる）。５／２  Ｍａｔｅｒｎカーネルは、誘導されるガウス過程が好ましいプロパティ（たとえば、ガウス過程の標本パスが２回微分できる）を有することからほかのカーネル選択肢より好ましいとし得る。しかしながら、ほかのカーネルの使用によって指定されるガウス過程も使用できる。使用できるカーネルの例は、限定ではないが、自動関連性決定二乗指数カーネル、有理二次カーネル、周期カーネル、局所的周期カーネル、線形カーネルおよびここに記述したカーネルのいずれかの組合せ（たとえば、乗算、加算等）によって獲得されるカーネルを包含する。
【００８０】
ガウス過程を含む目的関数の確率モデルは、以前に獲得した目的関数のすべての評価を前提としたガウス過程の予測平均の演算による目的関数の見積の計算に使用できる。この見積に関連付けされる不確実性は、以前に獲得した目的関数のすべての評価を前提としたガウス過程の予測共分散の演算によって計算できる。たとえば、ポイントの集合、
【数３】
0006483667.tif 000004
における目的関数のＮ個の以前に獲得した評価｛ｙｎ  １≦ｎ≦Ｎ｝を前提とした関数
【数４】
0006483667.tif 000005
に対するガウス過程のための予測平均および共分散は、次式のとおりに表現できる。
【数５】
0006483667.tif 000006
ここで
【数６】
0006483667.tif 000007
はガウス過程のカーネルであり、Ｋ（Ｘ，ｘ）はｘと集合Ｘとの間の相互共分散のＮ次元列ベクトルであり、Ｋ（Ｘ，Ｘ）は集合Ｘのためのグラム行列であり、ｙは評価のＮ×１ベクトルであり、ｍ（Ｘ）は集合Ｘ内のポイントにおけるガウス過程の平均のベクトルであり、θはガウス過程の１つまたは２つ以上のそのほかのパラメータ（たとえば、カーネルのパラメータ）の集合である。
【００８１】
当然のことながら、目的関数のための確率モデルは、ガウス過程モデルを含むことに限定されない。１つの非限定的な例として、目的関数のための確率モデルは、ニューラルネットワークが関数の集合における分布を指定するように、荷重がランダム変量になるニューラルネットワークを包含できる。ニューラルネットワークは、畳み込みニューラルネットワーク、深いニューラルネットワーク、および／またはそのほかのいずれかの好適なタイプのニューラルネットワークとすることができる。別の非限定的な例として、目的関数のための確率モデルは、適応型基底関数回帰モデルを包含できる。
【００８２】
１つの非限定的な例として、いくつかの態様において、確率モデルは、Ｎを１以上の整数とするとき、Ｎ個の非線形基底関数｛φ（ｘ）｝の線形の組合せとして指定されるベイズの線形回帰モデルを包含できる。非線形基底関数｛φ（ｘ）｝は、マルチレイヤニューラルネットワークを使用することによって少なくとも部分的に獲得できる。たとえば、いくつかの態様においては、非線形基底関数が、マルチレイヤニューラルネットワークのトレーニング（たとえば、いずれかの好適なトレーニングテクニックを使用する）および非線形関数の基底としてマルチレイヤニューラルネットワーク内の最後の隠れレイヤへの入力からの射影の使用によって獲得できる。これらの射影は、その後、ベイズの線形回帰モデルのための特徴表現として使用できる。これは、次のとおりに表現できる。
【００８３】
Φは、マルチレイヤニューラルネットワーク内の最終レイヤへのＮ個の入力｛ｘｎ；１≦ｎ≦Ｎ｝の射影によって獲得される基底関数｛φ（ｘｎ）；１≦ｎ≦Ｎ｝の連結から結果として得られるＤ×Ｎ行列を表わすとする。その場合に、入力｛ｘｎ｝を前提とした観測ｙのためのベイズの線形回帰モデルは、次式で表現できる：
【数７】
0006483667.tif 000008
式中
【数８】
0006483667.tif 000009
は、ハイパーパラメータθθのスケーリングの下におけるＮ個のポイントによって誘導される共分散行列である。入力
【数９】
0006483667.tif 000010
に対応する出力
【数１０】
0006483667.tif 000011
についての予測分布は、
【数１１】
0006483667.tif 000012
として表現され、式中
【数１２】
0006483667.tif 000013
は、
【数１３】
0006483667.tif 000014
によって与えられる。
【００８４】
目的関数のモデリングに使用される確率モデルのタイプとは関係なく、確率モデルは、目的関数の見積およびその見積に関連付けされる不確実性の測度の獲得に使用できる。たとえば、目的関数が、機械学習システムのハイパーパラメータの値をそれのパフォーマンスに関係させるとき、確率モデルに基づいて獲得されるその目的関数の見積は、ハイパーパラメータ値の各集合についての機械学習システムのパフォーマンスの見積を提供でき、その見積に関連付けされる不確実性の測度は、ハイパーパラメータ値の特定の集合について機械学習システムのパフォーマンスがどの程度良好であるかの見積に関連付けされる不確実性の測度（たとえば、分散、信頼度等）を提供できる。異なる量の不確実性に、異なるハイパーパラメータ値に対応する機械学習システムのパフォーマンスの見積を関連付けできる。いくつかのハイパーパラメータ値については、確率モデルが、これらのハイパーパラメータ値を用いて構成されるときに、機械学習システムのパフォーマンスの高信頼度の見積（たとえば、低い分散に関連付けされる見積）を提供できるが、そのほかのハイパーパラメータ値については、確率モデルが、それらのハイパーパラメータ値を用いて構成されるときに、機械学習システムのパフォーマンスの低信頼度の見積（たとえば、高い分散に関連付けされる見積）しか提供できない。
【００８５】
目的関数の確率モデルは、非常に多くの方法のいずれかにおける目的関数の見積の獲得に使用できる。１つの非限定的な例として、確率モデルは、目的関数の以前のすべての観測（すなわち、評価）を前提とした確率モデルの下における目的関数の予測平均見積を計算することによる目的関数の見積の計算、および関連付けされた、予測共分散としての不確実性の測度の計算に使用できる。かかる計算は、ガウス過程（たとえば、上記に提供されている式に従う）、適応型基底関数回帰モデル（ニューラルネットワークモデルがその例である）、およびそのほかのいずれかの好適なモデルを包含する非常に多くのタイプの確率モデルのいずれかのために実施できる。
【００８６】
上記の例から察知できるとおり、いくつかの態様においては、目的関数のための確率モデルは、関数の集合（たとえば、目的関数または別の、目的関数を緊密に近似する関数を包含すると考えられる関数の集合）における確率分布を指定できる。この確率分布は、その関数の集合内の１つまたは２つ以上の関数のそれぞれに対して確率値を指定することができ、特定の関数のための確率値は、その関数が目的関数である確率を示す。たとえば、ガウス過程は、そのガウス過程が定義される空間における関数の集合に係る分布を誘導すると考えることができる。たとえば、ガウス過程を使用して、可能な目的関数の集合（たとえば、機械学習システムのハイパーパラメータ値をその機械学習システムの対応するパフォーマンスに関係させるすべての目的関数の集合）に係る分布を指定できる。
【００８７】
いくつかの態様においては、目的関数の確率モデルを、目的関数について獲得された新しい情報に基づいて更新できる。更新後の分布は、初期分布より濃縮され、したがって、不確実性がより低い目的関数の表現を提供できる。更新後の分布は、目的関数の多様な見積の演算に使用できる。上記で論じたとおり、目的関数は、閉形式では知られておらず、目的関数についての情報は、その目的関数のポイント毎評価を介して獲得できる。たとえば、機械学習システムのハイパーパラメータをそれのパフォーマンスに関係させる目的関数についての情報は、ハイパーパラメータの１つまたは２つ以上の設定のそれぞれについて機械学習システムのパフォーマンスを評価することによって獲得できる。したがって、いくつかの態様においては、目的関数の確率モデルを、新しい評価（単数または複数）を通じて目的関数について学習された追加の情報を反映するために、目的関数の１つまたは２つ以上の評価に基づいて更新できる。たとえば、目的関数の確率モデルがガウス過程を含む態様においては、目的関数の新しい評価（単数または複数）に基づいてガウス過程を更新できる（たとえば、それの平均および／または共分散関数を更新できる）。別の例として、目的関数の確率モデルがニューラルネットワークを含む態様においては、目的関数の新しい評価（単数または複数）に基づいてニューラルネットワークを更新できる（たとえば、ニューラルネットワークの荷重に関連付けされた確率分布を更新できる）。
【００８８】
目的関数の１つまたは２つ以上の評価に基づいて目的関数の確率モデルを更新にする非限定的な図解例を図２Ａ〜図２Ｄに例証する。図２Ａは、目的関数のそれぞれの値２０２、２０４、および２０６を獲得するために３つのポイントにおいて目的関数の３つの以前に獲得した評価に基づいて生成された目的関数２００の確率モデルを図解している。この例証的な例においては、確率モデルが、目的関数の３つの以前の評価に対して調和されたガウス分布の予測平均、および目的関数の３つの以前の評価に対して調和された予測共分散（この１次元の例における分散）の計算により見積２０５に関連付けされる不確実性の測度を計算することによって目的関数の見積２０５の計算に使用されたガウス過程を含む。図２Ａにおいては、不確実性の測度が、影付きの領域によって曲線２０７と２０９との間に示されている。図２Ａから、確率モデルが、目的関数が評価されなかった領域内における目的関数についてより不確実であり、目的関数が評価された領域周りでより不確実でないこと（たとえば、評価２０２、２０４、および２０６のより近くでは不確実性の領域が縮む）が観察できる。言い換えると、目的関数が評価されなかった領域内においては目的関数の見積に関連付けされた不確実性がより大きくなる（たとえば、目的関数が評価されなかった領域内においては、ガウス過程の予測分散が、より大きくなり；目的関数が評価されたポイントにおいては、予測分散が、これらのポイントにおける目的関数の値が正確に分かることから、０になる）。
【００８９】
図２Ｂは、それぞれの目的関数の値２０８を獲得する新しいポイントにおける目的関数２００の追加の評価に基づいて確率モデルを更新した後の目的関数２００の確率モデルを図解している。更新後の確率モデルは、目的関数の４つの以前の評価に対して調和されたガウス分布の予測平均、および目的関数の４つの以前の評価に基づく予測共分散の計算により見積２１０に関連付けされる不確実性の測度を計算することによって、目的関数２００の更新後の見積２１０の計算に使用できる。図２Ｂにおいては、不確実性の測度が、影付きの領域によって曲線２１１と２１３との間に示されている。図２Ｂから観察できるとおり、新しい評価の領域周りで確率モデルの変化がもっとも顕著であり、見積２１０が（図２Ａに示されている見積２０５とは異なり）値２０８を通過し、値２０８の領域内の見積に関連付けされる不確実性が縮む。したがって、確率モデルは、評価値２０８を跨ぐ領域内において目的関数の追加の評価に先立つものより高い忠実度を伴う目的関数２００を表現する。
【００９０】
図２Ｃは、それぞれの目的関数の値２１４を獲得する新しいポイントにおける目的関数２００の追加の評価に基づいて確率モデルを更新した後の目的関数２００の確率モデルを図解している。更新後の確率モデルは、目的関数の５つの以前の評価に対して調和されたガウス分布の予測平均、および目的関数の５つの以前の評価に基づく予測共分散の計算により見積２１５に関連付けされる不確実性の測度を計算することによって、目的関数２００の更新後の見積２１５の計算に使用できる。図２Ｃにおいては、不確実性の測度が、影付きの領域によって曲線２１６と２１７との間に示されている。図２Ｃから観察できるとおり、新しい評価の領域周りで確率モデルの変化がもっとも顕著であり、見積２１５が（図２Ａおよび２Ｂに示されている見積２０５および２１０とは異なり）値２１４を通過し、値２１４の領域内の見積に関連付けされる不確実性が縮む。したがって、確率モデルは、評価値２１４を跨ぐ領域内において目的関数の追加の評価に先立つものより高い忠実度を伴う目的関数２００を表現する。
【００９１】
図２Ｄは、目的関数２００の複数の追加の評価に基づいて確率モデルを更新した後の目的関数２００の確率モデルを図解している。更新後の確率モデルは、目的関数２００の更新後の見積２２０および目的関数の以前のすべての評価に基づく関連付けされた不確実性の測度の計算に使用できる。図２Ｄにおいては、不確実性の測度が、影付きの領域によって曲線２２０と２２１との間に示されている。図２Ｄから観察できるとおり、確率モデルは、追加の評価中に獲得された目的関数についての情報の取り込みの結果として、より大きな忠実度を伴う目的関数２００を表現する。
【００９２】
当然のことながら、実践においては全体の目的関数が既知でないことがあり、ポイント毎の評価だけが利用可能となり得ることから、図２Ａ〜図２Ｄに示されている例は、単なる例証かつ非限定的である。ここでは、全体の目的関数２００が、目的関数の確率モデルの更新に目的関数の追加の評価をどのように使用できるかの例証を補助するために示されている。図２Ａ〜図２Ｄの例においては例証的な目的関数２００が１次元であるが、これが本明細書に記載されたテクノロジの限定でないこともまた察知されるものとする。目的関数は、いずれかの好適なｄ次元の定義域において定義できる（たとえば、ｄは少なくとも２、ｄは少なくとも３、ｄは少なくとも５、ｄは少なくとも１０、ｄは少なくとも２５、ｄは少なくとも５０、ｄは少なくとも１００、ｄは少なくとも５００、ｄは少なくとも１０００、ｄは１０〜１００、ｄは２５〜５００、ｄは５００〜５０００等である）。たとえば、機械学習システムのハイパーパラメータ値とそれらのハイパーパラメータ値を用いて構成された機械学習システムのパフォーマンスを示す値の間における関係を表現する目的関数は、次元が機械学習システムの構成に使用されたハイパーパラメータの数に等しい定義域において定義できる。
【００９３】
上記に例証されているとおり、目的関数の確率モデルは、目的関数の１つまたは２つ以上の評価に基づいて更新できる。目的関数は、いずれかのポイント（単数または複数）における目的関数の評価に基づいて更新できるが、いくつかのポイントにおける目的関数の評価は、ほかのポイントより目的関数および／または目的関数の極値ポイントについてより多くの情報を提供できる。１つの例として、充分に調査されていない目的関数の領域についての情報を提供する１つまたは２つ以上のポイント（たとえば、目的関数が評価されたポイントから遠く離れたポイント、目的関数の確率モデルがその目的関数についてもっとも不確実なポイント等）において目的関数を評価できる。別の例として、極値ポイント（たとえば、極小、極大、最小、最大等）を含有すると考えられる目的関数の領域についての情報、すなわち根本的な最適化の解決において有用となり得る情報を提供する１つまたは２つ以上のポイントにおいて目的関数を評価できる。
【００９４】
１つの非限定的な例として、機械学習システム（たとえば、対象物認識を実施する１つまたは２つ以上のニューラルネットワークを含む機械学習システム）のハイパーパラメータを、いくつかの（機械学習システムのハイパーパラメータのいくつかの値のための）ポイントにおいてそれらのハイパーパラメータを用いて構成するときの機械学習システムのパフォーマンスに関係させる目的関数の評価は、ほかのポイントより目的関数および／または目的関数の極値ポイントについてより多くの情報を提供できる。いくつかのハイパーパラメータ値のための機械学習システムのパフォーマンスの評価は、充分に調査されていない目的関数の領域についての情報を提供できる。たとえば、機械学習システムのパフォーマンスが評価されたハイパーパラメータ値から、好適な距離メトリックに従って、遠く離れたハイパーパラメータ値における機械学習システムのパフォーマンスの評価（目的関数の評価）は、以前に調査されなかった目的関数の領域についての情報を提供できる（たとえば、ハイパーパラメータ値の空間の全体的調査に類似）。別の例として、目的関数の確率モデルによってパフォーマンスの見積が提供されるハイパーパラメータ値についての機械学習システムのパフォーマンスの評価は、高い分散と関連付けされ、ハイパーパラメータ値の所定の集合のための機械学習システムのパフォーマンスがどの程度良好になるかについての確率モデルの信頼と関連付けされる不確実性（たとえば、不確実性の少なくとも閾値量）が存在する。別の例として、機械学習システムのパフォーマンスが良好（たとえば、以前に観察されたハイパーパラメータ値のいずれかのための最良パフォーマンス）であると考えられるハイパーパラメータ値に近いハイパーパラメータ値のための機械学習システムのパフォーマンスの評価は、機械学習システムのパフォーマンスがさらに良好になるハイパーパラメータ値の発見につながることがある（たとえば、ハイパーパラメータ値の空間の局所的調査に類似）。
【００９５】
したがって、いくつかの態様においては、目的関数の１つまたは２つ以上の以前に完了済みの評価に基づいて見積もられた目的関数の確率モデルを前提とした、次に目的関数を評価するべきポイント（単数または複数）について充分な情報を得た決定がなされる。その決定は、全体的調査（たとえば、殆ど評価が存在しないか、および／または確率モデルによって提供される目的関数の見積に関連付けされた不確実性が高いとし得る目的関数の領域の調査）と局所的調査（たとえば、１つまたは２つ以上の極大／最大および／または極小／最小に近い目的関数の領域の調査）の到達目標をバランスさせる。
【００９６】
いくつかの態様においては、目的関数を評価できる１つまたは２つ以上のポイントのそれぞれを、そのポイントにおける目的関数の評価の有用性を表現する値に関連付けする取得ユーティリティ関数を使用して目的関数を評価する次のポイント（単数または複数）を選択できる。たとえば、目的関数が機械学習システムのハイパーパラメータの値をそれのパフォーマンスに関係させるとき、取得ユーティリティ関数は、ハイパーパラメータ値の各集合を、ハイパーパラメータ値のその集合のための機械学習システムのパフォーマンスの評価の有用性を表現する値に関連付けできる。
【００９７】
取得ユーティリティ関数は、評価されるべき次のポイントを選択するいずれかの好適な方法において使用できる。いくつかの態様においては、目的関数を評価する次のポイントを、取得ユーティリティ関数を最大化する（または、そのユーティリティ関数がどのように定義されているかに応じて取得ユーティリティ関数を最小化する）ポイントとして選択できる。いずれかの好適な取得ユーティリティ関数を使用することができ、かつそれが、非常に多くのタイプのユーティリティの測度（前述した局所的および全体的なタイプの調査を好適にバランスさせるユーティリティの測度を包含する）のいずれかを表現できる。
【００９８】
いくつかの態様においては、取得ユーティリティ関数が、目的関数の確率モデルに依存できる。取得ユーティリティ関数は、確率モデルによってキャプチャされた目的関数についての現在の情報に基づいて指定できる。たとえば、取得ユーティリティ関数は、確率モデル（たとえば、予測平均）から獲得できる目的関数の見積、見積に関連付けされる不確実性の測度（たとえば、予測共分散）、および／またはそのほかのいずれかの、確率モデルから獲得される好適な情報に少なくとも部分的に基づいて指定できる。
【００９９】
図２Ａ〜図２Ｄは、目的関数の確率モデルに少なくとも部分的に基づいて目的関数を評価するポイントを選択する取得ユーティリティ関数の使用を例証している。取得ユーティリティ関数は、２つの到達目標、すなわち全体的調査（それによって、目的関数の確率モデルにおける不確実性を低減するために評価のためのポイントが選択される）および局所的調査（それによって、目的関数の少なくとも１つの極値ポイントを含有すると考えられる目的関数の調査領域を選択するために評価のためのポイントが選択される）をバランスさせることによって評価するポイントを選択する。たとえば、図２Ａに示されているとおり、目的関数２００の確率モデルは、目的関数の見積２０５、および曲線２０７と２０９との間の影付き領域によって示される、関連付けされる不確実性の測度の計算に使用できる。見積２０５および関連付けされる不確実性の測度に基づいて計算される取得ユーティリティ関数２３１の値を、図２Ａの下側部分内に示す。そこに示されているとおり、取得ユーティリティ関数２３１は、見積２０５と関連付けされた不確実性がより大きくなる領域内（たとえば、値２０２と２０４との間、および値２０４と２０６との間）においてより大きな値を取り、見積２０５と関連付けされた不確実性がより小さくなる領域内（たとえば、値２０２、２０４、および２０６の周り）においてより小さい値を取る。目的関数を評価する次のポイントを、取得ユーティリティ関数２３１が最大値（すなわち、値２３０）を取るポイントとして選択し、目的関数の確率モデルを、選択したそのポイントにおける目的関数の評価に基づいて更新する。
【０１００】
取得ユーティリティ関数が確率モデルに依存することから、目的２００の確率モデルが更新された後の取得ユーティリティ関数もそのとおりとなる。更新後の取得ユーティリティ関数２３３は、見積２１０および関連付けされた不確実性の測度に基づいて計算され、図２Ｂの下側部分にそれを示す。観察できるとおり、取得ユーティリティ関数２３３は、見積２１０と関連付けされた不確実性がより大きくなる領域内（たとえば、値２０４と２０６との間）においてより大きな値を取り、見積２０５と関連付けされた不確実性がより小さくなる領域内（たとえば、値２０２、２０４、２０６、および２０８の周り）においてより小さい値を取る。目的関数を評価する次のポイントを、取得ユーティリティ関数２３３が最大値（すなわち、値２３２）を取るポイントとして選択し、目的関数の確率モデルを、選択したそのポイントにおける目的関数の評価に基づいて更新する。
【０１０１】
図２Ｃは、見積２１５および関連付けされた不確実性の測度に基づいて計算された更新後の取得ユーティリティ関数２３５を例証している。図２Ａおよび図２Ｂに示されている例と同様に、取得ユーティリティ関数２３５は、見積２１５と関連付けされた不確実性がより大きくなる領域内においてより大きな値を取る。目的関数を評価する次のポイントを、取得ユーティリティ関数２３５が最大値（すなわち、値２３４）を取るポイントとして選択する。
【０１０２】
図２Ｄは、見積２２０および関連付けされた不確実性の測度に基づいて計算された更新後の取得ユーティリティ関数２３７を例証している。この例においては、見積２２０と関連付けされた不確実性が最大になる領域内において取得ユーティリティ関数２３７がより大きな値を取らない。むしろ関数２３７は、目的関数が極小および／または最小（値２２５）を有しがちであることを目的関数の確率モデルが示すポイントの近くでより大きな値を取る。見積２２０と関連付けされた不確実性の領域は存在するが、目的関数の値が値２２５より小さいポイントのキャプチャに充分な大きさのものはない。到達目標が、この例においては、目的関数の最小値の識別であることから、これらの領域内で目的関数が値２２５より小さい値を取るポイントが見つかる見込みがないため、見積２２０と関連付けされた不確実性の領域の調査において追加する値は殆どない。むしろ取得ユーティリティ関数は、値２２５より一層低い値を目的関数が取るポイントが識別できるように、目的関数がもっとも小さい値を取りがちなポイント周りで目的関数を評価することがより有用となることを示している。
【０１０３】
いくつかの態様においては、取得ユーティリティ関数が、目的関数のモデリングに使用された確率モデルの１つまたは２つ以上のパラメータ（θによって示される）、目的関数が評価された以前のポイント（｛ｘｎ，１≦ｎ≦Ｎ｝によって示される）、およびそれらの評価の結果（｛ｙｎ，１≦ｎ≦Ｎ｝によって示される）に依存し得る。かかる取得関数およびそれの依存は、ａ（ｘ；｛ｘｎ，ｙｎ｝；θ）によって示すことができる。確率モデルの１つまたは２つ以上のパラメータに依存する取得ユーティリティ関数の１つの非限定的な例は、改善取得ユーティリティ関数の確率である。改善取得ユーティリティ関数の確率は、目的関数の評価がその目的関数の最良の現在の値にわたる改善を提供する確率を最大化するように、目的関数を評価する次のポイントを選択することをねらいとする（たとえば、機械学習システムのパフォーマンスを評価するハイパーパラメータ値の次の集合を、それらのハイパーパラメータ値を用いた機械学習システムのパフォーマンスの評価が、いずれかの以前に試したハイパーパラメータ値の場合より良好な機械学習システムのパフォーマンスにつながる確率を最大化するように選択する）。目的関数の確率モデルがガウス過程を含むとき、改善ユーティリティ関数の確率ａＰＩは、次式のとおりに表現できる：
【数１４】
0006483667.tif 000015
式中Φ（）は、標準正規ランダム変量の累積分布関数であり、μ（ｘ；｛ｘｎ，ｙｎ｝，θ）およびσ２（ｘ；｛ｘｎ，ｙｎ｝，θ）は、それぞれガウス過程の予測平均および予測分散を示す。
【０１０４】
確率モデルの１つまたは２つ以上のパラメータに依存する取得ユーティリティ関数の別の非限定的な例は、期待される改善取得ユーティリティ関数である。期待される改善取得ユーティリティ関数は、目的関数の最良の現在の値にわたって期待される改善を最大化するように、目的関数を評価する次のポイントを選択することをねらいとする。目的関数の確率モデルがガウス過程を含むとき、期待される改善取得ユーティリティ関数ａＥＩは、次式のとおりに表現できる：
【数１５】
0006483667.tif 000016
ここでＮ（）は、標準正規ランダム変量の確率密度関数である。
【０１０５】
確率モデルの１つまたは２つ以上のパラメータに依存する取得ユーティリティ関数の別の非限定的な例は、リグレット最小化取得関数（しばしば、「信頼下限」取得関数と呼ばれる）である。目的関数の確率モデルがガウス過程を含むとき、リグレット最小化取得関数は、次式に従って表現できる：
【数１６】
0006483667.tif 000017
ここでκは、局所的および全体的調査をバランスさせるための可調パラメータである。
【０１０６】
取得ユーティリティ関数の別の非限定的な例は、エントロピーサーチ取得ユーティリティ関数である。エントロピーサーチ取得ユーティリティ関数は、目的関数の最小値の位置に関する（または、等価的に、負の１を乗じた目的関数の最大値の位置に関する）不確実性が減少するように目的関数を評価する次のポイントを選択することをねらいとする。このために、目的関数を評価する次のポイントが、目的関数の最小値にわたる確率分布のエントロピーを減少させるポイントの反復評価によって選択される。エントロピーサーチ取得ユーティリティ関数は、次のとおりに表現できる。Ｃ個のポイントの集合
【数１７】
0006483667.tif 000018
が与えられるとき、最小の目的関数の値を有するポイント
【数１８】
0006483667.tif 000019
の確率は、次式に従って表現できる：
【数１９】
0006483667.tif 000020
ここで、ｆはポイント
【数２０】
0006483667.tif 000021
における目的関数値のベクトルであり、ｈ（）はヘビサイド関数であり、
【数２１】
0006483667.tif 000022
は、目的関数の過去の評価を前提としたベクトルｆにおける値の事後確率であり、ｐ（ｙ｜ｆ）は、目的関数が目的関数の確率モデルに従って値ｙを取る尤度である。エントロピーサーチ取得関数ａＫＬは、次のとおりに記述できる。
【数２２】
0006483667.tif 000023
ここで、
【数２３】
0006483667.tif 000024
は、空想の観測｛ｘ，ｙ｝が観測の集合に追加されたことを示し、ｐ（ｆ｜ｘ）は、
【数２４】
0006483667.tif 000025
を表現しており、Ｈ（Ｐ）は、Ｐのエントロピーを表現しており、Ｐｍｉｎは、
【数２５】
0006483667.tif 000026
を表現している。
【０１０７】
上記で述べた取得ユーティリティ関数の各例は、確率モデルのパラメータθに依存する。上記で論じたとおり、発明者らは、確率モデルのパラメータに依存する取得ユーティリティ関数の使用によって（たとえば、機械学習システムのためハイパーパラメータ値を識別するために）ベイズの最適化を実施することが、貧弱な包括的パフォーマンスにつながり得ると認識した。たとえば、ｄ次元のガウス過程（たとえば、ｄ次元の目的関数のモデリング、たとえばｄ個のハイパーパラメータ値からそれぞれの機械学習システムのパフォーマンスへのモデリングのために使用される）を含む確率モデルは、ｄ個の長さスケール、共分散振幅、観測ノイズ分散、および恒常平均を包含するｄ＋３個のパラメータと関連付けできる。実践においては、多様な手順を使用して確率モデルのパラメータθの値が設定されるが、包括的最適化のパフォーマンスは、パラメータがどのように設定されるかに敏感である。
【０１０８】
したがって、いくつかの態様においては、目的関数の確率モデルのパラメータに対してあまり敏感でなくできる積分後の取得ユーティリティ関数が使用される。
【０１０９】
いくつかの態様においては、積分後の取得ユーティリティ関数が、確率モデルのパラメータに依存する初期取得ユーティリティ関数を選択すること（たとえば、上記で述べたユーティリティ関数のいずれかを初期取得ユーティリティ関数として使用できる）、および初期取得ユーティリティ関数へのパラメータのうちの１つまたは２つ以上の影響の積分消去（周辺化）による積分後の取得ユーティリティ関数を計算することによって獲得できる。たとえば、積分後の取得ユーティリティ関数は、初期取得ユーティリティ関数のインスタンスの荷重平均（たとえば、荷重積分）として計算でき、初期取得ユーティリティ関数の各インスタンスは、確率モデルの特定のパラメータ値に対応し、各荷重は、以前に獲得した目的関数の評価を前提とした特定のパラメータ値の尤度に対応する。
【０１１０】
たとえば、積分後の取得ユーティリティ関数
【数２６】
0006483667.tif 000027
は、確率モデルのパラメータθに依存する初期取得ユーティリティ関数ａ（ｘ；｛ｘｎ，ｙｎ｝；θ）を選択すること、およびθの事後確率に準じたパラメータθの積分消去（平均）により次式に従って
【数２７】
0006483667.tif 000028
を計算することによって計算できる。
【数２８】
0006483667.tif 000029
ここで荷重
【数２９】
0006483667.tif 000030
は、ポイント｛ｘｎ；１≦ｎ≦Ｎ｝におけるＮ個の評価およびそれらの評価の結果｛ｙｎ；１≦ｎ≦Ｎ｝を前提とした確率モデルに従ったパラメータθの事後確率を表現している。
【０１１１】
積分後の取得ユーティリティ関数の計算を、さらに図３Ａおよび図３Ｂに例証する。図３Ａは、根本的な確率モデルのためのパラメータ値の３つの異なる集合について計算された初期取得ユーティリティ関数の３つのインスタンスを例証している。各インスタンスは、目的関数の評価の同一集合に基づいて計算された。図３Ｂは、図３Ａに示されている初期取得ユーティリティ関数の３つのインスタンスの荷重平均によって獲得された積分後の取得ユーティリティ関数を例証している。平均においては、初期取得関数の特定のインスタンスに対応する荷重が、初期取得関数の特定のインスタンスの生成に使用された確率モデルのパラメータ値の尤度に対応する。
【０１１２】
上記の考察から察知できるとおり、積分後の取得ユーティリティ関数は、確率モデルのパラメータθの値に依存しない（が、それでもなお目的関数の以前の評価に依存する）。結果として、積分後の取得ユーティリティ関数は、確率モデルのパラメータの値に敏感でなく、発明者らは、それが従来的なベイズの最適化テクニックの堅牢性およびパフォーマンスを改善することを観測した。
【０１１３】
いくつかの態様においては、積分後の取得ユーティリティ関数を閉形式で計算できる。しかしながら、積分後の取得ユーティリティ関数が閉形式で獲得できない態様においては、数値テクニックを使用して積分後の取得ユーティリティ関数を見積もることができる。たとえば、いくつかの態様においては、積分後の取得ユーティリティ関数の近似および／または積分後の取得ユーティリティ関数がそれの最大値に到達するポイント（または、そのポイントの近似）の見つけ出しにモンテカルロシミュレーションテクニックを使用できる。限定ではないが、棄却サンプリングテクニック、適応型棄却サンプリングテクニック、重点サンプリングテクニック、適応型重点サンプリングテクニック、マルコフ連鎖モンテカルロテクニック（たとえば、スライスサンプリング、ギブスサンプリング、メトロポリスサンプリング、ギブス内メトロポリスサンプリング、厳密サンプリング、焼き戻しシミュレーション、並列焼き戻し、焼きなましサンプリング、人口モンテカルロサンプリング等）、および逐次的モンテカルロテクニック（たとえば、粒子フィルタ）を包含する、いずれかのモンテカルロシミュレーションテクニックを採用できる。
【０１１４】
図４は、本明細書に記載されたテクノロジのいくつかの態様に従った、積分後の取得関数および目的関数の確率モデルを使用することによって目的関数を少なくとも部分的に使用する最適化を実施するための過程４００を例証するフローチャートである。言い換えると、過程４００は、本明細書に記載されたテクニックを使用する目的関数の極値ポイント（たとえば、極小、極大、最小、最大等）の識別に使用できる。過程４００は、本明細書に記載されたテクノロジの側面がこの点において限定されないことから、１つまたは複数のコンピュータハードウエアプロセッサを含むいずれかの好適な演算装置（単数または複数）を使用して実施できる。
【０１１５】
いくつかの態様においては、過程４００を、機械学習システムのハイパーパラメータの値を機械学習システムのパフォーマンスの測度を提供するそれぞれの値に関係させる目的関数の１つまたは２つ以上の極値ポイントの識別（たとえば、それらの位置決定または位置の近似）に適用できる。過程４００は、本明細書に記載された機械学習システムのいずれかおよび／またはそのほかのいずれかの好適な機械学習システムのハイパーパラメータの値の設定のために使用できる。それに加えて、またはそれに代えて、すでに例を提供した、そのほかのいずれかの好適な最適化問題において起こる目的関数の１つまたは２つ以上の極値ポイントの識別（たとえば、それらの位置決定または位置の近似）に過程４００を適用できる。
【０１１６】
過程４００は、作用４０２において開始し、そこで目的関数の確率モデルを初期化する。いくつかの態様においては、目的関数の確率モデルが、ガウス過程を包含できる。いくつかの態様においては、目的関数の確率モデルが、ニューラルネットワークを包含できる。いくつかの態様においては、目的関数の確率モデルが、適応型基底関数回帰モデル（線形または非線形）を包含できる。しかしながら、本明細書に記載されたテクノロジの側面がいずれかの特定のタイプの目的関数の確率モデルに限定されないことから、そのほかのいずれかの好適なタイプの目的関数の確率モデルを使用できることは察知されるものとする。
【０１１７】
目的関数の確率モデルは、確率モデルのパラメータのうちの１つまたは２つ以上（たとえば、すべて）のための値を設定することによって初期化できる。パラメータ（単数または複数）は、いずれかの好適な値に設定でき、いくつかの実例においてはそれが、その目的関数について利用可能な先立つ情報がある場合に、そのいずれかに基づくことができる。パラメータ値は、メモリ内またはそのほかのいずれかの好適なタイプの非一時的コンピュータ可読媒体上に記憶できる。いくつかの態様においては、パラメータの初期値を、その目的関数と何らかの方法で関係させられた別の目的関数の以前に獲得した評価から獲得された情報に少なくとも部分的に基づいて初期化できる。これについては、マルチタスク最適化テクニックに関してより詳細を後述する。
【０１１８】
次に過程４００は、作用４０４へ進み、目的関数を評価するポイントを識別する。たとえば、目的関数が、機械学習システムのハイパーパラメータの値をそれのパフォーマンスに関係させるとき、機械学習システムのパフォーマンスを評価するハイパーパラメータ値の集合を、作用４０４において識別できる。識別は、取得ユーティリティ関数および目的関数の確率モデルを使用することによって少なくとも部分的に実施できる。いくつかの態様においては、確率モデルのパラメータに依存する取得ユーティリティ関数、たとえば改善取得ユーティリティ関数の確率、期待される改善取得ユーティリティ関数、リグレット最小化取得ユーティリティ関数、およびエントロピーベースの取得ユーティリティ関数等を作用４０４において使用できる。しかしながら、ほかの態様においては、積分後の取得ユーティリティ関数を作用４０４において使用できる。
【０１１９】
上記で述べたとおり、積分後のユーティリティ関数は、確率モデルの１つまたは２つ以上のパラメータに依存する初期取得ユーティリティ関数（改善ユーティリティ関数の確率、期待される改善ユーティリティ関数、リグレット最小化ユーティリティ関数、およびエントロピーベースのユーティリティ関数等）を選択すること、およびその初期取得関数を確率モデルのパラメータのうちの１つまたは２つ以上に関して積分することによって積分後のユーティリティ関数を計算すること（たとえば、上記の式１０に示されるとおり）により獲得できる。
【０１２０】
いくつかの態様においては、目的関数を評価するポイントを、取得ユーティリティ関数がそれの最大値へ到達するポイントとして（または、そのポイントの近似として）識別できる。いくつかの態様においては、取得関数がそれの最大へ到達するポイントを厳密に（たとえば、取得ユーティリティ関数が閉形式で利用可能なとき）識別できる。しかしながら、いくつかの態様においては、取得ユーティリティ関数がそれの最大値を達成するポイントを厳密に識別し得ず（たとえば、取得ユーティリティ関数が閉形式で利用可能でないことから）、その場合には、数値テクニックを使用して取得ユーティリティ関数がそれの最大値へ到達するポイントを識別するか、または近似することができる。たとえば、いくつかの態様においては、積分後の取得ユーティリティ関数が閉形式で利用可能でないことがあり、積分後の取得ユーティリティ関数がそれの最大値へ到達するポイントの識別または近似にモンテカルロテクニックを採用できる。
【０１２１】
いくつかの態様においては、積分後の取得ユーティリティ関数がそれの最大値へ到達するポイントの識別または近似にマルコフ連鎖モンテカルロ法を使用できる。たとえば、積分後の取得ユーティリティ関数は、上記の式１０内の積分に従って定義でき、この積分はマルコフ連鎖モンテカルロテクニック（および／またはそのほかのいずれかの好適なモンテカルロ手順）を使用して近似できる。いくつかの態様においては、確率モデルのパラメータ値の標本の生成（いずれかの以前に獲得した目的関数の評価を前提とするそれらの事後確率に準ずる）、生成された標本における初期取得ユーティリティ関数の評価、および結果として生じる評価を使用した積分後の取得ユーティリティ関数の近似および／または積分後の取得ユーティリティ関数がそれの最大値へ到達するポイントの識別または近似によって積分を近似できる。積分後の取得ユーティリティ関数の最大値をどのように識別または近似するかについてのさらなる詳細は、以下に提供されている。
【０１２２】
当然のことながら、目的関数を評価するポイントは、取得ユーティリティ関数がそれの最大に到達するポイント（またはそのポイントの近似）であるとして限定されることはなく、取得ユーティリティ関数の使用によって獲得されるそのほかのいずれかの好適なポイント（たとえば、取得ユーティリティ関数の極大、取得ユーティリティ関数の極小または最大等）とすることができる。
【０１２３】
過程４００は、作用４０４において目的関数を評価するポイントを識別した後に作用４０６へ進み、識別したポイントにおいて目的関数を評価する。たとえば、目的関数が、機械学習システムのハイパーパラメータの値をそれのパフォーマンスに関係させるときには、作用４０４において識別されたハイパーパラメータを用いて構成される機械学習システムのパフォーマンスを作用４０６において評価できる。
【０１２４】
過程４００は、作用４０６において、作用４０８において識別したポイントで目的関数を評価した後に作用４０８へ進み、その評価の結果に基づいて目的関数の確率モデルを更新する。目的関数の確率モデルは、作用４０６において獲得された新しい評価の結果に基づいて、非常に多くの方法のいずれかにより更新できる。１つの非限定的な例として、目的関数の確率モデルの更新は、作用４０６において実施した評価の結果に基づく確率モデルの１つまたは２つ以上のパラメータの更新（たとえば、再見積）を包含できる。別の非限定的な例として、目的関数の確率モデルの更新は、確率モデルの共分散カーネルの更新を包含できる（たとえば、確率モデルがガウス過程を含むとき、新しい評価の結果に基づいてガウス過程の共分散カーネルを更新できる）。別の非限定的な例として、目的関数の確率モデルの更新は、確率モデルを使用する目的関数の更新後の見積の演算を包含できる（たとえば、いずれかの以前に獲得した目的関数の評価および作用４０６における目的関数の評価の結果に基づいて確率モデルの予測平均を計算する）。別の非限定的な例として、目的関数の確率モデルの更新は、目的関数の更新後の見積に関連付けされる不確実性の更新後の測度の計算を包含できる（たとえば、いずれかの以前に獲得した目的関数の評価および作用４０６における目的関数の評価の結果に基づいて確率モデルの予測共分散を計算する）。さらに別の非限定的な例として、確率モデルの更新は、その後に続いて目的関数の確率モデルを使用する演算（たとえば目的関数の見積の計算、確率モデルの１つまたは２つ以上のパラメータの更新等）を実施するときに評価の結果が使用できるように、評価の結果を単純に記憶することを包含できる。
【０１２５】
過程４００は、作用４０８において目的関数の確率モデルを更新した後に決定ブロック４１０へ進み、別のポイントにおいて目的関数を評価するべきであるか否かを判断する。この判断は、いずれかの好適な方法で行なうことができる。１つの非限定的な例として、過程４００は、閾値数を超えない目的関数の評価の実施を伴うことができ、その数の評価が実施されたとき、目的関数は（たとえば、かかる評価を実施する時間および／または演算コストに起因して）再び評価されるべきでないと判断できる。他方、実施された評価が閾値数より少ないときは、目的関数は再び評価されるべきであると判断できる。別の非限定的な例として、目的関数が再び評価されるべきであるか否かの判断を、１つまたは２つ以上の以前に獲得したその目的関数の値に基づいて行なうことができる。たとえば、最適化が、目的関数の極値（たとえば、最大）ポイントを見つけ出すことを伴い、かつ目的関数の値が以前の反復より閾値（たとえば、以前に実施された評価の閾値数）を超えて増加しない場合には、その目的関数を再び評価しないとの判断を行なうことができる（たとえば、目的関数のさらなる評価が、目的関数がすでに評価されたポイントにおける値より大きい値を目的関数が取るポイントを識別することがありがちでないため）。しかしながら、本明細書に記載されたテクノロジの側面がこの点において限定されないことから、目的関数を再び評価するか否かの判断は、そのほかのいずれかの好適な方法で行なうことができる。
【０１２６】
決定ブロック４１０において、目的関数を再び評価するべきであると判断すると、過程４００は、ＹＥＳ分岐を介して作用４０４へ戻り、作用４０４−４０８を繰り返す。他方、決定ブロック４０８において、目的関数を再び評価するべきでないと判断すると、過程４００は、作用４１２へ進み、そこで過程４００中に獲得された目的関数の１つまたは２つ以上の値に基づいて目的関数の極値を識別できる。
【０１２７】
作用４１２においては、目的関数の獲得済みの値（単数または複数）に基づいて、目的関数の極値を、いずれかの好適な方法で識別できる。１つの非限定的な例として、極値（たとえば、最大）を、評価中に獲得された値のうちの１つであるとする選択が（たとえば、過程４００中に獲得された目的関数の値の最大を取ることによって）できる。別の非限定的な例として、極値（たとえば、最大）を、過程４００中に獲得された目的関数の値に当て嵌められる関数形式（たとえば、目的関数のカーネル密度見積、確率モデルに基づいて獲得される目的関数の見積の最大等）を使用して獲得できる。過程４００は、作用４１２において目的関数の極値が識別された後に完了する。
【０１２８】
上記で論じたとおり、いくつかの態様においては、積分後の取得ユーティリティ関数がそれの最大値へ到達するポイントの識別および／または近似にモンテカルロ法を使用できる。かかる計算をどのように実施できるかの１つの非限定的な例を下に詳説する。
【０１２９】
目的関数をｆ（ｘ）で示し、目的関数を計算し得るポイントの集合を集合Ｘで示す。目的関数がＮ回評価され、入力
【数３０】
0006483667.tif 000031
が得られたものとし、各ｘｎは、目的関数が評価されたポイントを表現し、ｙｎは、目的関数の対応する値（すなわち、ｙｎ＝ｆ（ｘｎ））を表現する。目的関数の確率モデルはｐ（）で示す。
【０１３０】
積分後の取得ユーティリティ関数は、次式に従って与えることができる。
【数３１】
0006483667.tif 000032
ここで
【数３２】
0006483667.tif 000033
は、
【数３３】
0006483667.tif 000034
および確率モデルのパラメータθを前提とする目的関数の確率モデルから獲得される限界予測密度であり、
【数３４】
0006483667.tif 000035
は、
【数３５】
0006483667.tif 000036
を前提とするときの確率モデルの尤度であり、ψ（ｙ，ｙ＊）は、選択のヒューリスティクスに対応する。たとえば、改善の確率および期待される改善のヒューリスティクスは、それぞれ次式に従って表現できる。
【数３６】
0006483667.tif 000037
【０１３１】
上記で論じたとおり、いくつかの態様においては、式１２の積分後の取得ユーティリティ関数を閉形式で獲得できないことがある（たとえば、閉形式におけるパラメータθに関する積分の計算が可能でないことがある）。したがって、式１２の積分後の取得ユーティリティ関数を次の数値手順によって近似できる。
【０１３２】
当初は、各１≦ｊ≦Ｊについて、次式に従って標本θ（ｊ）を引き出す：
【数３７】
0006483667.tif 000038
ここで、ベイズの規則により、
【数３８】
0006483667.tif 000039
【０１３３】
式１６に従った標本の引き出しにはいずれかの好適なモンテカルロテクニックを使用でき、それには、限定ではないが、反転サンプリング、重点サンプリング、棄却サンプリング、およびマルコフ連鎖モンテカルロテクニック（その例は提供済みである）が含まれる。
【０１３４】
式１６に従って引き出されたＮ個の標本｛θ（ｊ）；１≦ｊ≦Ｊ｝を前提とすると、次式に従って積分後の取得ユーティリティ関数を近似できる：
【数３９】
0006483667.tif 000040
【０１３５】
式１８を介して演算された積分後の取得ユーティリティ関数の近似は、積分後の取得ユーティリティ関数がそれの最大値へ到達するポイントとなる（またはそれを近似する）ポイントの識別に使用できる。目的関数は、識別されたポイントにおいて評価できる。
【０１３６】
上記で論じたとおり、発明者らは、従来的なベイズの最適化テクニックが、いくつかのタイプの目的関数の正確なモデリングに好適でない確率モデルを利用していることを認識した。たとえば、従来的なベイズの最適化テクニックは、目的関数のモデリングのために定常ガウス過程を利用するが（たとえば、２つの出力間の共分散は、入力空間内における転換不変量である）、定常ガウス過程は、非定常目的関数のモデリングのためには好適でないことがある。たとえば、目的関数が、機械学習システムのハイパーパラメータの値をそれのパフォーマンスに関係させるとき、それの最大値に近いポイントにおける目的関数のモデリングのためには短尺スケールを有するガウス過程がより適切なことがあり、それの最大値から遠く離れたポイントにおける目的関数のモデリングのためには長尺スケールを有するガウス過程がより適切なことがある（たとえば、機械学習システムのパフォーマンスがハイパーパラメータのすべての「不良」値について等しく貧弱となり得るが、そのパフォーマンスは、「良好な」ハイパーパラメータ領域内の小さい調整に対して敏感となり得ることから）。対照的に、定常ガウス過程モデルは、目的関数が定義されるすべてのポイントについて同一長のスケールを使用する目的関数を表現する。
【０１３７】
したがって、いくつかの態様は、より忠実に定常および非定常目的関数をモデリングするために適応された確率モデルの使用によるベイズの最適化の実施に関する。いくつかの態様においては、目的関数の非定常性を説明するために、目的関数の確率モデルを、目的関数の定義域内の要素の非線形の１対１マッピング（しばしば「ワーピング」とよばれる）に少なくとも部分的に基づいて指定できる。たとえば、目的関数が、機械学習システムのハイパーパラメータの値をそれのパフォーマンスに関係させる態様においては、目的関数の非定常性を説明するために、ハイパーパラメータ値の非線形ワーピングに少なくとも部分的に基づいて確率モデルを指定できる。
【０１３８】
いくつかの態様においては目的関数内の非線形性を説明する目的関数の確率モデルが、非線形の１対１マッピングと定常確率モデルの合成として指定できる。たとえば、目的関数内の非線形性を説明する目的関数の確率モデルが、非線形の１対１マッピングと定常ガウス過程の成分として指定できる。ガウス過程の共分散カーネルは、非線形の１対１マッピングを使用することによって少なくとも部分的に指定できる。
【０１３９】
いくつかの態様においては、目的関数の確率モデルが非線形の１対１マッピングと定常確率モデルの合成として指定できる場合には、その合成を次のとおりに表現できる。１つまたは２つ以上のパラメータφによってパラメータ化される非線形の１対１マッピングをｇ（ｘ；φ）で示し、パラメータθによってパラメータ化される定常確率モデル（たとえば、定常ガウス過程）をｐ（ｚ；θ）で示す（ポイントｘおよびポイントｚは、非線形の１対１マッピングｇ（ｘ；φ）の選択に応じて同一定義域内または異なる定義域内にあるとすることができる）。その場合に非線形の１対１マッピングと定常確率モデルの合成は、ｐ（ｚ＝ｇ（ｘ；φ）；θ）または略してｐ（ｇ（ｘ；φ）；θ）によって与えられる確率モデルの獲得に使用できる。定常ガウス過程等の定常確率モデルの入力ｚへの非線形マッピングｇ（ｘ；φ）の使用は、結果として生じる確率モデルが目的関数内の非定常効果を説明することを可能にする。
【０１４０】
いくつかの態様においては、目的関数を第１の定義域から値域への要素のマッピングとすること、および非線形の１対１マッピングｇ（ｘ；φ）：Ｘ→Ｚを、第１の定義域（たとえば、Ｘ内のポイントｘ）内の要素の第２の定義域（たとえば、Ｚ内のポイントｚ＝ｇ（ｘ；φ））内の要素へのマッピングとすることができる。たとえば、目的関数が機械学習システムのハイパーパラメータの値をそれのパフォーマンスに関係させるとき、第１の定義域は、ハイパーパラメータの値またはハイパーパラメータの好適な正規化済みの値（たとえば、単位ハイパーキューブ、単位ボール、指定直径のハイパーキューブ、指定直径のボール等の中に位置するために正規化されたハイパーパラメータの値）を包含でき、値域は、機械学習システムのパフォーマンスを示す値を包含でき、第２の定義域は、第１の定義域内のハイパーパラメータ値への非線形の１対１マッピングの適用によって獲得される値を包含できる。言い換えると、第２の定義域は、非線形の１対１マッピングの値域である。第１の定義域を第２の定義域と同一の定義域とすること（たとえば、第１の定義域を単位ハイパーキューブとし、第２の定義域を単位ハイパーキューブとすることができる；上記の正規化を使用してＸ＝Ｚ）ができるが、いくつかの態様においては、第１および第２の定義域が異なり得ることから（たとえば、上記の正規化を使用してＸ≠Ｚ）、本明細書に記載されたテクノロジの側面がこの点において限定されることはない。
【０１４１】
いくつかの態様においては、非線形の１対１マッピングが、ランダム変量の累積分布関数を包含できる。いくつかの態様においては、非線形の１対１マッピングが、ベータランダム変量の累積分布関数を包含できる。たとえば、目的関数が定義されるｄ次元空間（たとえば、ｄ個のハイパーパラメータを有する機械学習システムのハイパーパラメータ値の空間）内のポイントの非線形の１対１マッピングを次式のとおりに座標毎で指定できる：
【数４０】
0006483667.tif 000041
ここで、ｘｄはｄ番目の座標におけるｘの値であり、ＢｅｔａＣＤＦはベータランダム変量の累積分布関数（ＣＤＦ）であり、Ｂ（αｄ，βｄ）はベータＣＤＦの正規化定数である。ベータＣＤＦは、正の値（「形状」）パラメータαｄおよびβｄによってパラメータ化される。当然のことながら、非線形の１対１マッピングがベータランダム変量の累積分布関数を含むことに限定されることはなく、それに代えて、クマーラスワーミーランダム変量、ガンマランダム変量、ポアソンランダム変量、二項式ランダム変量、ガウスランダム変量、またはそのほかのいずれかの好適なランダム変量の累積分布関数を包含できる。これもまた当然のことながら、非線形の１対１マッピングが累積分布関数に限定されることはなく、たとえば、いずれかの好適な単調増加または単調減少関数、いずれかの好適な全単射関数（たとえば、整数ｄ≧１についての値域および定義域としてｄ次元のハイパーキューブを有するいずれかの好適な全単射関数）とすることができる。
【０１４２】
いくつかの態様においては、非線形の１対１マッピングが、２つまたは３つ以上の非線形の１対１マッピングの組合せ（たとえば、合成またはそのほかのいずれかの好適なタイプの組合せ）を包含できる。たとえば、非線形の１対１マッピングは、２つまたは３つ以上の累積分布関数の組合せを包含できる。１つの非限定的な例として、非線形の１対１マッピングは、ベータ分布の累積分布関数とクマーラスワーミー分布の累積分布関数の組合せを包含できる。
【０１４３】
非線形の１対１マッピングが非定常目的関数をどのようにワーピングするかの例証的な非限定的な例を図５Ａ〜図５Ｆに示す。１つの例として、図５Ａに示されている非定常１次元周期目的関数は、図５Ｂに示されている非線形全単射ワーピングの適用によって図５Ｃに示されている定常周期目的関数を獲得するために変換できる。別の例として、図５Ｄに示されている非定常１次元指数目的関数は、図５Ｅに示されている非線形全単射ワーピングの適用によって図５Ｆに示されている定常周期目的関数を獲得するために変換できる。当然のことながら、これら２つの例は例証かつ非限定的であり、本明細書に記載されたテクニックを適用できる目的関数は、図５Ａ〜図５Ｆに示されている２つの例証的な１次元目的関数はもとより、１次元目的関数にも限定されない。
【０１４４】
発明者らは、目的関数の確率モデルの指定に使用できる多くの異なる非線形ワーピングが存在することを認識した。目的関数の非定常性（ある場合）の性質を前もって知ることができないため、確率モデルの指定に使用する適切な非線形ワーピングを選択するためのテクニックが必要になる。したがって、いくつかの態様においては、非線形ワーピングを、目的関数の１つまたは２つ以上の評価（たとえば、非線形ワーピングの決定に使用できるすべての評価の結果を前提とした非線形ワーピングのパラメータの最大事後見積）に少なくとも部分的に基づいて推論すること、およびその非線形ワーピングの使用によって目的関数の確率モデルを指定することができる。
【０１４５】
いくつかの態様においては、目的関数の確率モデルを、非線形ワーピングの系統、すなわち１つまたは複数のパラメータによってパラメータ化されるワーピングの系統の関数として指定でき、それらのパラメータ（単数または複数）は、目的関数の１つまたは２つ以上の評価に基づいて推論できる。たとえば、目的関数の確率モデルを、２つの正の形状パラメータαおよびβによってパラメータ化されるベータランダム変量の累積分布関数の系統を使用して指定できる。形状パラメータαおよびβのそれぞれは、事前に（すなわち、目的関数のいずれかの評価が実施される前に）対数正規分布に従って（たとえば、互いに独立に）分布すると仮定できる。たとえば、いくつかの態様においては、非線形ワーピング（たとえば、目的関数が定義される空間内のポイントのｄ番目の座標のワーピングのため）の形状パラメータαｄおよびβｄは、次式に従って分布すると仮定できる：
【数４１】
0006483667.tif 000042
【０１４６】
したがって、いくつかの態様においては、目的関数の確率モデルを、非線形ワーピングの系統（たとえば、先立つ、ベータランダム変量等のランダム変量の累積分布関数のパラメータに関する分布を配置することによって指定される非線形ワーピングの系統）の使用によって指定できる。かかる確率モデルは、すでに例を提供したが、機械学習システムのハイパーパラメータの値をその機械学習システムのパフォーマンスの測度を提供するそれぞれの値に関係させる目的関数および／またはそのほかのいずれかの好適な最適化問題において起こるいずれかの目的関数の１つまたは２つ以上の極値ポイントの識別（たとえば、それを位置決定またはその位置の近似）に使用できる。これは、いずれかの好適な方法で行なうことができ、またいくつかの態様においては、非線形ワーピングの系統のパラメータを、上記の過程４００に関連して説明したとおり、それらのパラメータを積分消去するべき確率モデルのパラメータとして扱うことによって積分消去（平均）することにより行なうことができる。
【０１４７】
したがって、いくつかの態様においては、非線形の１対１マッピングに依存する目的関数の確率モデルを使用することによって目的関数を少なくとも部分的に使用する最適化を、非線形マッピングへの確率モデルの依存を説明するために適切な修正（たとえば、過程４００のステップ４０４）を伴う過程４００に従って実施できる。特に、非線形ワーピングの系統のパラメータ（たとえば、ベータＣＤＦのスケールパラメータαおよびβ）を確率モデルのパラメータとして扱い、目的関数を評価するポイントの識別に使用される積分後の取得ユーティリティ関数を、少なくともこれらの確率モデルのパラメータの積分消去によって獲得できる。より一般的には、確率モデルがパラメータθおよびφの２つの集合を包含でき、パラメータφは、非線形ワーピングの系統のパラメータであり、θは、確率モデルのそのほかのすべてのパラメータであり、積分後の取得ユーティリティ関数は、θ、φ、またはθおよびφに関して初期取得ユーティリティ関数を積分することによって獲得される。
【０１４８】
過程４００に関連して論じたとおり、いくつかの態様においては、積分後の取得ユーティリティ関数がそれの最大値へ到達するポイントの識別および／または近似に数値テクニックを使用できる。数値テクニック（たとえば、棄却サンプリング、重点サンプリング、マルコフ連鎖モンテカルロ等）もまた、確率モデルが非線形の１対１マッピングのパラメータに依存するとき、この目的のために必要になることがある。モンテカルロテクニックを、積分後の取得ユーティリティ関数がそれの最大値へ到達するポイントの識別および／または近似にどのように使用できるかについての、確率モデルが非線形マッピングに依存するときの１つの非限定的な例を次に説明する。
【０１４９】
目的関数をｆ（ｘ）で示し、目的関数を計算し得るポイントの集合を集合Ｘで示す。目的関数がＮ回評価され、入力｛ｇ（ｘｎ；φ）ｙｎ；１≦ｎ≦Ｎ｝が得られたものとし、各ｘｎは、目的関数が評価されたポイントを表現し、ｇ（ｘｎ；φ）は、パラメータφを有する、非線形全単射ワーピング関数ｇを、ポイントｘｎに適用した結果を表現し、ｙｎは、目的関数の対応する値（すなわち、ｙｎ＝ｆ（ｘｎ））を表現する。ｐ（）は、非線形の１対１マッピングｇ、パラメータθを有する確率モデル（非線形の１対１マッピングのいずれのパラメータも含まない確率モデルの１つまたは２つ以上のパラメータ）およびφ（非線形の１対１マッピングの１つまたは２つ以上のパラメータ）に依存する目的関数の確率モデルを示すものとする。ここでは、パラメータθおよびφが独立であると仮定する。積分後の取得ユーティリティ関数は、次の数値手順によって近似できる。
【０１５０】
最初に、各１≦ｊ≦Ｊについて、次式に従って標本（θ（ｊ），φ（ｊ））を引き出す：
（θ（ｊ），φ（ｊ））〜ｐ（θ，φ｜｛ｇ（ｘｎ；φ），ｙｎ；１≦ｎ≦Ｎ｝）  （２１）
【０１５１】
式２１に従った標本の引き出しにはいずれかの好適なモンテカルロテクニックを使用でき、それには、限定ではないが、反転サンプリング、重点サンプリング、棄却サンプリング、およびマルコフ連鎖モンテカルロテクニック（その例は提供済みである）が含まれる。
【０１５２】
積分後の取得ユーティリティ関数は、式２１に従って引き出されたＮ個の標本｛（θ（ｊ），φ（ｊ））；１≦ｊ≦Ｊ｝を前提として、次式に従って近似できる：
【数４２】
0006483667.tif 000043
【０１５３】
式２２を介して演算された積分後の取得ユーティリティ関数の近似は、積分後の取得ユーティリティ関数がそれの最大値へ到達するポイントとなる（またはそれを近似する）ポイントｘ＊の識別に使用できる。これは、いずれかの好適な方法で行なうことができる。たとえば、いくつかの態様においては、積分後の取得関数を、ポイントのグリッド上において、式２２に従って近似でき、目的関数が最大値を達成するグリッド上のポイントを、ポイントｘ＊として取ることができる。それに代えて、グリッド上の１つまたは２つ以上のポイント周りで局所的調査（たとえば、ワーピング関数のグラジエントに基づく）を実施してポイントｘ＊を識別できる。ポイントｘ＊の識別の後、ｘ＊において目的関数を評価できる。
【０１５４】
上記で論じたとおり、従来的なベイズの最適化テクニックは、目的関数の以前のすべての評価の結果に基づいて目的関数を評価する次のポイントを選ぶ（たとえば、機械学習システムのパフォーマンスを評価するべきハイパーパラメータ値の次の集合を識別する）ことを要求する。目的関数の各評価は、目的関数を評価する次のポイントが識別される前に完了されなければならない。したがって、従来的なベイズの最適化方法の使用時は、目的関数のすべての評価が逐次的に（すなわち、一度に１つ）実施されなければならない。
【０１５５】
対照的に、本明細書に記載されたテクノロジを使用し、目的関数の複数の評価を並列に実施できるようにベイズの最適化テクニックを並列化でき、これは、目的関数の各評価が演算的にコスト高となるとき、場合によってはトレーニングに長時間（たとえば、数日）を要する機械学習システムのためハイパーパラメータ値を識別するときに有用となり得る。目的関数の並列評価は、異なるコンピュータハードウエアプロセッサの使用によって実施できる。たとえば、目的関数の並列評価は、同一基板上に集積された異なるコンピュータハードウエアプロセッサ（たとえば、異なるプロセッサコア）または同一基板上に集積されていない異なるコンピュータハードウエアコンピュータプロセッサ（たとえば、異なるコンピュータ、異なるサーバ等）を使用して実施できる。
【０１５６】
発明者らは、単純な、すべてが以前に完了済みの評価の結果に基づいて選ばれる異なるポイントにおける目的関数の同時評価による従来的なベイズの最適化の並列化は、この方法において目的関数を評価するポイントの選択が目的関数の未決の評価についてのいずれの情報も斟酌しないことから、非効率であると認識した。したがって、いくつかの態様においては、目的関数を評価する次のポイントが、目的関数の１つまたは２つ以上の未決の評価および目的関数の１つまたは２つ以上の以前に完了済みの評価についての情報に基づいて実施される。たとえば、目的関数を評価する次のポイントを、以前に開始された１つまたは２つ以上の目的関数の評価の完了に先立って選択できるが、その選択は、未決の評価（たとえば、評価が実施中の特定のポイント）についての何らかの情報が、目的関数を評価する次のポイントを選択するときに斟酌されるように、目的関数の未決の評価の潜在的アウトカムのそれぞれの尤度に基づいて行なうことができる。
【０１５７】
いくつかの態様においては、目的関数の１つまたは２つ以上未決の評価に基づく目的関数を評価する次のポイントの選択が、目的関数の未決の評価の潜在的アウトカムの尤度に依存する取得ユーティリティ関数を使用して実施でき、当該尤度は、目的関数の確率モデルに従って判断される。いくつかの態様においては、目的関数を評価する次のポイントの選択が、複数のポイントにおける目的関数の潜在的な値に関して初期取得ユーティリティ関数の期待される値を計算することによって少なくとも部分的に獲得される取得ユーティリティ関数を使用することを含む。初期取得ユーティリティ関数は、改善ユーティリティ関数、期待される改善ユーティリティ関数、リグレット最小化ユーティリティ関数の確率、エントロピーベースのユーティリティ関数、積分後の取得ユーティリティ関数、および／またはそのほかのいずれかの好適な取得ユーティリティ関数とすることができる。
【０１５８】
図６は、本明細書に記載されたテクノロジのいくつかの態様に従った、複数のコンピュータハードウエアプロセッサを使用することによって目的関数を少なくとも部分的に使用する最適化を実施するための過程６００を例証するフローチャートである。過程６００は、本明細書に記載されたテクニックを使用する目的関数の極値ポイント（たとえば、極小、極大、最小、最大等）の識別に使用できる。過程６００は、いずれかの好適なタイプの異なるコンピュータハードウエアプロセッサを使用して実施できる。たとえば、過程６００の少なくともいくつか（たとえば、全部）は、同一基板上に集積された異なるコンピュータハードウエアプロセッサ（たとえば、異なるプロセッサコア）または同一基板上に集積されていない異なるコンピュータハードウエアコンピュータプロセッサを使用して実施できる。
【０１５９】
いくつかの態様においては、過程６００を、機械学習システムのハイパーパラメータの値を機械学習システムのパフォーマンスの測度を提供するそれぞれの値に関係させる目的関数の１つまたは２つ以上の極値ポイントの識別（たとえば、それらの位置決定または位置の近似）に適用できる。過程６００は、本明細書に記載された機械学習システムのいずれかおよび／またはそのほかのいずれかの好適な機械学習システムのいずれかのハイパーパラメータの値の設定のために使用できる。それに加えて、またはそれに代えて、すでに例を提供した、そのほかのいずれかの好適な最適化問題において起こる目的関数の１つまたは２つ以上の極値ポイントの識別（たとえば、それらの位置決定または位置の近似）に過程６００を適用できる。
【０１６０】
過程６００は、作用６０２において開始し、そこで目的関数の確率モデルを初期化する。これは、いずれかの好適な方法で行なうことができ、またたとえば、過程４００の作用４０２に関連して説明した方法のいずれかにおいて行なうことができる。
【０１６１】
次に過程６００は、決定ブロック６０４へ進み、目的関数の未決の評価（すなわち、完了が未決の目的関数の評価）があるか否かを判断する。未決の評価は、評価を実施するためのポイントが識別済み（たとえば、機械学習システムのパフォーマンスを評価するハイパーパラメータ値の集合が識別済み）であるが、それらの識別済みのポイントにおける目的関数の評価を開始していない（したがって、完了していない）ポイントの評価とすることができる。未決の評価は、開始したが完了していない目的関数のいずれかの評価とすることができる。目的関数のいずれかの未決の評価があるか否かの判断は、本明細書に記載されたテクノロジの側面がかかる判断をどのように実施できるかに限定されないことから、いずれかの好適な方法で実施できる。
【０１６２】
決定ブロック６０４において目的関数の未決の評価がないと判断されるとき、過程６００が作用６０５へ進み、目的関数を評価するポイントを、目的関数の確率モデルおよび取得ユーティリティ関数を使用して識別する。これは、いずれかの好適な方法で行なうことができ、またたとえば、過程４００の作用４０４に関連した方法のいずれかにおいて行なうことができる。作用６０５においては、たとえば本明細書に記載された取得ユーティリティ関数のいずれかを含めて、いずれかの好適な取得ユーティリティ関数を使用できる。
【０１６３】
他方、決定ブロック６０４において、目的関数の１つまたは２つ以上の未決の評価が存在すると判断したときは、過程６００が作用６０６へ進み、未決の評価（単数または複数）についての情報を獲得する。未決の評価（単数または複数）についての情報は、未決の評価（単数または複数）を実施している（または、実施する）ポイント（単数または複数）（たとえば、ハイパーパラメータ値の集合）を識別する情報を包含することができる。未決の評価（単数または複数）についての情報は、未決の評価（単数または複数）の潜在的アウトカムの尤度についての情報もまた包含することができる。未決の評価（単数または複数）の潜在的アウトカムの尤度についての情報は、目的関数の確率モデルに少なくとも部分的に基づいて獲得できる。
【０１６４】
次に過程６００は、作用６０８へ進み、作用６０８において獲得した未決の評価についての情報に少なくとも部分的に基づいて、目的関数を評価する１つまたは２つ以上の新しいポイントを識別する。作用６０８においては、目的関数を評価するいずれかの好適な数のポイントを識別できる。たとえば、目的関数のＭ個（Ｍは、１以上の整数である）の未決の評価が存在するとき、目的関数を評価するＭ個のポイントを作用６０８において識別できる。しかしながら、いくつかの態様においては、Ｍ個より少ないポイントを作用６０８において識別できる。いくつかの態様においては、Ｍ個より多いポイントを作用６０８において識別できる。
【０１６５】
いくつかの態様においては、目的関数を評価するポイント（単数または複数）を、未決の評価を実施している（または、実施する）ポイント（単数または複数）を識別する情報に、少なくとも部分的に基づいて識別する。いくつかの態様においては、目的関数を評価するポイント（単数または複数）を、さらに、目的関数の評価の潜在的なアウトカムの尤度に基づいて識別するが、当該尤度は、目的関数の確率モデルに少なくとも部分的に基づいて判断される。
【０１６６】
たとえば、いくつかの態様においては、未決の評価および確率モデルについての情報に依存する取得ユーティリティ関数を使用して目的関数を評価するポイント（単数または複数）を識別できる。取得ユーティリティ関数は、未決の評価を実施している（または、実施する）ポイントおよび目的関数の確率モデルに従った（たとえば、目的関数の確率モデルによって誘導された予測分布に従った）それらのアウトカムのそれぞれの尤度に依存し得る。
【０１６７】
たとえば、作用６０８の一部として評価するポイント（単数または複数）の識別に、次の取得ユーティリティ関数ｈ（ｘ）を使用できる：
【数４３】
0006483667.tif 000044
ここで、集合｛ｘｎ，ｙｎ；１≦ｎ≦Ｎ｝は、Ｎ個の以前に完了済みの評価に対応し（目的関数が評価されたポイントおよび評価の結果の両方を以前に完了済みの評価のために利用できる）、集合｛ｘｍ；１≦ｍ≦Ｍ｝は、Ｍ個の未決の評価に対応し（目的関数が評価しているか、または評価するポイントを未決の評価のために利用できる）、ｐ（）は、目的関数の確率モデルであり、ψ（ｙ，ｙ＊）は、選択ヒューリスティクス（たとえば、式１４および１５に関連して上記で述べたとおり）に対応する。したがって、式２３の取得ユーティリティ関数は、複数のポイント｛ｘｍ；１≦ｍ≦Ｍ｝における目的関数の潜在的な値に関する初期取得ユーティリティ関数（選択ヒューリスティクスψ（ｙ，ｙ＊）を介して指定される）の期待される値として計算される。
【０１６８】
いくつかの態様においては、目的関数を評価する複数のポイントを作用６０８において識別するとき、それらのポイントを一度に１つ識別し、かつ各ポイントの識別後に取得ユーティリティ関数（たとえば、式２３に示されている取得ユーティリティ関数）を更新することができる。たとえば、作用６０８において第１のポイントを選択した後、第１のポイントを識別する情報に依存する取得ユーティリティ関数を使用して第２のポイントを選択できる。
【０１６９】
いくつかの態様においては、目的関数を評価する新しいポイントを、取得ユーティリティ関数がそれの最大値へ到達するポイントとして（または、そのポイントの近似として）作用６０８において識別できる。いくつかの態様においては、取得関数がそれの最大へ到達するポイントを厳密に（たとえば、取得ユーティリティ関数が閉形式で利用可能なとき）識別できる。しかしながら、いくつかの態様においては、取得ユーティリティ関数がそれの最大値を達成するポイントを厳密に識別し得ず（たとえば、取得ユーティリティ関数が閉形式で利用可能でないことから）、その場合には、数値テクニックを使用して取得ユーティリティ関数がそれの最大値へ到達するポイントを識別するか、または近似することができる。
【０１７０】
たとえば、いくつかの態様においては、式２３の取得ユーティリティ関数を、次式に従ってモンテカルロ見積を介して近似できる：
【数４４】
0006483667.tif 000045
ここで、ｙｍ（ｊ）は、次式によって誘導されるＭ次元の予測分布からの標本である。
【数４５】
0006483667.tif 000046
確率モデルがガウス過程を含むとき、予測分布はガウス性であり、適切なパラメータを用いてガウス分布からシミュレーションすることによってｙｍ（ｊ）を生成できる。そのほかの確率モデルについては、そのほかの、限定ではないが、棄却サンプリング、重点サンプリング、マルコフ連鎖モンテカルロ等のモンテカルロテクニックを包含する数値テクニックを使用できる。
【０１７１】
当然のことながら、目的関数を評価するポイントは、取得ユーティリティ関数がそれの最大に到達するポイント（またはそのポイントの近似）であるとして限定されることはなく、取得ユーティリティ関数の使用によって獲得されるそのほかのいずれかの好適なポイント（たとえば、取得ユーティリティ関数の極大、取得ユーティリティ関数の極小または最小等）とすることができる。
【０１７２】
過程６００は、作用６０８において目的関数を評価する１つまたは２つ以上のポイント（単数または複数）を識別した後に作用６１０へ進み、識別したポイント（単数または複数）において目的関数の評価を開始する。これは、いずれかの好適な方法で行なうことができる。たとえば、いくつかの態様においては、作用６０８において複数のポイントを識別したとき、識別済みポイントにおける目的関数の評価を、異なるコンピュータハードウエアプロセッサを使用して目的関数が評価されるように開始できる（たとえば、作用６０８において、第１および第２のポイントを識別したとき、第１のポイントにおいては第１のコンピュータハードウエアプロセッサを使用し、第２のポイントにおいては第１のコンピュータハードウエアプロセッサとは異なる第２のコンピュータハードウエアプロセッサを使用して目的関数が評価されるように第１および第２のポイントの評価を開始できる）。
【０１７３】
次に過程６００は、決定ブロック６１２へ進み、いずれかのポイントにおける目的関数の評価が完了したか否かを判断する。この判断は、いずれかの好適な方法で行なうことができる。いずれのポイントにおける目的関数の評価も完了していないと判断したときは、過程６００は、少なくとも１つのポイントにおける評価が完了するまで待機する。他方、１つまたは２つ以上のポイントにおいて目的関数の評価が完了していると判断したときには、過程６００が作用６１４へ進み、完了した評価の結果に基づいて目的関数の確率モデルを更新する。確率モデルは、いずれかの好適な方法で更新でき、またたとえば、過程４００の作用４０８に関連して説明した方法のいずれかにおいて更新できる。
【０１７４】
過程６００は、作用６１４において目的関数の確率モデルを更新した後に決定ブロック６１６へ進み、別のポイントにおいて目的関数を評価するべきであるか否かを判断する。この判断は、いずれかの好適な方法で行なうことができ、またたとえば、過程４００の決定ブロック４１０に関連して説明した方法のいずれかにおいて行なうことができる。
【０１７５】
決定ブロック６１６において、目的関数を再び評価するべきであると判断すると、過程６００は、ＹＥＳ分岐を介して決定ブロック６０４へ戻り、作用／決定ブロック６０４−６１２を繰り返す。他方、決定ブロック６１６において、目的関数を再び評価するべきでないと判断すると、過程６００は、作用６１８へ進み、そこで過程６００中に獲得された目的関数の１つまたは２つ以上の値に基づいて目的関数の極値を識別できる。
【０１７６】
作用６１８においては、目的関数の獲得済みの値（単数または複数）に基づいて、いずれかの好適な方法で目的関数の極値を識別でき、またたとえば、過程４００の作用４１２に関連して説明した方法のいずれかにおいて識別できる。過程６００は、作用６１８において目的関数の極値が識別された後に完了する。
【０１７７】
上記で論じたとおり、いくつかの態様は、特定の最適化タスクに適用されたときに、１つまたは２つ以上の関係のある最適化タスクにベイズの最適化テクニックを適用する間に獲得された情報を利用できるベイズの最適化テクニックに関する。ここではこれらのテクニックを「マルチタスク」ベイズの最適化テクニックと呼ぶ。本明細書に記載されたマルチタスク最適化テクニックは、以下に例を提供する多様なタイプの問題に適用できる。
【０１７８】
１つの非限定的な例として、いくつかの態様においては、本明細書に記載されたマルチタスクのベイズの最適化テクニックを、特定の機械学習システムのハイパーパラメータの値を識別するタスクに適用でき、このため、関係のある機械学習システムのためのハイパーパラメータの値の識別（に関係のあるタスクの実施）の間に獲得した以前の情報を使用できる。関係のある機械学習システムは、１つまたは２つ以上の（たとえば、すべての）ハイパーパラメータを、特定の機械学習システムと共有するいずれかの機械学習システムとすることができる。たとえば、ハイパーパラメータの第１と第２の集合が少なくとも１つのハイパーパラメータを共有するように、特定の機械学習システムがハイパーパラメータの第１の集合を有する第１のニューラルネットワークを包含でき、関係のある機械学習システムがハイパーパラメータの第２の集合を有する第２のニューラルネットワーク（たとえば、第１のニューラルネットワークとは異なる数のレイヤを有するニューラルネットワーク、第１のニューラルネットワークとは異なる非線形性を有するニューラルネットワーク、第１および第２のニューラルネットワークは同じであるとすることができる等）を包含できる。それに加えて、ハイパーパラメータの第１と第２の集合が重ならない場合であってさえ、いずれかの好適な方法においてパラメータの結合空間を作り出すことができる。たとえば、特定のモデルのためのパラメータが存在しない場合にデフォルト値が使用できるように、各パラメータの「デフォルト」値を推論できる。この方法においては、各ニューラルネットワークが、いずれかの標準カーネルが適用できるように、ハイパーパラメータの同一集合を有することができる。
【０１７９】
関係のある機械学習システムのハイパーパラメータを識別する間に獲得した以前の情報は、ハイパーパラメータ値の１つまたは２つ以上の集合についての関係のある機械学習システムのパフォーマンスの評価の結果を包含できる。かかる情報は、多様なハイパーパラメータ値についての関係のある機械学習システム（たとえば、第２のニューラルネットワークを含むシステム）のパフォーマンスがどのようであったかを示すことができ、結果として、この情報は、特定の機械学習システム（たとえば、第１のニューラルネットワークを含むシステム）のためのハイパーパラメータ値のためのサーチのガイドに使用できる。
【０１８０】
当然のことながら、本明細書に記載されたマルチタスク最適化テクニックは、完了済みの最適化タスクから獲得した以前の情報（たとえば、機械学習システムのためハイパーパラメータを識別する完了済みの−使用するハイパーパラメータ値が識別され、かつ機械学習システムが識別済みのハイパーパラメータ値を用いた使用のために構成されているという意味において完了済みの−タスクの実施から獲得した情報）の使用に限定されない。いくつかの態様においては、本明細書に記載されたマルチタスク最適化テクニックを、同時に解決されている複数の関係のある最適化テクニックに適用できる。かかる態様においては、本明細書に記載されたマルチタスク最適化テクニックが、各目的関数がそれぞれの最適化タスクに対応する複数の異なる目的関数の評価を伴うことができる。それらのタスクが関係していることから、１つのタスクに対応する１つの目的関数の評価の結果を使用して、別の関係するタスクに対応する別の目的関数を評価するポイントの選択をガイドできる。
【０１８１】
１つの非限定的な例として、いくつかの態様においては、本明細書に記載されたマルチタスクのベイズの最適化テクニックを、複数の関係されたタスクのそれぞれの１つにそれぞれが対応する目的関数の組合せとして表現できる目的関数の平均値を見積もる問題に適用できる。かかる問題は、たとえば、機械学習システムのパフォーマンスを最適化する機械学習システムのハイパーパラメータを識別するときを包含する多様な設定において起こる問題であり、機械学習システムのパフォーマンスは、機械学習システムの一般化誤りを見積もるためのテクニックであるＴ分割交差検定の適用によって獲得される。
【０１８２】
Ｔ分割交差検定においては、機械学習システムのトレーニングに使用されるデータがＴ個の、「分割」と呼ばれる部分集合に仕切られ、機械学習システムのパフォーマンスの測度がＴ個の分割にわたる機械学習システムの平均パフォーマンスとして計算される。特定の分割についての機械学習システムのパフォーマンスは、すべてのほかの分割内のデータに関する機械学習システムのトレーニングおよびその特定の分割内のデータに関するシステムのパフォーマンスの評価によって獲得される。したがって、ハイパーパラメータ値の特定の集合についての機械学習システムのパフォーマンスを評価するために、機械学習システムは、Ｔ回トレーニングされなければならず、複雑な機械学習システムおよび／または大きなデータセットについては演算的にコスト高である。しかしながら、Ｔ個の分割のそれぞれに関連付けされたパフォーマンスの測度が互いに、ハイパーパラメータ値の集合を使用する特定の分割についての機械学習システムのパフォーマンスの評価が、ハイパーパラメータ値の同一の集合を使用する別の分割についての機械学習システムのパフォーマンスを示す情報を提供し得るように相関することはありがちである。結果として、ハイパーパラメータ値の各集合のためのＴ個の分割の各１つについて機械学習システムのパフォーマンスを評価する必要がないとし得る。
【０１８３】
したがって、いくつかの態様においては、本明細書に記載されたマルチタスク最適化テクニックを、特定の交差検定の分割についての（すなわち、機械学習システムのトレーニングに使用されるデータのそれぞれの部分集合についての）機械学習システムのパフォーマンスを最適化するハイパーパラメータ値の集合の識別に各タスクが対応する、マルチタスク最適化問題としてこの問題を再構築することによってＴ分割交差検定の問題に適用できる。タスクのための目的関数は、機械学習システムのためハイパーパラメータ値を、そのタスクに関連付けされた交差検定の分割についての機械学習システムのパフォーマンスに関係する（たとえば、交差検定の分割ｔに関連付けされたタスクのための目的関数が、機械学習システムのハイパーパラメータの値を、分割ｔを除くすべての分割内のデータに関する機械学習システムのトレーニングおよび分割ｔ内のデータに関する機械学習システムのトレーニングの結果のパフォーマンスの評価によって計算された機械学習システムのパフォーマンスに関係させる）。したがって、当然のことながら、本明細書に記載されたマルチタスク最適化テクニックを、複数のほかの目的関数（たとえば、それらをトレーニング済みの「下位目的」関数と呼ぶことができる）の関数として指定できる単一の目的関数の最大化に使用できる。
【０１８４】
別の非限定的な例として、いくつかの態様においては、本明細書に記載されたマルチタスクのベイズの最適化テクニックを、複数の関係のある最適化タスクの同時解決の問題に適用でき、それらのタスクのうちの１つと関連付けされた目的関数の評価が、別のタスクに関連付けされた目的関数より低コストとなることがある。２つのタスクが関係を有するとき、１つのタスクのための目的関数の評価が、別のタスクのための目的関数の１つまたは２つ以上の極値ポイントの位置についての情報を明らかにし、かつ不確実性を低減できることがある。たとえば、データの大きな集合（たとえば、１０００万のデータポイント）に関する機械学習システムのパフォーマンスを最適化するハイパーパラメータ値を識別するタスク「Ａ」に関連付けされる目的関数は、関係のあるタスク「Ｂ」、すなわちデータの部分集合（たとえば、１０００万のデータポイントのうちの１０，０００）に関する機械学習システムのパフォーマンスを最適化するハイパーパラメータ値を識別するタスクに関連付けされる目的関数より（ハイパーパラメータ値の各集合について）コスト高の評価である。しかしながら、それらのタスクが関係を有していることから（一方のタスクは他方のより粗いバージョンであり、焼きなましによく似ている）、タスク「Ｂ」のための目的関数の評価が、どのハイパーパラメータ値をタスク「Ａ」のために評価を試すかについての情報を明らかにして、それによってタスク「Ａ」のための目的関数の演算的にコスト高となる評価の数を低減できる。
【０１８５】
別の非限定的な例として、いくつかの態様においては、本明細書に記載されたマルチタスクのベイズの最適化テクニックを、いずれかの自然な方法で順序設定されない離散的な値を取る機械学習システムのハイパーパラメータ（カテゴリパラメータ）の値の識別に適用できる。機械学習システムのためのかかるハイパーパラメータの１つの非限定的な例は、ニューラルネットワークに使用されるタイプの非線形性である（たとえば、双曲線正接非線形性、シグモイド非線形性等）。機械学習システムのためのかかるハイパーパラメータの別の非限定的な例は、サポートベクターマシンに使用されるカーネルのタイプである。かかるハイパーパラメータのさらに別の非限定的な例は、データの同一の集合に関する機械学習システムのトレーニングに使用できる、異なるトレーニングアルゴリズムの集合の間からの機械学習システムのためのトレーニングアルゴリズムを選択するパラメータである。マルチタスク最適化テクニックは、カテゴリハイパーパラメータの各値のためのタスクを有する、関係のあるタスクの集合を生成することによってかかる問題に適用できる。各タスクは、値が各タスクについて値の可能集合のうちの１つに設定される１つまたは２つ以上のカテゴリハイパーパラメータの値を除く機械学習システムのすべてのハイパーパラメータの値の識別を含む（たとえば、１つのタスクは、活性化関数として双曲線正接を使用するニューラルネットワークのハイパーパラメータの値の識別を包含でき、別の関係のあるタスクは、活性化関数としてシグモイド関数を使用するニューラルネットワークの値の識別を包含できる）。
【０１８６】
当然のことながら、本明細書に記載されたマルチタスクテクニックが、そのほかのいずれかの好適な最適化タスクの集合に適用できることから、上記の本明細書に記載されたマルチタスクのベイズの最適化テクニックが適用できる問題は、例証であり、かつ非限定的である。
【０１８７】
いくつかの態様においては、マルチタスク最適化テクニックが、目的関数のそれぞれが複数の関係のあるタスクのうちの１つに対応する複数の目的関数を連帯的にモデリングする同時確率モデルの使用を包含できる。上記で論じたとおり、マルチタスク最適化テクニックは、関係のある最適化タスクのいずれかの好適な集合に適用できる。１つの非限定的な例として、各タスクは、そのタスクに関連付けされ、かつハイパーパラメータ値の集合を前提として機械学習システムのトレーニングに使用される、データの集合についての同一機械学習システムのパフォーマンスを最適化するハイパーパラメータの識別を包含できる。別の非限定的な例として、複数の関係のあるタスクのうちの１つは、関連付けされた第１の集合のデータのための１つの機械学習システムのパフォーマンスを最適化するハイパーパラメータの識別を包含でき、複数の関係のあるタスクのうちの別のタスクは、第２の集合のデータのための別の関係のある機械学習システムのパフォーマンスを最適化するハイパーパラメータの識別を包含できる（第１のデータの集合と第２のデータの集合は同一または異なるとすることができる）。これらの例のそれぞれにおいては、特定のタスクに対応する目的関数が、機械学習システムのハイパーパラメータ値をそれのパフォーマンスに関係させることができる。
【０１８８】
いくつかの実施態様においては、複数の目的関数の同時確率モデルが、複数のタスク内のタスクの間の相関をモデリングできる。いくつかの態様においては、同時確率モデルが、複数のタスク内のタスクの間の相関をモデリングする１つまたは２つ以上のパラメータ（たとえば、相関または共分散カーネルを指定するための１つまたは２つ以上のパラメータ）を包含できる。これらのパラメータ（単数または複数）の値は、複数のタスクに対応する目的関数の評価の結果に基づいて見積もることができる。パラメータ（単数または複数）の値は、複数の目的関数のうちのいずれかの１つまたは２つ以上の追加の評価が実施されたときに更新される。この方法においては、複数のタスク内のタスクの間の相関をモデリングする同時確率モデルのパラメータ（単数または複数）を適応的に見積もることができる。
【０１８９】
たとえば、いくつかの態様においては、複数の目的関数の同時確率モデルが、複数のタスク内のタスクの間の相関をモデリングできる共分散カーネルを包含できる。いくつかの態様においては、共分散カーネル（Ｋｍｕｌｔ）が、複数のタスク内のタスクの間の相関をモデリングする第１の共分散カーネル（Ｋｔ）、および複数の目的関数内の目的関数を評価できるポイント間の相関をモデリングする第２の共分散カーネル（Ｋｘ）に、少なくとも部分的に基づいて獲得できる。共分散カーネルは、次式に従って第１および第２の共分散カーネルから計算できる：
【数４６】
0006483667.tif 000047
ここで
【数４７】
0006483667.tif 000048
は、クロネッカー積を表わす。
【０１９０】
いくつかの態様においては、複数の目的関数の同時確率モデルは、定義域Ｘ内の値を値域ＲＴへマッピングする「多目的」関数ｆのモデリングに使用できるベクトル値ガウス過程を包含でき、Ｒは実数の集合であり、Ｔは２以上の整数である。定義域Ｘは、多次元とし得る。したがって、ベクトル値ガウス過程によってモデリングされる各多目的関数ｆは、入力を、Ｔ個の関係のあるタスクに対応するＴ個の出力、すなわち、それぞれが対応するタスクのための出力であるＴ個の出力にマッピングする。いくつかの態様においては、ガウス過程の共分散カーネルを、式（２５）によって、本明細書に記載されたカーネル関数のうちのいずれかの１つ（たとえば、Ｍａｔｅｒｎカーネル）を介して指定されるカーネルＫｘを用いて与えることができる。しかしながら、当然のことながら、複数の目的関数の同時確率モデルは、ガウス過程を含むことに限定されず、そのほかのいずれかの好適な確率モデルを包含できる。
【０１９１】
いくつかの態様においては、カーネルＫｔを、複数の目的関数の評価から見積もることができる。カーネルＫｔの見積には、いずれかの好適な見積テクニックを使用できる。たとえば、いくつかの態様においては、カーネルＫｔのコレスキー要因の見積にスライスサンプリング（または、そのほかのいずれかの好適なモンテカルロテクニック）を使用できる。いくつかの態様においては、関係のあるタスクが積極的に相関される制約を条件としてカーネルＫｔが見積もられる。かかる実施態様においては、この制約が満たされるように、Ｋｔの要素が対数空間内において見積もられ、かつ好適にべき乗される。当然のことながら、本明細書に記載されたテクノロジの側面が共分散カーネルのいずれか１つのパラメータ化（たとえば、コレスキー）に限定されないことから、共分散カーネルのいずれかの好適なパラメータ化を使用できる。
【０１９２】
図７は、目的関数の集合を使用するマルチタスクのベイズの最適化を実施するための過程７００を例証するフローチャートであり、集合内の目的関数のそれぞれは、関係のあるタスクの集合内のそれぞれのタスクと関連付けされている。関数の集合は、いずれかの好適な数（たとえば、２、３、５、少なくとも２つ、少なくとも５つ、少なくとも１０、少なくとも２５、少なくとも５０、２〜２５、１０〜１００等）の関数を包含できる。過程７００は、本明細書に記載されたテクニックを使用する目的関数のうちの１つまたは２つ以上のそれぞれの極値ポイント（たとえば、極小、極大、最小、最大等）の識別に使用できる。
【０１９３】
過程７００は、本明細書に記載されたテクノロジの側面がこの点において限定されないことから、１つまたは複数のコンピュータハードウエアプロセッサを使用して実施できる。複数のコンピュータハードウエアプロセッサを使用して過程７００が実施されるときには、その実行が、図６に関して上記で述べたテクニックに従って複数のプロセッサにわたって並列化できる。
【０１９４】
いくつかの態様においては、過程７００を、機械学習システムのハイパーパラメータの値を機械学習システムのパフォーマンスの測度を提供するそれぞれの値に関係させる１つまたは２つ以上の目的関数の１つまたは２つ以上の極値ポイントの識別（たとえば、それらの位置決定または位置の近似）に適用できる。過程７００は、本明細書に記載された機械学習システムのいずれかおよび／またはそのほかのいずれかの好適な機械学習システムのいずれかのハイパーパラメータの値の設定のために使用できる。それに加えて、またはそれに代えて、そのほかのいずれかの好適な関係のある最適化タスクにおいて起こる１つまたは２つ以上の目的関数の１つまたは２つ以上の極値ポイントの識別（たとえば、それらの位置決定または位置の近似）に過程７００を適用できる。
【０１９５】
過程７００は、作用７０２において開始し、そこで目的関数の集合内の目的関数の同時確率モデルを初期化する。同時確率モデルは、いずれかの好適な確率モデルとし得る。１つの非限定的な例として、いくつかの態様においては、同時確率モデルが、式（２５）によって与えられる共分散カーネルを使用して指定されるベクトル値ガウス過程を包含できる。しかしながら、ほかの態様においては、そのほかのいずれかの好適なカーネルを使用してガウス過程を指定でき、さらにほかの態様においては、同時確率モデルがガウス過程を含まないことがあり、かつそれに代えてニューラルネットワーク、適応型基底関数回帰モデル（複数の出力を有する関数とともに）、またはそのほかのいずれかの好適な確率モデルを包含できる。同時確率モデルは、本明細書に記載されたテクノロジの側面が複数の目的関数の同時確率モデルを初期化する方法に限定されないことから、いずれかの好適な方法で（たとえば、過程４００の作用４０２に関して述べたとおりに）初期化できる。
【０１９６】
次に過程７００は、作用７０４へ進み、目的関数の集合内の何らかの目的関数を評価するポイントを識別する。ポイントは、目的関数の同時確率モデルおよび取得ユーティリティ関数（目的関数の同時確率モデルに依存し得る）を使用することに少なくとも部分的に基づいて識別できる。非常に多くのタイプの取得ユーティリティ関数のうちのいずれかを、マルチタスク設定に対して好適に一般化された後に使用できる。１つの非限定的な例として、いくつかの態様においては、エントロピーサーチ取得関数（たとえば、式９参照）を、マルチタスクの場合に対して一般化でき、また、目的関数の集合内の目的関数を評価するポイントを、同時確率モデルおよび一般化されたエントロピーサーチ取得関数に基づいて識別できる。
【０１９７】
いくつかの態様においては、エントロピーサーチ取得関数を、目的関数の集合内の目的関数を評価する演算コストを斟酌するために一般化できる。結果として生じる取得関数ａＩＧ（ｘ）は、コスト荷重エントロピーサーチ取得ユーティリティ関数と呼ばれ、次式に従って演算できる：
【数４８】
0006483667.tif 000049
ここでｐ（）は、目的関数の集合内の目的関数の同時確率モデルであり、
【数４９】
0006483667.tif 000050
は、空想の観測｛ｘｔ，ｙ｝が観測の集合に追加されたことを示し、ｘｔは、ｔ番目のタスクに関連付けされる目的関数を評価できる空想のポイントであり、ｘｔにおける目的関数の値は、エントロピーサーチ取得関数を評価するときに空想され、ｐ（ｆ｜ｘｔ）は、
【数５０】
0006483667.tif 000051
を表わし、Ｈ（Ｐ）は、Ｐのエントロピーを表わし、Ｐｍｉｎは、
【数５１】
0006483667.tif 000052
を表わし、各
【数５２】
0006483667.tif 000053
は、ｔ番目のタスクに関連付けされた目的関数が、評価の結果
【数５３】
0006483667.tif 000054
を獲得するために評価されたポイントに対応する。
関数ｃｔ（ｘ）は、ポイントｘにおけるｔ番目のタスクに関連付けされた目的関数を評価するコストを表わす。このコスト関数は、前もって知ることができるか、または、いくつかの態様においては、目的関数の集合内の目的関数の１つまたは２つ以上の評価に（かかる各評価が完了までにどの程度の長さを要するかを示す情報とともに）基づいて見積もることができる。コスト荷重エントロピーサーチ取得関数は、候補ポイントの評価の単位コスト当たりの（ポイントｘにおけるｔ番目の目的関数の評価からの）情報利得を反映できる。
【０１９８】
目的関数の集合内の目的関数を評価するポイントは、取得ユーティリティ関数（たとえば、コスト荷重エントロピーサーチ取得ユーティリティ関数）がそれの最大値へ到達するポイントとして（または、そのポイントの近似として）識別できる。いくつかの態様においては、取得関数がそれの最大へ到達するポイントを厳密に（たとえば、取得ユーティリティ関数が閉形式で利用可能なとき）識別できる。しかしながら、いくつかの態様においては、取得ユーティリティ関数がそれの最大値を達成するポイントを厳密に識別し得ず（たとえば、取得ユーティリティ関数が閉形式で利用可能でないことから）、その場合には、数値テクニックを使用して取得ユーティリティ関数がそれの最大値へ到達するポイントを識別するか、または近似することができる。たとえば、コスト荷重エントロピーサーチ取得ユーティリティ関数が閉形式で利用可能でないことがあり、積分後の取得ユーティリティ関数がそれの最大値へ到達するポイントの識別または近似にモンテカルロテクニック（たとえば、棄却サンプリング、重点サンプリング、マルコフ連鎖モンテカルロ等）を採用できる。
【０１９９】
当然のことながら、目的関数の集合内の目的関数を評価するポイントは、取得ユーティリティ関数がそれの最大に到達するポイント（またはそのポイントの近似）であるとして限定されることはなく、取得ユーティリティ関数の使用によって獲得されるそのほかのいずれかの好適なポイント（たとえば、取得ユーティリティ関数の極大、取得ユーティリティ関数の極小または最小等）とすることができる。
【０２００】
過程７００は、作用７０４において目的関数の集合内の目的関数を評価するポイントを識別した後に作用７０６へ進み、作用７０４において識別したポイントにおいて評価するために目的関数の集合から目的関数を選択する。識別したポイントにおいて評価する目的関数は、同時確率モデルに、少なくとも部分的に基づいて選択できる。１つの非限定的な例として、評価する目的関数は、識別されたポイントにおいて最大の対応する値を生成することが、同時確率モデルに従って、もっともありがちな目的関数を選択する。
【０２０１】
次に、過程７００は、作用７０８へ進み、作用７０６において選択した目的関数を、作用７０４において識別したポイントにおいて評価する。次に過程７００は、作用７１０へ進み、更新後の同時確率モデルを獲得するために作用７０８において実施した評価の結果に基づいて同時確率モデルを更新できる。
【０２０２】
同時確率モデルは、作用７０８において獲得した新しい評価の結果に基づいて、非常に多くの方法のいずれかにおいて更新できる。たとえば、同時確率モデルの更新は、作用７０８において実施した評価の結果に基づく確率モデルの１つまたは２つ以上のパラメータの更新（たとえば、再見積）を包含できる。１つの非限定的な例として、同時確率モデルの更新は、複数のタスク内のタスクの間の相関のモデリングに使用される同時確率モデル内の１つまたは２つ以上のパラメータ（たとえば、相関または共分散カーネルを指定するための１つまたは２つ以上のパラメータ）の更新を包含できる。別の非限定的な例として、同時確率モデルの更新は、取得ユーティリティ関数の１つまたは２つ以上のパラメータ（たとえば、コスト荷重エントロピーサーチ取得関数ｃｔ（ｘ）の１つまたは２つ以上のパラメータ）の更新を包含できる。それに加えて、またはそれに代えて、同時確率モデルは、過程４００の作用４０８に関して述べた方法のいずれか、および／またはそのほかのいずれかの好適な方法において更新できる。
【０２０３】
作用７１０において同時確率モデルを更新した後、過程７００は、決定ブロック７１２へ進み、目的関数の集合内に別のポイントにおいて評価するべきいずれかの目的関数が存在するか否かを判断する。この判断は、いずれかの好適な方法で行なうことができる。たとえば、過程４００の決定ブロック４１０に関して述べた方法のいずれかにおいて、目的関数の集合内の目的関数のそれぞれについてこの判断を行なうことができ、目的関数のいずれか１つを更新するべきであると判断とした場合には、過程７００が「ＹＥＳ」分岐を介して作用７０４へ戻り、作用７０４−７１０および決定ブロック７１２を繰り返す。
【０２０４】
他方、目的関数の集合内に更新するべき目的関数が存在しないと判断した場合には、過程７００が「ＮＯ」分岐を介して作用７１４へ進み、そこで、目的関数の集合内の１つまたは２つ以上の目的関数の極値を識別できる。目的関数の集合内の目的関数の極値は、いずれかの好適な方法で見つけることができ、かつ過程４００の作用４１２に関して述べた方法のいずれかにおいて見つけることができる。過程７００は、作用７１４において１つまたは２つ以上の目的関数の極値を識別した後に完了する。
【０２０５】
当然のことながら、過程７００は例証であり、過程７００の多くの変形が可能である。たとえば、例証的な態様においては、最初に何らかの目的関数を評価するポイントを作用７０４において最初に識別し、識別したポイントにおいて評価する目的関数を作用７０６において２番目を選択したが、ほかの態様においては、これら２つのステップの順序を逆にできる。したがって、いくつかの態様においては、目的関数を評価するタスクを最初に選択し、選択したタスクを評価するポイントを２番目に識別することができる。
【０２０６】
別の例として、目的関数の同時確率モデルを、１つまたは２つ以上の非線形マッピングを使用して指定でき（たとえば、各タスクをそれぞれの非線形マッピングと関連付けできる）、多様な問題においてはこれが有用となり得る。たとえば、異なるデータセットに関する機械学習システムをトレーニングするときには、データセットのサイズが、どのハイパーパラメータの設定が機械学習システムの良好なパフォーマンスにつながるかに影響を有することがある。たとえば、小さいデータセットを使用してトレーニングされている機械学習システムは、同一の機械学習システムがより大きなデータセットに関してトレーニングされている場合より、より多くの正則化を要求できる（たとえば、その結果、機械学習システムのトレーニングが少量のデータに関する場合と、大量のデータに関する場合とでは、正則化の量を示すハイパーパラメータが異なることがあり得る）。より一般的には、１つのタスクの入力空間の１つの部分が、そのほかのタスクに関する入力空間の異なる部分と相関可能であるとすることが可能である。各タスクとそれ自体のそれぞれの非線形ワーピングの関連付けを許容することは（たとえば、単一タスクについて上記で述べたとおり）、同時確率モデルがかかるタスク間相関の説明となることを可能にできる。非線形ワーピングと関連付けされるパラメータ（たとえば、関連付けされる累積分布関数のパラメータ等）の推論は、タスクを、定常マルチタスクモデル（たとえば、定常ベクトル値ガウス過程を使用して指定されるマルチタスクモデル）によってより好適にモデリングされた連帯的な定常空間へワープできる。
【０２０７】
本明細書に記載されたテクノロジの態様のいずれかに関連して使用できるコンピュータシステム８００の例証的な実装を図８に示す。コンピュータシステム８００は、１つまたは２つ以上のプロセッサ８１０および、非一時的コンピュータ可読記憶媒体（たとえば、メモリ８２０および１つまたは２つ以上の不揮発性記憶媒体８３０）を含む１つまたは２つ以上の製品を包含することができる。プロセッサ８１０は、メモリ８２０および不揮発性記憶装置８２０へのデータの書き込みおよびそこからの読み出しを、本明細書に記載されたテクノロジの側面がこの点において限定されないことから、いずれかの好適な仕方でコントロールできる。本明細書に記載された機能のいずれかを実施するために、プロセッサ８１０は、プロセッサ８１０による実行のためのプロセッサ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体として働くことができる１つまたは２つ以上の非一時的コンピュータ可読記憶媒体（たとえば、メモリ８２０）内に記憶されている１つまたは２つ以上のプロセッサ実行可能命令を実行できる。
【０２０８】
用語「プログラム」または「ソフトウエア」は、ここでは一般的な意味で使用され、上記で論じたとおりの態様の多様な側面を実装するためにコンピュータまたはそのほかのプロセッサをプログラムするために採用可能ないずれかのタイプのコンピュータコードまたはプロセッサ実行可能命令のセットを言う。加えて、当然のことながら、１つの側面によれば、実行時に本明細書に記載されたテクノロジの方法を実施する１つまたは２つ以上のコンピュータプログラムが単一のコンピュータまたはプロセッサ上に常駐する必要はなく、異なるコンピュータまたはプロセッサの間にわたってモジュラ様式で分散させて本明細書に記載されたテクノロジの多様な側面を実装できる。
【０２０９】
プロセッサ実行可能命令は、プログラムモジュール等の多くの形式で、１つまたは２つ以上のコンピュータまたはそのほかの装置によって実行できる。一般に、プログラムモジュールは、特定のタスクを実施するか、または特定のアブストラクトデータタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を包含する。通常、プログラムモジュールの機能は、多様な態様で所望に応じて結合または分散できる。
【０２１０】
データ構造もまた、１つまたは２つ以上の非一時的コンピュータ可読記憶媒体内に、いずれかの好適な形式で記憶できる。簡潔な例証のため、データ構造を、そのデータ構造内の場所を通じて関係されるフィールドを有するとして示すことができる。かかる関係も同様に、フィールド間の関係を伝える非一時的コンピュータ可読媒体内の場所を伴うフィールドのための記憶を割り当てることによって達成できる。しかしながら、データ構造のフィールド内の情報間の関係の確立には、データ要素間の関係を確立するポインタ、タグ、またはそのほかのメカニズムの使用を通じることを含めて、いずれかの好適なメカニズムを使用できる。
【０２１１】
また、多様な発明概念を１つまたは２つ以上の過程として具体化でき、その例は提供済みである（図４、図６、および図７）。各過程の部品として実施される作用は、いずれかの好適な方法で順序設定できる。したがって、例証的態様には連続的な作用として示されてはいるが、いくつかの作用を同時に実施できるものも含めて、例証された順序と異なって作用が実施される態様を企図できる。
【０２１２】
特許請求の範囲内の請求項の要素を修飾する「第１の」、「第２の」、「第３の」等の順序を示す用語それ自体が、１つの請求項の要素の別の要素に対するいずれかの優先、先行、または順序、または方法の作用が実施される時間的順序を暗示することはない。かかる用語は、然るべき名前を有する１つの請求項の要素を同じ（しかし、順序を示す用語の使用のための）名前を有する別の要素から区別する単なるラベルとして使用される。
【０２１３】
本明細書で使用されている語法および用語は、説明の目的のためのものであり、限定と考えるべきではない。「包含する」、「含む」、「有する」、「含有する」、「伴う」、およびこれらの変化形の使用は、それらの語の前にリストされた項目および追加の項目を囲い込むことを意味する。
【図１】
0006483667.tif 000055
【図２Ａ−Ｂ】
0006483667.tif 000056
【図２Ｃ−Ｄ】
0006483667.tif 000057
【図３Ａ−Ｂ】
0006483667.tif 000058
【図４】
0006483667.tif 000059
【図５Ａ−Ｆ】
0006483667.tif 000060
【図６】
0006483667.tif 000061
【図７】
0006483667.tif 000062
【図８】
0006483667.tif 000063