(57)【要約】【課題】本発明の一実施形態は、学習曲線予測に要する時間を短縮する装置を提供する。【解決手段】本発明の一実施形態は、サンプリング部と、学習曲線予測部と、学習部と、学習曲線算出部と、を備える。サンプリング部は、ニューラルネットワーク（ＮＮＷ）のハイパーパラメータの設定値に基づいてＮＮＷの学習曲線モデルのパラメータを出力するパラメータモデル、の重みパラメータをサンプリングする。学習曲線予測部は、ＮＮＷの予測の学習曲線を、サンプリングされた重みパラメータと、ＮＮＷの実際の学習曲線と、に基づき算出する。学習部は、ＮＮＷに対して学習を進める。学習曲線算出部は、ＮＮＷの学習進行後の実際の学習曲線を算出する。学習曲線予測部は、学習進行前にサンプリングされた重みパラメータと、学習進行後に算出された実際の学習曲線と、に基づき、ＮＮＷの予測の学習曲線を更新する。【選択図】図１
2020067910.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークのハイパーパラメータの設定値に基づいて前記ニューラルネットワークの学習曲線モデルのパラメータを出力するパラメータモデル、の重みパラメータをサンプリングするサンプリング部と、
前記ニューラルネットワークの予測の学習曲線を、サンプリングされた重みパラメータと、前記ニューラルネットワークの実際の学習曲線と、に基づき算出する学習曲線予測部と、
前記ニューラルネットワークに対して学習を進める学習部と、
前記ニューラルネットワークの学習進行後の実際の学習曲線を算出する学習曲線算出部と、
を備え、
前記学習曲線予測部は、学習進行前にサンプリングされた重みパラメータと、学習進行後に算出された実際の学習曲線と、に基づき、前記ニューラルネットワークの予測の学習曲線を更新する
学習曲線予測装置。
【請求項２】
前記ハイパーパラメータの設定値が複数存在しており、
前記学習曲線予測部が、複数の設定値それぞれに対応する複数のニューラルネットワークそれぞれに対して、予測の学習曲線を算出し、
前記学習曲線予測装置が、前記予測の学習曲線に関する指標に基づき、前記複数のニューラルネットワークから、学習を進めるニューラルネットワークを選択する選択部をさらに備え、
前記学習部が、選択されたニューラルネットワークに対して学習を進め、
前記学習曲線算出部が、学習が進行されたニューラルネットワークに対して、学習進行後の実際の学習曲線を算出し、
前記学習曲線予測部が、学習進行後の実際の学習曲線が算出されたニューラルネットワークに対して、前記予測の学習曲線を更新する
請求項１に記載の学習曲線予測装置。
【請求項３】
前記指標は、現時点のエポック数よりも大きく、かつ、エポック数の上限値以下の範囲内の各エポックでの各期待改善量をそれぞれ、前記各エポックと現時点のエポック数との各差分値にて除算した各値のうちの最大値であり、
前記選択部が、学習を進めるニューラルネットワークとして、前記指標が最大である設定値に対応するニューラルネットワークを少なくとも選択する
請求項２に記載の学習曲線予測装置。
【請求項４】
少なくとも前記予測の学習曲線または前記実際の学習曲線に基づき、前記複数のニューラルネットワークから、少なくとも一つを、有望なニューラルネットワークと決定する決定部
をさらに備える請求項２または３に記載の学習曲線予測装置。
【請求項５】
前記決定部が、前記有望なニューラルネットワークに基づき、前記ハイパーパラメータの最適値を決定する
請求項４に記載の学習曲線予測装置。
【請求項６】
前記決定部の決定結果を出力する出力部
をさらに備える請求項４または５に記載の学習曲線予測装置。
【請求項７】
ニューラルネットワークのハイパーパラメータの設定値に基づいて前記ニューラルネットワークの学習曲線モデルのパラメータを出力するパラメータモデル、の重みパラメータをサンプリングするステップと、
前記ニューラルネットワークの予測の学習曲線を、サンプリングされた重みパラメータと、前記ニューラルネットワークの実際の学習曲線と、に基づき算出するステップと、
前記ニューラルネットワークに対して学習を進めるステップと、
前記ニューラルネットワークの学習進行後の実際の学習曲線を算出するステップと、
学習進行前にサンプリングされた重みパラメータと、学習進行後に算出された実際の学習曲線と、に基づき、前記ニューラルネットワークの予測の学習曲線を更新するステップと、
を備える学習曲線予測方法。
【請求項８】
ニューラルネットワークのハイパーパラメータの設定値に基づいて前記ニューラルネットワークの学習曲線モデルのパラメータを出力するパラメータモデル、の重みパラメータをサンプリングするステップと、
前記ニューラルネットワークの予測の学習曲線を、サンプリングされた重みパラメータと、前記ニューラルネットワークの実際の学習曲線と、に基づき算出するステップと、
前記ニューラルネットワークに対して学習を進めるステップと、
前記ニューラルネットワークの学習進行後の実際の学習曲線を算出するステップと、
学習進行前にサンプリングされた重みパラメータと、学習進行後に算出された実際の学習曲線と、に基づき、前記ニューラルネットワークの予測の学習曲線を更新するステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習曲線予測装置、学習曲線予測方法、およびプログラムに関する。
【背景技術】
【０００２】
ニューラルネットワークには、重みパラメータの学習を開始する前に設定する必要があるハイパーパラメータが存在する。例えば、中間層の数、各層のユニットの数、重みパラメータの結合方法といったネットワークの構造に関するハイパーパラメータがある。また、学習アルゴリズムに含まれるステップサイズなどのパラメータも、ハイパーパラメータに該当する。これらのハイパーパラメータの設定値により、同じ量の訓練データが用いられても、学習後のニューラルネットワークの性能は大きく異なる。そのため、ハイパーパラメータを最適化する方法が検討されている。
【０００３】
しかし、従来の方法では、所要時間が長過ぎるなどの問題を有する。そのため、所要時間を抑えるために、学習曲線を予測して全体の計算量を減らす方法が検討されている。しかし、学習曲線の予測にも時間がかかるため、当該所要時間の低減量が十分ではなく、逆に、最適化の精度が低くなるといった新たな問題も生じている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｌｉｓｈａ  Ｌｉ、外４名、“Ｈｙｐｅｒｂａｎｄ：  Ａ  Ｎｏｖｅｌ  Ｂａｎｄｉｔ−Ｂａｓｅｄ  Ａｐｐｒｏａｃｈ  ｔｏ  Ｈｙｐｅｒｐａｒａｍｅｔｅｒ  Ｏｐｔｉｍｉｚａｔｉｏｎ”、Ｊｏｕｒｎａｌ  ｏｆ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ  Ｒｅｓｅａｒｃｈ、２０１８年、ｐ．１−５２
【非特許文献２】Ａａｒｏｎ  Ｋｌｅｉｎ、外３名、“Ｌｅａｒｎｉｎｇ  Ｃｕｒｖｅ  ＰＲＥＤＩＣＴＩＯＮ  ＷＩＴＨ  ＢＡＹＥＳＩＡＮ  ＮＥＵＲＡＬＮＥＴＷＯＲＫＳ”、ｃｏｎｆｅｒｅｎｃｅ  ｐａｐｅｒ  ａｔ  ＩＣＬＲ、２０１７年
【非特許文献３】ＫＥＶＩＮ  ＳＷＥＲＳＫＹ、外２名、“ＦＲＥＥＺＥ−ＴＨＡＷ  ＢＡＹＥＳＩＡＮ  ＯＰＴＩＭＩＺＡＴＩＯＮ”、２０１４年６月１４日、ａｒＸｉｖ  １４０６．３８９６，ｖ１，［ｓｔａｔ．ＭＬ］
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の一実施形態は、学習曲線予測に要する時間を短縮する装置を提供する。
【課題を解決するための手段】
【０００６】
本発明の一実施形態は、サンプリング部と、学習曲線予測部と、学習部と、学習曲線算出部と、を備える。サンプリング部は、ニューラルネットワーク（ＮＮＷ）のハイパーパラメータの設定値に基づいてＮＮＷの学習曲線モデルのパラメータを出力するパラメータモデル、の重みパラメータをサンプリングする。学習曲線予測部は、ＮＮＷの予測の学習曲線を、サンプリングされた重みパラメータと、ＮＮＷの実際の学習曲線と、に基づき算出する。学習部は、ＮＮＷに対して学習を進める。学習曲線算出部は、ＮＮＷの学習進行後の実際の学習曲線を算出する。学習曲線予測部は、学習進行前にサンプリングされた重みパラメータと、学習進行後に算出された実際の学習曲線と、に基づき、ＮＮＷの予測の学習曲線を更新する。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係る学習装置の一例を示すブロック図。
【図２】ハイパーパラメータサーチ内の初期処理の概略フローチャート。
【図３】ハイパーパラメータサーチ内のメイン処理の概略フローチャート。
【図４】ｉｔｅｒａｔｉｏｎ内の処理の概略フローチャート。
【図５】本発明の一実施形態におけるハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、本発明の実施形態について説明する。
【０００９】
（本発明の一実施形態）
図１は、第１の実施形態に係る学習装置（学習曲線予測装置）の一例を示すブロック図である。第１の実施形態に係る学習装置（学習曲線予測装置）１は、記憶部１１と、サンプリング部１２と、学習曲線予測部１３と、選択部１４と、学習部１５と、学習曲線算出部１６と、決定部１７と、出力部１８と、を備える。
【００１０】
本実施形態の学習装置１は、与えられたニューラルネットワーク（ＮＮＷ：Ｎｅｕｅｒａｌ  Ｎｅｔｗｏｒｋ）に関する評価指標の学習曲線（Ｌｅａｒｎｉｎｇ  Ｃｕｒｖｅ）を予測して、ハイパーパラメータサーチを行う。
【００１１】
学習曲線は、エポックおよび評価指標の１組を１点とし、この点の集合を、横軸をエポック、縦軸を評価指標として表示したときのグラフを指す。ただし、エポックと評価指標からなる点の集合は１点でもよい。すなわち、学習曲線のプロットの点数は一つだけでもよい。ハイパーパラメータサーチは、ニューラルネットワークの最適なハイパーパラメータ、つまり、ハイパーパラメータの最適な設定値（最適値）、を推定することである。ハイパーパラメータの最適な設定値は、最適な設定値の候補となるハイパーパラメータの学習曲線を予測することにより、求めることができる。ゆえに、学習装置１は、学習曲線予測装置とも、ハイパーパラメータ推定装置とも言える。
【００１２】
ハイパーパラメータは、ニューラルネットワークのパラメータのうち、学習により算出しないパラメータであって、学習開始前に定めておく必要があるパラメータである。ニューラルネットワークは複数のハイパーパラメータを有しているため、各ハイパーパラメータの設定値の列をベクトルｘで表し、以降、単に設定値ｘと記載する。例えば、ニューラルネットワークがＭ（Ｍは１以上の整数）個のハイパーパラメータを有している場合、設定値ｘは、ｘ＝｛ｘ１、ｘ２、ｘ３、・・・・、ｘＭ｝を意味する。
【００１３】
ハイパーパラメータサーチの対象であるニューラルネットワークの種類は、特に限られるものではない。例えば、畳み込みニューラルネットワーク（ＣＮＮ：Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、再帰型ニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）などでもよい。
【００１４】
ハイパーパラメータの最適値は、複数の設定値から推測することが可能であるが、一般的には、複数の設定値それぞれに対応する各ニューラルネットワークの性能が判明している必要がある。例えば、あるハイパーパラメータの最適値を、Ｎ（Ｎは１以上の整数）個の設定値から推測する場合において、ある従来手法では、各設定値に対応するＮ個のニューラルネットワークに対する学習を完了させて、Ｎ個のニューラルネットワークの性能を評価していた。学習を完了させるまでには時間を要するため、当該手法は非効率である。
【００１５】
そこで、本実施形態では、ハイパーパラメータサーチに要する時間を短縮するために、学習中のニューラルネットワークに関する、ある評価指標の学習曲線を予測する。学習期間中に、学習曲線の今後の推移を予測することができれば、学習を完了させずとも、学習完了後のニューラルネットワークの性能を判断することができる。すなわち、本実施形態では、学習中に、ニューラルネットワークの有望性（あるいはハイパーパラメータの有望性とも言える）を判断する。
【００１６】
先に、本実施形態で用いられる学習曲線の予測方法について説明する。学習曲線は次式の学習曲線モデルにて表すことができることが知られている。
【数１】
2020067910.tif 000003
φｉ（ｔ；θｉ）は、ｉ（ｉは１以上の整数）番目の基底関数を表し、エポック数ｔと、ｉ番目の基底関数のパラメータベクトルθｉと、に依存する。ここでは、Ｋ（Ｋはｉ以上の整数）個の基底関数があるとする。基底関数の数Ｋは、適宜に調整されるとする。基底関数はシグモイドなどが想定される。また、ｗｉはｉ番目の基底関数φｉに対する重みを表し、各基底関数のそれぞれの重みを連結ベクトルｗにて表す。また、Θは、各基底関数のパラメータベクトルの結合ベクトルを表す。μは定数を表す。
【００１７】
一方、ハイパーパラメータの設定値がｘで、エポック数がｔ（ｔは０以上の整数）であるときのニューラルネットワークの評価指標をｙｘ，ｔと記載する。評価指標は、精度を想定するが、ニューラルネットワークの良さを客観的に評価することが可能なもの、つまり、エポック数に基づき変動するニューラルネットワークの性能、を評価するものであればよい。
【００１８】
上記の学習曲線モデルを用いて、エポック数がτ（τは０以上の整数）までの学習曲線から、ｔエポック（ここではｔ＞τ、つまりτエポックより後）での評価指標ｙｘ，ｔ、つまり、τエポックより後の学習曲線を予測する。
【００１９】
評価指標ｙｘ，ｔの将来の学習曲線は、不確実性をもつ。その不確実性は次式の確率モデルで表すことができる。
【数２】
2020067910.tif 000004
【００２０】
ハイパーパラメータの設定値ｘを入力すると、学習曲線モデルのパラメータを出力するように、つまり、連結ベクトルｗ、結合ベクトルΘ、定数μおよびσ２を出力するように、予め学習されたニューラルネットワークを用意しておく。当該ニューラルネットワークを、以降、パラメータモデルと記載する。パラメータモデルは、ハイパーパラメータサーチが行われるニューラルネットワークよりも簡易なニューラルネットワークとする。パラメータモデルの重みパラメータを、ベクトルＷで表す。
【００２１】
学習曲線モデルの各パラメータは、ハイパーパラメータの設定値ｘと、重みパラメータＷに関する関数として、ｗ＝ｗ（ｘ；Ｗ）、Θ＝Θ（ｘ；Ｗ）、μ＝μ（ｘ；Ｗ）、σ２＝σ２（ｘ；Ｗ）と表すことができる。これにより、確率モデルは、次式のように表される。
【数３】
2020067910.tif 000005
【００２２】
重みパラメータＷの最適値は不明であるため、確率モデルを重みパラメータＷについて周辺化し、観測データに基づく確率モデルに変換する。
【数４】
2020067910.tif 000006
ベクトルＹｘ，τは、ハイパーパラメータの設定値がｘであるニューラルネットワークの、τエポックまでの各エポックにおける評価指標の列である。すなわち、ベクトルＹｘ，τは、設定値ｘのニューラルネットワークのτエポックまでの学習曲線である。ベクトルＤは、ハイパーパラメータの設定値がｘでない複数のニューラルネットワークの評価指標の列の集合である。すなわち、ベクトルＤは、学習曲線の集合である。ベクトルＤは、ハイパーパラメータサーチの前に、設定値ｘではない複数のニューラルネットワークに対して学習を行うことにより、取得する。すなわち、ベクトルＤは観測データである。
【００２３】
式（４）の右辺の積分はモンテカルロ法により近似できるため、式（４）は次式のように表すことができる。
【数５】
2020067910.tif 000007
これは、確率分布ｐ（Ｗ│Ｙｘ，τ，Ｄ）からＫ個の重みパラメータをサンプリングし、このサンプリング値を用いて、確率分布ｐ（ｙｘ，ｔ│Ｙｘ，τ，Ｄ）を算出することができることを示す。
【００２４】
しかし、式（５）では、重みパラメータＷは、確率分布ｐ（Ｗ│Ｙｘ，τ，Ｄ）からサンプリングされる。ゆえに、ハイパーパラメータの設定値がｘであるニューラルネットワークに対する学習がτエポックからτ’エポックまで進んだ場合、確率分布ｐ（Ｗ│Ｙｘ，τ’，Ｄ）からサンプリングする必要が生じる。すなわち、学習が進むごとに、最新の学習曲線に基づいて確率分布ｐ（Ｗ│Ｙｘ，τ’，Ｄ）を更新し、サンプリングを実行しなければない。サンプリングは、ＧＰＵを用いて行ったとしても、数分程度かかる。一方、１エポックの学習にかかる時間は数秒単位である。そのため、サンプリングがボトルネックになる、あるいは、誤って以前のサンプリング値を用いて計算が実行されてしまうといった問題が生じる恐れがある。
【００２５】
そこで、本実施形態では、式（５）を用いず、確率分布ｐ（Ｗ│Ｙｘ，τ，Ｄ）からサンプリングすることを避ける。確率分布ｐ（Ｗ│Ｙｘ，τ，Ｄ）を、次のように分解する。
【数６】
2020067910.tif 000008
式（６）を式（４）に代入すると、次式が成り立つ。
【数７】
2020067910.tif 000009
先程と同様に、モンテカルロ法により式（７）を近似する。近似式は、規格化定数Ｃで調整されて、次式のように表される。
【数８】
2020067910.tif 000010
式（８）では、先程とは異なり、重みパラメータは、確率分布ｐ（Ｗ│Ｙｘ，τ，Ｄ）ではなく、確率分布ｐ（Ｗ│Ｄ）からサンプリングされる。したがって、設定値ｘのニューラルネットワークに対する学習が進行しても、再サンプリングを行う必要がない。そのため、確率分布ｐ（ｙｘ，ｔ│Ｙｘ，τ，Ｄ）、つまりτエポックより後の学習曲線、を素早く予測することが可能になる。したがって、効率的に最適なハイパーパラメータを探索することが可能になる。
【００２６】
重みパラメータＷのサンプリング方法は、例えば、ＳＧＬＤ（Ｓｔｏｃｈａｓｔｉｃ  Ｇｒａｄｉｅｎｔ  Ｌａｎｇｅｖｉｎ  Ｄｙｎａｍｉｃｓ）、ＳＧＨＭＣ（Ｓｔｏｃｈａｓｔｉｃ  Ｇｒａｄｉｅｎｔ  Ｈａｍｉｌｔｏｎ  Ｍｏｎｔｅ Ｃａｒｌｏ）などの手法を用いることができる。これら以外のサンプリング方法が用いられてもよい。
【００２７】
学習装置１の各構成要素の概要について説明する。記憶部１１は、ハイパーパラメータサーチの処理に必要なデータを記憶する。必要なデータとしては、例えば、パラメータモデル、ニューラルネットワークの学習を進める際に用いられる訓練データ、学習曲線予測のために用いる、これまでに試したハイパーパラメータでの学習曲線などがある。
【００２８】
また、複数の設定値を含むデータが、必要なデータとして記録されているとする。当該データを設定値データと記載する。設定値データに含まれる各設定値はそれぞれ異なる。例えば、設定値データに、第１設定値ｘ１（ｘ１＝｛ｘ１１、ｘ１２、・・・・、ｘ１Ｍ｝）と、第２設定値ｘ２（ｘ２＝｛ｘ２１、ｘ２２、・・・・、ｘ２Ｍ｝）があるとする。このとき、第１設定値ｘ１と第２設定値ｘ２の対応する要素同士の組み合わせ（ｘ１１とｘ２１、ｘ１２とｘ２２、・・・・ｘ１Ｍとｘ２Ｍ）のうち、少なくとも一つが異なる。設定値データは、学習装置１の外部の装置が生成してもよいし、選択部１４などの学習装置１の構成要素が生成してもよい。設定値データの使われ方については、図２から４のフローチャートにて説明する。
【００２９】
なお、記憶部１１により記憶されるデータは、特に限られるものではない。例えば、学習装置１の各構成要素の処理結果が、随時、記憶部１１に記憶され、各構成要素は記憶部１１を参照して処理結果を取得してもよい。
【００３０】
サンプリング部１２は、式（８）に示した通り、確率分布ｐ（Ｗ│Ｄ）に基づき、パラメータモデルの重みパラメータＷをサンプリングする。上述の通り、学習が進むごとにサンプリングは行われない。サンプリングは、学習曲線予測部１３が学習曲線を初めて予測する前に行われればよい。なお、学習が1エポック進むたびにサンプリングするよりかは計算量が小さくなるため、ある程度学習が進行したときに、サンプリングし直すことを許容する。
【００３１】
学習曲線予測部１３は、式（８）に示した通り、確率分布ｐ（Ｗ│Ｄ）に基づいてサンプリングされた各重みパラメータを用いて確率分布ｐ（Ｙｘ，τ│Ｗｉ）および確率分布ｐ（ｙｘ，ｔ│Ｗｉ）を計算し、最終的にｐ（ｙｘ，ｔ│Ｙｘ，τ，Ｄ）を算出する。すなわち、学習曲線予測部１３は、サンプリングされた重みパラメータと、τエポックまでの学習における学習曲線と、に基づき、τエポックより後の学習曲線を予測する。なお、予測された学習曲線を、予測の学習曲線と記載する。また、予測ではない学習曲線を、実際の学習曲線と記載する。すなわち、学習曲線予測部１３は、予測の学習曲線を、サンプリングされた重みパラメータと、実際の学習曲線と、に基づき算出する。
【００３２】
予測の学習曲線は、学習が進むたびに算出する。すなわち、予測の学習曲線は、学習が進むたびに更新する。予測の学習曲線に用いられる実際の学習曲線も、学習が進むたびに算出するが、サンプリングは学習が進むたびに行う必要はない。そのため、学習曲線予測部１３は、学習進行前にサンプリングされた重みパラメータと、学習進行後に算出された実際の学習曲線と、に基づき、予測の学習曲線を更新する、と言える。
【００３３】
選択部１４は、複数の設定値から、処理に用いる設定値を選択する。例えば、設定値データから、今回の探索対象とする設定値を選択する。また、選択部１４は、予測の学習曲線に関する指標に基づき、探索対象とする設定値から、さらに設定値を選択する。なお、図４のフローチャートにて詳細は説明するが、選択された設定値に対応するニューラルネットワークに対して、学習が進められる。ゆえに、選択部１４は、予測の学習曲線に関する指標に基づき、複数の異なるハイパーパラメータをもつニューラルネットワークから、学習を進めるニューラルネットワークを選択するとも言える。当該指標については、後述する。
【００３４】
学習部１５は、指定されたニューラルネットワークに対して、訓練データに基づき、学習を実行する。学習は１エポックずつ進行するとして説明するが、学習を進める単位は１エポックでなくともよい。また、学習部１５は、学習完了後の実際の学習曲線を観測データＤとして用いて、パラメータモデルの重みパラメータＷを更新する。
【００３５】
学習曲線算出部１６は、指定されたニューラルネットワークの実際の学習曲線を算出する。すなわち、学習曲線算出部１６は、学習が進行する度に、学習曲線モデルではなく訓練データに基づき、そのエポックにおける実際の評価指数を算出する。
【００３６】
決定部１７は、少なくとも予測の学習曲線または実際の学習曲線に基づき、複数のニューラルネットワークから、少なくとも一つのニューラルネットワークを、有望なニューラルネットワークと決定する。例えば、所定の条件を満たす実際の学習曲線を検出し、当該学習曲線に対応するニューラルネットワークを有望としてもよい。そして、有望なニューラルネットワークに基づき、最適なハイパーパラメータを決定する。例えば、有望なニューラルネットワークの各設定値および各性能に基づき、勾配法などの公知の方法を用いて、最適値を算出してもよい。あるいは、最良の学習曲線を決定し、当該学習曲線に対応するニューラルネットワークを有望（最適）としてもよい。そして、有望なニューラルネットワークの設定値を、そのまま最適値としてもよいし、当該設定値を調整した上で最適値としてもよい。
【００３７】
出力部１８は、各構成要素の処理結果を出力する。例えば、決定部の決定結果である、ハイパーパラメータの最適値、最適なニューラルネットワークなどを出力することが考えられる。
【００３８】
次に、各構成要素の処理の詳細を、処理の流れに沿って、説明する。図２は、ハイパーパラメータサーチ内の初期処理の概略フローチャートである。本フローでは、観測データＤを得るために行われる。
【００３９】
選択部１４は、ハイパーパラメータの設定値データから、複数の設定値を選択する（Ｓ１０１）。例えば、数十個程度の設定値が選択されることが考えられる。選択方法は特に限られるものではなく、ランダムに選択されてよい。
【００４０】
学習部１５が、選択された設定値に対応する複数のニューラルネットワークそれぞれに対して、学習を１エポック進める（Ｓ１０２）。そして、学習曲線算出部１６が、各ニューラルネットワークの学習進行後の評価指標を算出する（Ｓ１０３）。終了条件を満たしていない場合、例えばエポック数が上限値（Ｔエポック、Ｔは１以上の整数）に達していない場合（Ｓ１０４のＮＯ）は、Ｓ１０２とＳ１０３の処理が繰り返される。すなわち、学習がさらに１エポック進められて、学習進行後の評価指標が算出される。こうして、各エポックにおける評価指標が算出されて、実際の学習曲線が算出される。算出された実際の学習曲線は、観測データＤとして用いられる。なお、終了条件は、上限値に関する条件以外でもよい。また、エポック数の上限値は、適宜に定めておけばよい。後述する、その他の終了条件についても同様である。
【００４１】
終了条件を満たした場合（Ｓ１０４のＹＥＳ）は、学習部が、実際の学習曲線により、パラメータモデルを更新する（Ｓ１０５）。すなわち、確率分布ｐ（Ｗ│Ｄ）が更新される。
【００４２】
図３は、ハイパーパラメータサーチ内のメイン処理の概略フローチャートである。初期処理の終了後に本メイン処理が行われる。
【００４３】
本フローでは、ハイパーパラメータの設定値データから、有望な設定値を割り出す。但し、ハイパーパラメータの設定値データに含まれる複数の設定値を１度に探索するのではなく、探索対象の設定値を絞り、複数回に分けて探索を行う。探索１回あたりをＲｏｕｎｄと称し、探索回数をＲｏｕｎｄ数と記載する。複数のＲｏｕｎｄに分けることにより、あるＲｏｕｎｄでの処理結果を、次回のＲｏｕｎｄに活用することができる。例えば、あるＲｏｕｎｄにおいて算出された実際の学習曲線を、次回のＲｏｕｎｄにおける観測データＤとして活用することができる。
【００４４】
また、Ｒｏｕｎｄ内において、複数の設定値に対応する複数のニューラルネットワークのうち、予測の学習曲線に基づいて有望と判断されたニューラルネットワークに対して、学習を進める。有望と判断されなかったニューラルネットワークに対しては学習を進めない。また、全ニューラルネットワークの学習を完了させる必要はない。これにより、学習を行うニューラルネットワークの数が減少するため、さらに、ハイパーパラメータサーチに要する時間が短縮できる。また、計算リソースの浪費を抑えることができる。
【００４５】
有望の判断および学習の進行は、１Ｒｏｕｎｄ内において繰り返し行われる。この繰り返しをｉｔｅｒａｔｉｏｎと称し、繰り返し回数をｉｔｅｒａｔｉｏｎ数と記載する。
【００４６】
まず、Ｒｏｕｎｄ数が更新される（Ｓ２０１）。サンプリング部１２が、確率分布ｐ（Ｗ｜Ｄ）に基づき、Ｋ個の重みパラメータＷをサンプリングする（Ｓ２０２）。選択部１４が、このＲｏｕｎｄにおいて探索対象とする設定値を選択する（２０３）。例えば、数十から数百ほどの設定値が選択されることが考えられる。この選択された設定値の集合をＸと記載する。設定値はランダムに選択されてもよいし、ＴＰＥ（Ｔｒｅｅ−Ｓｔｒｕｃｔｕｒｅｄ  Ｐａｒｚｅｎ  Ｅｓｔｉｍａｔｏｒ）といった手法を用いて選択されてもよい。そして、学習曲線予測部１３が、集合Ｘ内の各設定値の予測の学習曲線を算出する（Ｓ２０４）。
【００４７】
そして、ｉｔｅｒａｔｉｏｎ内の処理が行われる（Ｓ２０５）。図４は、ｉｔｅｒａｔｉｏｎ内の処理の概略フローチャートである。まず、ｉｔｅｒａｔｉｏｎ数が更新される（Ｓ３０１）。選択部１４が、予測の学習曲線に関する指標に基づき、設定値を少なくとも一つ選択する（Ｓ３０２）。学習部１５が、選択された設定値に対応するニューラルネットワークの学習を１エポック進行させる（Ｓ３０３）。このように、学習を進行させるニューラルネットワークは、一つでもよいし、複数でもよい。
【００４８】
予測の学習曲線に関する指標は、予測の学習曲線が良好であるかを示すものであればよい。例えば、現時点のエポック数よりも大きく、かつ、エポック数の上限値以下の範囲内に存在する、あるエポックにおける期待改善量ＥＩ（Ｅｘｐｅｃｔｅｄ  Ｉｍｐｒｏｖｅｍｅｎｔ）または改善確率ＰＩ（Ｐｒｏｂａｂｌｉｔｙ  ｏｆ  Ｉｍｐｒｏｖｅｍｅｎｔ）などを用いてもよい。あるいは、独自の指標を用いてもよい。
【００４９】
発明者独自の指標であるＣＥＩについて説明する。ハイパーパラメータの設定値がｘであるニューラルネットワークに対するＣＥＩ（ｘ）は、次式にて表される。
【数９】
2020067910.tif 000011
ｔｘは、設定値ｘのニューラルネットワークにおける現時点のエポック数を表す。なお、学習は、選択された設定値に対応するニューラルネットワークだけ進められるため、各設定値に対応する各ニューラルネットワークの現時点のエポック数は、均一ではない。
【００５０】
なお、式（９）内の期待改善量ＥＩ（ｘ，ｔ）は、下記で表される。
【数１０】
2020067910.tif 000012
ｙ＊は、これまでに実施された全ＲＯＵＮＤにおいて算出された全評価指標の最良値を示す。なお、評価指標が、実際の学習曲線と、学習曲線モデルとの差分の場合は、最小値が最良値であり、実際の学習曲線と、学習曲線モデルとの合致する割合の場合は、最大値が最良値となる。なお、ＥＩ（ｘ，ｔ）は、次式でもよい。
【数１１】
2020067910.tif 000013
評価指標ｙｘ，ｔの分布は、上述の学習曲線の予測方法からも分かるように、混合ガウス分布であるため、式（１０）および（１１）のＥＩ（ｘ，ｔ）は、両方とも解析的に計算できる。
【００５１】
このように、ＣＥＩ（ｘ）は、現時点のエポック数ｔｘよりも大きく、かつ、エポック数の上限値Ｔ以下の範囲内の各エポックでの各期待改善量ＥＩ（ｘ，ｔ）をそれぞれ、各エポックと現時点のエポック数との各差分値（ｔ−ｔｘ）にて除算した各値のうちの最大値を示す。すなわち、ＣＥＩは、これまでに実施された全ＲＯＵＮＤにおいて消費したエポック数に対し、これまでに実施された全ＲＯＵＮＤにおいて算出された全ての評価指標の最良値としてプロットしたグラフにおける、今後の傾きを示す指標である。この傾きが大きい、つまり、全評価指標の最良値を最も急激に更新すると思われる、設定値を優先的に選択する。一般的な指標では、評価指標が学習の初期では悪いが末期では非常に良いニューラルネットワークが選択されにくいといった問題がある。しかし、ＣＥＩでは、今後の学習期間全体（ｔｘ＋１からＴまで）が考慮されるため、評価指標が学習の初期では悪いが末期では非常に良いニューラルネットワークを選択することができるようになる。このように、選択部１４は、ＣＥＩのような指標を用いる事により、優先的に学習を進めるべきニューラルネットワークを選択することもできる。
【００５２】
このようにして選択された設定値に対応するニューラルネットワークの学習が進行した後、学習曲線算出部１６が、学習進行後の実際の学習曲線を算出する（Ｓ３０４）。そして、学習曲線予測部１３が、学習進行前にサンプリングされた重みパラメータと、学習進行後の実際の学習曲線と、に基づき、予測の学習曲線を更新する（Ｓ３０５）。
【００５３】
ｉｔｅｒａｔｉｏｎの終了条件を満たしていない場合、例えばｉｔｅｒａｔｉｏｎ数が上限値に達していない場合（Ｓ３０６のＮＯ）は、Ｓ３０１からＳ３０５の処理が繰り返される。すなわち、集合Ｘから新たな設定値が選択されて、新たな設定値での処理が行われる。こうして繰り返し処理が行われ、ｉｔｅｒａｔｉｏｎの終了条件を満たした場合（Ｓ３０６のＹＥＳ）は、ｉｔｅｒａｔｉｏｎの終了処理が行われる（Ｓ３０７）。ｉｔｅｒａｔｉｏｎの終了処理では、各ｉｔｅｒａｔｉｏｎにおいて算出された実際の学習曲線が観測データＤに追加される。すなわち、Ｓ１０５と同様にして、Ｐ（Ｗ｜Ｄ）が更新される。また、ｉｔｅｒａｔｉｏｎ数の初期化などが行われる。
【００５４】
図３の説明に戻る。ｉｔｅｒａｔｉｏｎ内の処理（Ｓ２０５）の後、Ｒｏｕｎｄの終了条件が確認される。Ｒｏｕｎｄの終了条件を満たしていない場合、例えばＲｏｕｎｄ数が上限値に達していない場合（Ｓ２０６のＮＯ）は、Ｓ２０１の処理に戻り、新たなＲｏｕｎｄでの処理が開始される。ｉｔｅｒａｔｉｏｎの終了処理（Ｓ３０７）において、観測データＤが追加されたため、新たなＲｏｕｎｄでは、予測の学習曲線を前のＲｏｕｎｄよりも精度良く算出することができる。Ｒｏｕｎｄの終了条件を満たした場合（Ｓ２０７のＹＥＳ）は、全ての探索が終了となり、決定部１７が、全Ｒｏｕｎｄの結果に基づき、有望なニューラルネットワーク、最適なハイパーパラメータなどを決定する（Ｓ２０７）。
【００５５】
なお、本説明におけるフローチャートは一例であり、上記の例に限られるものではない。実施形態の求められる仕様、変更などに応じて、手順の並び替え、追加、および省略が行われてもよい。例えば、サンプリング（Ｓ２０２）は、予測の学習曲線を算出する（Ｓ２０４）処理の前に限り行われることを想定したが、ｉｔｅｒａｔｉｏｎ内の処理において、ｉｔｅｒａｔｉｏｎ数が所定数に到達したときに、サンプリングし直すことも考えられる。
【００５６】
以上のように、本実施形態によれば、学習曲線を推測する際に、学習進行ごとに再サンプリングを行わず、学習進行前にサンプリングされた重みパラメータを用いる。これにより、学習曲線の予測に要する時間を短縮することができる。
【００５７】
また、本実施形態によれば、予測の学習曲線により、ニューラルネットワークの有望性が判断可能なため、有望と思われるニューラルネットワークだけに対して学習を進めることができる。ニューラルネットワークには多数のハイパーパラメータが存在するため、探索すべき設定値ｘはさらに膨大な数となる。ゆえに、ハイパーパラメータサーチの所要時間は非常に長くなる。そのため、本実施形態のように、有望と思われるニューラルネットワークに計算資源を集中し、ハイパーパラメータサーチの効率を向上させることが好ましい。
【００５８】
また、学習当初は有望と思われなかったニューラルネットワークが、学習が進行するにつれて有望と判断される場合もあり得る。そのため、有望と思われるニューラルネットワークを選出して学習を進めると、最終的には有能となるニューラルネットワークのハイパーパラメータを考慮せずに、最適なハイパーパラメータを決定してしまう恐れがある。しかし、指標ＣＥＩを用いる事により、今後の学習期間全体を考慮して、ニューラルネットワークの有望性を判断することができる。これにより、最終的には有能となるニューラルネットワークのハイパーパラメータを考慮せずに、最適なハイパーパラメータを決定してしまうことを防ぐことができる。
【００５９】
なお、上記の実施形態の少なくとも一部は、プロセッサ、メモリなどを実装しているＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：集積回路）などの専用の電子回路（すなわちハードウェア）により実現されてもよい。複数の構成要素が一つの電子回路で実現されてもよいし、一つの構成要素が複数の電子回路で実現されてもよいし、構成要素と電子回路が一対一で実現されていてもよい。また、上記の実施形態の少なくとも一部は、ソフトウェア（プログラム）を実行することにより、実現されてもよい。例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載された中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、画像処理装置（ＧＰＵ：Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサ（処理回路、Ｐｒｏｃｅｓｓｉｎｇ  ｃｉｒｃｕｉｔ、Ｐｒｏｃｅｓｓｉｎｇ  ｃｉｒｃｕｉｔｒｙ）にプログラムを実行させることにより、上記の実施形態の処理を実現することが可能である。言い換えると、当該プログラムの実行により、プロセッサ（処理回路）が、各装置の各処理を実行できるように構成される。
【００６０】
例えば、コンピュータが読み取り可能な記憶媒体に記憶された専用のソフトウェアをコンピュータが読み出すことにより、コンピュータを上記の実施形態の装置とすることができる。記憶媒体の種類は特に限定されるものではない。また、通信ネットワークを介してダウンロードされた専用のソフトウェアをコンピュータがインストールすることにより、コンピュータを上記の実施形態の装置とすることができる。こうして、ソフトウェアによる情報処理が、ハードウェア資源を用いて、具体的に実装される。
【００６１】
図５は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。学習装置１は、プロセッサ２１と、主記憶装置２２と、補助記憶装置２３と、ネットワークインタフェース２４と、デバイスインタフェース２５と、を備え、これらがバス２６を介して接続されたコンピュータ装置２として実現できる。
【００６２】
なお、図５のコンピュータ装置２は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図５では、１台のコンピュータ装置２が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行してもよい。
【００６３】
プロセッサ２１は、コンピュータの制御装置および演算装置を含む電子回路（処理回路）である。プロセッサ２１は、コンピュータ装置２の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置などに出力する。具体的には、プロセッサ２１は、コンピュータ装置２のＯＳ（オペレーティングシステム）や、アプリケーションなどを実行することにより、コンピュータ装置２を構成する各構成要素を制御する。プロセッサ２１は、上記の処理を行うことができれば特に限られるものではない。記憶部１１以外の、学習装置１の構成要素は、プロセッサ２１により実現されることが想定される。
【００６４】
主記憶装置２２は、プロセッサ２１が実行する指示および各種データなどを記憶する記憶装置であり、主記憶装置２２に記憶された情報がプロセッサ２１により直接読み出される。補助記憶装置２３は、主記憶装置２２以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。記憶部１１は、主記憶装置２２または補助記憶装置２３により実現されてもよい。すなわち、記憶部１１は、メモリでもよいし、ストレージでもよい。
【００６５】
ネットワークインタフェース２４は、無線または有線により、通信ネットワーク３に接続するためのインタフェースである。ネットワークインタフェース２４は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース２４より、通信ネットワーク３を介して、コンピュータ装置２と外部装置４Ａとを接続することができる。
【００６６】
デバイスインタフェース２５は、外部装置４Ｂと直接接続するＵＳＢなどのインタフェースである。すなわち、コンピュータ装置２と外部装置４との接続は、ネットワークを介してでもよいし、直接でもよい。
【００６７】
なお、外部装置４（４Ａおよび４Ｂ）は、学習装置１の外部の装置、学習装置１の内部の装置、外部記憶媒体、およびストレージ装置のいずれでもよい。
【００６８】
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６９】
１：学習装置（学習曲線予測装置）、１１：記憶部、１２：サンプリング部、１３：学習曲線予測部、１４：選択部、１５：学習部、１６：学習曲線算出部、１７：決定部、１８：出力部、２：コンピュータ装置、２１：プロセッサ、２２：主記憶装置、２３：補助記憶装置、２４：ネットワークインタフェース、２５：デバイスインタフェース、２６：バス、３：通信ネットワーク、４（４Ａ、４Ｂ）：外部装置
【図１】
2020067910.tif 000014
【図２】
2020067910.tif 000015
【図３】
2020067910.tif 000016
【図４】
2020067910.tif 000017
【図５】
2020067910.tif 000018