IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社エイゾスの特許一覧

特許7359493ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム
<>
  • 特許-ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム 図1
  • 特許-ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム 図2
  • 特許-ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム 図3
  • 特許-ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム 図4
  • 特許-ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム 図5
  • 特許-ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム 図6
  • 特許-ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム 図7
  • 特許-ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-02
(45)【発行日】2023-10-11
(54)【発明の名称】ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20231003BHJP
   G06N 3/04 20230101ALI20231003BHJP
【FI】
G06N20/00
G06N3/04
【請求項の数】 7
(21)【出願番号】P 2022548325
(86)(22)【出願日】2020-09-10
(86)【国際出願番号】 JP2020034354
(87)【国際公開番号】W WO2022054209
(87)【国際公開日】2022-03-17
【審査請求日】2022-09-12
(73)【特許権者】
【識別番号】520363199
【氏名又は名称】株式会社エイゾス
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】河尻 耕太郎
【審査官】藤原 敬利
(56)【参考文献】
【文献】国際公開第2017/154284(WO,A1)
【文献】特開2020-123292(JP,A)
【文献】中国特許出願公開第110633797(CN,A)
【文献】小川恭子ほか,進化型機械学習に基づく問題解決手法の提案,電気学会研究会資料,日本,一般社団法人電気学会,2019年05月27日,IS-19-45,pp.107-112
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
第1ニューラルネットワークのハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの性能である学習後性能を出力するように学習器を学習させる学習処理部と、
前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能に基づいて、当該複数のハイパーパラメータセットに基づく新たな複数のハイパーパラメータセットを生成し、生成した新たな複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して、当該新たな複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能を得る、という処理を、複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークを学習させずに繰り返すことで、前記第1ニューラルネットワークのハイパーパラメータセットを調整するハイパーパラメータ調整部と、
を備えることを特徴とするハイパーパラメータ調整装置。
【請求項2】
前記ハイパーパラメータ調整部は、前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能を用いた、ヒューリスティックな探索手法により前記第1ニューラルネットワークのハイパーパラメータセットを調整する、
ことを特徴とする請求項1に記載のハイパーパラメータ調整装置。
【請求項3】
前記ハイパーパラメータ調整部は、前記第1ニューラルネットワークのハイパーパラメータセットを個体とし、当該ハイパーパラメータセットを学習済みの前記学習器に入力して得られる当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの前記学習後性能に応じた値を適応度とし、複数の前記個体の前記適応度に基づいて次世代の複数の個体を生成する処理を繰り返す遺伝的アルゴリズムにより、前記第1ニューラルネットワークのハイパーパラメータセットを調整する遺伝的アルゴリズム処理部である、
ことを特徴とする請求項2に記載のハイパーパラメータ調整装置。
【請求項4】
前記第1ニューラルネットワークに入力される解析対象データに応じて、前記学習器のハイパーパラメータを決定する学習器パラメータ決定部と、
をさらに備えることを特徴とする請求項1から3のいずれか1項に記載のハイパーパラメータ調整装置。
【請求項5】
前記学習器は、前記第1ニューラルネットワークとは異なる第2ニューラルネットワークにより構成される、
ことを特徴とする請求項1から4のいずれか1項に記載のハイパーパラメータ調整装置。
【請求項6】
コンピュータを、
第1ニューラルネットワークのハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの性能である学習後性能を出力するように学習器を学習させる学習処理部と、
前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能に基づいて、当該複数のハイパーパラメータセットに基づく新たな複数のハイパーパラメータセットを生成し、生成した新たな複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して、当該新たな複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能を得る、という処理を、複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークを学習させずに繰り返すことで、前記第1ニューラルネットワークのハイパーパラメータセットを調整するハイパーパラメータ調整部と、
として機能させるためのハイパーパラメータ調整プログラムを記録したコンピュータ読み取り可能な非一時的な記録媒体。
【請求項7】
コンピュータを、
第1ニューラルネットワークのハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの性能である学習後性能を出力するように学習器を学習させる学習処理部と、
前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能に基づいて、当該複数のハイパーパラメータセットに基づく新たな複数のハイパーパラメータセットを生成し、生成した新たな複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して、当該新たな複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能を得る、という処理を、複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークを学習させずに繰り返すことで、前記第1ニューラルネットワークのハイパーパラメータセットを調整するハイパーパラメータ調整部と、
として機能させることを特徴とするハイパーパラメータ調整プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラムに関する。
【背景技術】
【0002】
従来、ニューラルネットワーク(以下、本明細書では「NN(Neural Network)」と記載する場合がある)が知られている。NNとは、脳機能を模して構成されたモデルであり、ニューロンと呼ばれる1又は複数のノードを含む層が複数結合された構成を有している。NNは、入力データに基づいて、当該入力データに対応する出力データを推測して出力するものである。
【0003】
学習データを用いてNNを学習させることで、NNは未知の入力データに対応する高精度な出力データを出力可能となる。NNの学習処理を進めていくに従って、NNが有するパラメータが調整(変更)されていく。学習処理により変更されるNNのパラメータとしては、例えば、ニューロン間を結合するエッジに定義される重みや各ニューロンに定義されるバイアスなどがある。
【0004】
NNが有するパラメータの中には、上述の重みやバイアスの他、学習処理によって変更されないパラメータがある。そのようなパラメータはハイパーパラメータと呼ばれる。ハイパーパラメータとしては、これに限られるものではないが、例えば、エポック数(1つの学習データの繰り返し利用回数)、隠れ層数(最も入力側にある入力層及び最も出力側にある出力層以外の層の数)、隠れ層ニューロン数(各隠れ層のニューロン数)、ドロップアウト数(学習処理において重みやバイアスを調整しないニューロン(不活性ニューロン)の数)、あるいは、バッチ数(学習データを複数のサブセットに分けたときのサブセットに含まれる学習データの数)などがある。ハイパーパラメータは、NNの構造、あるいは、学習方法を表すパラメータであるとも言える。
【0005】
ここで、NNのハイパーパラメータに応じて、十分に学習済みの当該NNの出力精度や、当該NNの学習効率(所定回数の学習を行った際における当該NNの出力精度)が変動することが知られている。したがって、NNの管理者あるいはユーザは、当該NNのハイパーパラメータを適切な値に設定するのが望ましい。なお、適切なハイパーパラメータは、NNの解析対象、すなわちNNの入力データに応じてそれぞれ異なるのが一般的である。
【0006】
このことに鑑み、従来、調整処理を用いて、NNの適切なハイパーパラメータセット(複数のハイパーパラメータの項目に対する複数の値の集合)を特定する技術が提案されている。そのような調整処理の一例として、遺伝的アルゴリズム(簡略的に「GA(Genetic Algorithm)」とも呼ばれる)が知られている。例えば、特許文献1には、NNのハイパーパラメータセットを個体とし、当該ハイパーパラメータセットが設定された学習済みのNNの出力誤差に応じた値を適応度とした遺伝的アルゴリズムによって、NNの最適なハイパーパラメータセットを特定することが開示されている。また、特許文献2には、NNの構造を個体とし、当該構造を有する学習済みのNNの出力誤差に応じた値を適応度とした遺伝的アルゴリズムによって、NNの最適な構造を特定することが開示されている。
【0007】
なお、NNのハイパーパラメータセットを特定するものではないが、NNと遺伝的アルゴリズムを組み合わせた技術として、非特許文献1には、遺伝的アルゴリズムによって、NNで用いる学習データを指定することが開示されている。また、非特許文献2には、NNが学習する際に局所解に落ち込むのを回避するために、NNの重み及びバイアスのセットを個体とした遺伝的アルゴリズムを用いることが開示されている。
【先行技術文献】
【特許文献】
【0008】
【文献】特許第6523379号公報
【文献】特許第6351671号公報
【非特許文献】
【0009】
【文献】小俣光司 他,「遺伝的アルゴリズムとその評価関数としてのニューラルネットワークを用いたメタノール合成用Cu-Zn-Al酸化物触媒組成最適化」,石油学会論文誌,45巻3号(2002年),192-195頁
【文献】光石衛 他,「ニューラル・ネットワークと遺伝的アルゴリズムとを用いた高精密マシニングセンタの開発」,日本機械学会論文集(C編),61巻591号(1995年11月),395-400頁
【発明の概要】
【発明が解決しようとする課題】
【0010】
調整処理によってNNのハイパーパラメータセットを調整しようとする場合、その調整処理の処理量又は処理時間が膨大になるという問題が生じ得る。特に、遺伝的アルゴリズムを含む従来の調整処理においては、互いに異なるハイパーパラメータセットが設定された複数のNNを十分に学習させなければならない場合がある。そのような場合、調整処理のうち、当該NNを学習させるための処理量又は処理時間が膨大になるという問題が生じ得る。当該問題を図8を参照しながら説明する。図8は、従来における遺伝的アルゴリズムを用いたNNのハイパーパラメータセットの調整処理の様子を示す概念図である。
【0011】
遺伝的アルゴリズムの個体は、NNのハイパーパラメータセットとなる。なお、当該個体を構成する各遺伝子は、当該ハイパーパラメータセットを構成する各ハイパーパラメータである。そして、各個体の適応度(適合度とも呼ばれる)は、各個体としての各ハイパーパラメータセットが設定された、学習済みのNNの性能に応じた値となる。NNの性能とは、例えば、NNの出力誤差(ある入力データに対するNNの出力データと当該入力データに対応する真のデータ(すなわち正解データ)との間の差分)、NNに入力データが入力されてから出力データを出力するまでの間の時間である解析時間、あるいはこれらの組み合わせなどである。本明細書では、特に、十分に学習済みのNNの性能を「学習後性能」と呼び、学習後性能のうちの、十分に学習済みのNNの出力誤差を「学習後誤差」と、十分に学習済みのNNの解析時間を「学習後解析時間」と呼ぶことにする。適応度が高い程、当該個体、つまりハイパーパラメータセットが優秀であることを示す場合、例えば、学習後性能が高い(つまり学習後誤差が小さい、あるいは、学習後解析時間が短い)程、各個体の適応度を高いとすることができる。各個体に対する適応度は、同一のハイパーパラメータが設定された複数の学習済みのNNの複数の学習後性能に基づいて決定される場合もある。例えば、各個体に対する適応度を、同一のハイパーパラメータに対する複数の学習後誤差の平均値、あるいは、同一のハイパーパラメータに対する複数の学習後解析時間の平均値とされる場合もある。
【0012】
図8に示すように、まず、初期個体群としてN個の個体、すなわち第1世代のN個のハイパーパラメータセットが用意される。第1世代のN個のハイパーパラメータセットに含まれる各ハイパーパラメータの値はランダムに選択されてよい。なお、図8では、第m世代の第n番目のハイパーパラメータセットが、「ハイパーパラメータセットm-n」と記載されている。例えば、第1世代の第2番目のハイパーパラメータセットが、「ハイパーパラメータセット1-2」と記載されている。
【0013】
次に、第1世代のN個のハイパーパラメータセットそれぞれの適応度が算出される。上述のように、各ハイパーパラメータセットの適応度は、当該ハイパーパラメータセットが設定されたNNの学習後性能に基づいて算出される。図8の例では、学習後性能として学習後誤差が示されている。したがって、各ハイパーパラメータセットに対する適応度を算出するためには、各ハイパーパラメータセットが設定されたN個のNNをそれぞれ十分に学習させなければならない。特に、各ハイパーパラメータセットの適応度を、同一のハイパーパラメータが設定された複数の(ここではP個の)学習済みのNNの学習後性能に基づいて決定する場合、N個のNNをそれぞれP回学習させる必要がある。
【0014】
次に、算出された第1世代のN個のハイパーパラメータセットそれぞれの適応度に基づいて、第2世代のN個のハイパーパラメータセットが生成される。第2世代のN個のハイパーパラメータセットの取得方法については、例えば、第1世代のN個のハイパーパラメータセットのうち、適応度が高いハイパーパラメータセットを残すエリート保存、第1世代から選択された2つのハイパーパラメータセットそれぞれの一部のハイパーパラメータを交換する交叉、第1世代のハイパーパラメータセットに含まれるハイパーパラメータをランダムに変更する突然変異などの種々の方法がある。当該方法については、従来の遺伝的アルゴリズムと同様の方法を採用し得るため、ここでは詳細な説明は省略する。
【0015】
さらに、第2世代のN個のハイパーパラメータセットそれぞれの適応度が算出される。第2世代においても、第1世代同様、各ハイパーパラメータセットに対する適応度を算出するためには、各ハイパーパラメータセットが設定されたN個のNNをそれぞれ十分に学習させる必要がある。ここでも、各ハイパーパラメータセットの適応度を、同一のハイパーパラメータが設定されたP個の学習済みのNNの学習後性能に基づいて決定する場合、N個のNNをそれぞれP回学習させる必要がある。
【0016】
そして、算出された第2世代のN個のハイパーパラメータセットそれぞれの適応度に基づいて、第3世代のN個のハイパーパラメータセットが生成される。以後、上記同様の処理が世代を進めながら繰り返されていく。上述の処理を世代を進めながら繰り返していくことにより、NNのハイパーパラメータが調整されていき、やがて適応度が高い個体、すなわち、学習後性能の高いNNのハイパーパラメータセット(理想的には最適なハイパーパラメータセット)を得ることができる。
【0017】
遺伝的アルゴリズムは、所定の終了条件を満たすまで実行される。所定の終了条件とは、例えば、所定の世代までの処理が完了したこと、所定の適応度を超える個体が生成されたこと、あるいは、所定の世代のN個の個体の平均適応度が所定の閾値以上となったこと、などである。
【0018】
上述の通りであるから、G世代分の処理を行い、1つの世代の個体としてN個のハイパーパラメータセットを用いる遺伝的アルゴリズムによってNNのハイパーパラメータセットを調整する場合、G×N個のNNを十分に学習させる必要があるということになる。さらに、各ハイパーパラメータセットの適応度を、同一のハイパーパラメータが設定されたP個の学習済みのNNの学習後性能に基づいて決定するならば、G×N個のNNをそれぞれP回学習させなければならず、すなわち、G×N×P個のNNを十分に学習させるのと同じ量の学習処理が必要となる。G×N個のNN、あるいは、G×N×P個のNNを十分に学習させるには、学習のための処理量又は処理時間がかなり膨大となる。
【0019】
遺伝的アルゴリズムの他にも、互いに異なるハイパーパラメータセットが設定された複数のNNの学習後誤差に基づいて、当該NNのハイパーパラメータセットを調整する場合にも、当該複数のNNの学習後誤差を取得するためには、各NNを十分に学習させる必要がある。
【0020】
本明細書で開示されるハイパーパラメータ調整装置の目的は、調整処理によってニューラルネットワークのハイパーパラメータセットを調整する際の処理量又は処理時間を低減することにある。
【課題を解決するための手段】
【0021】
本明細書で開示されるハイパーパラメータ調整装置は、第1ニューラルネットワークのハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの性能である学習後性能を出力するように学習器を学習させる学習処理部と、前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能に基づいて、前記第1ニューラルネットワークのハイパーパラメータセットを調整するハイパーパラメータ調整部と、を備えることを特徴とする。
【0022】
前記ハイパーパラメータ調整部は、前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能を用いた、ヒューリスティックな探索手法により前記第1ニューラルネットワークのハイパーパラメータセットを調整するとよい。
【0023】
前記ハイパーパラメータ調整部は、前記第1ニューラルネットワークのハイパーパラメータセットを個体とし、当該ハイパーパラメータセットを学習済みの前記学習器に入力して得られる当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの前記学習後性能に応じた値を適応度とした遺伝的アルゴリズムにより、前記第1ニューラルネットワークのハイパーパラメータセットを調整する遺伝的アルゴリズム処理部であるとよい。
【0024】
前記第1ニューラルネットワークに入力される解析対象データに応じて、前記学習器のハイパーパラメータを決定する学習器パラメータ決定部と、をさらに備えるとよい。
【0025】
前記学習器は、前記第1ニューラルネットワークとは異なる第2ニューラルネットワークにより構成されるとよい。
【0026】
また、本明細書で開示される記録媒体は、コンピュータを、第1ニューラルネットワークのハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの性能である学習後性能を出力するように学習器を学習させる学習処理部と、前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能に基づいて、前記第1ニューラルネットワークのハイパーパラメータセットを調整するハイパーパラメータ調整部と、として機能させるためのハイパーパラメータ調整プログラムを記録したコンピュータ読み取り可能な非一時的な記録媒体である。
【0027】
また、本明細書で開示されるハイパーパラメータ調整プログラムは、コンピュータを、第1ニューラルネットワークのハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの性能である学習後性能を出力するように学習器を学習させる学習処理部と、前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能に基づいて、前記第1ニューラルネットワークのハイパーパラメータセットを調整するハイパーパラメータ調整部と、として機能させることを特徴とする。
【発明の効果】
【0028】
本明細書で開示されるハイパーパラメータ調整装置によれば、調整処理によってニューラルネットワークのハイパーパラメータセットを調整する際の処理量又は処理時間を低減することができる。
【図面の簡単な説明】
【0029】
図1】本実施形態に係る解析装置の構成概略図である。
図2】第1NNの構造の例を示す概念図である。
図3】第1NNの学習後誤差を示す概念図である。
図4】第2NNの学習データの例を示す図である。
図5】第2NNの学習処理の様子を示す概念図である。
図6】本実施形態における遺伝的アルゴリズムを用いた第1NNのハイパーパラメータセットの調整処理の様子を示す概念図である。
図7】本実施形態における解析装置の処理の流れを示すフローチャートである。
図8】従来における遺伝的アルゴリズムを用いたNNのハイパーパラメータセットの調整処理の様子を示す概念図である。
【発明を実施するための形態】
【0030】
図1は、本実施形態に係るハイパーパラメータ調整装置としての解析装置10の構成概略図である。本実施形態に係る解析装置10は、サーバコンピュータにより構成される。しかしながら、以下に説明する機能を発揮可能な限りにおいて、解析装置10としてはどのような装置であってもよい。例えば、解析装置10は、パーソナルコンピュータなどであってもよい。
【0031】
入出力インターフェース12は、解析装置10に対して種々の情報を入力するためのインターフェース、あるいは、解析装置10から種々の情報を出力するためのインターフェースである。
【0032】
入出力インターフェース12は、例えば、ネットワークアダプタなどから構成されるネットワークインターフェースであってよい。ネットワークインターフェースによれば、解析装置10は、他の装置と通信可能となり、他の装置から種々の情報を受信することができ、また、他の装置に対して種々の情報を送信することができる。
【0033】
また、入出力インターフェース12は、例えば、キーボードやマウス、あるいはタッチパネルなどから構成される入力インターフェースであってよい。入力インターフェースによれば、ユーザは、解析装置10に種々の情報を入力することができる。
【0034】
また、入出力インターフェース12は、例えば、液晶パネルなどから構成されるディスプレイあるいはスピーカなどから構成される出力インターフェースであってよい。出力インターフェースによれば、解析装置10は、ユーザなどに向けて種々の情報を出力することができる。
【0035】
メモリ14は、例えばHHD(Hard Disk Drive)、SSD(Solid State Drive)、ROM(Read Only Memory)、あるいはRAM(Random Access Memory)などを含んで構成されている。メモリ14は、後述のプロセッサ20とは別に設けられてもよいし、少なくとも一部がプロセッサ20の内部に設けられていてもよい。メモリ14には、解析装置10の各部を動作させるための、ハイパーパラメータ調整プログラムとしての解析プログラムが記憶される。解析プログラムは、コンピュータ(本実施形態では解析装置10)が読み取り可能な非一時的な記録媒体に記録されることができる。その場合、解析装置10は、当該記録媒体から解析プログラムを読み込んで実行することができる。
【0036】
また、図1に示す通り、メモリ14には第1NN(ニューラルネットワーク)16、及び、学習器としての第2NN18が記憶される。なお、後述するように、第1NN16の実体は、第1NN16の構造を定義するプログラム、第1NN16に関する各種パラメータ、及び、入力データに対して処理を行うための処理実行プログラムなどである。したがって、メモリ14に第1NN16が記憶されるとは、上記プログラムや各種パラメータがメモリ14に記憶されることを意味する。第2NN18についても同様である。
【0037】
第1NN16は、解析装置10の解析対象データを入力として、当該解析対象データに対応する出力データを出力するものである。解析対象データは何であってもよく、種々の分野のデータを用いることができる。すなわち、第1NN16は幅広い分野で用いられることができる。
【0038】
第1NN16にはハイパーパラメータセットが設定されるところ、第1NN16のハイパーパラメータセットが、ハイパーパラメータ調整装置としての解析装置10による調整処理の対象となるハイパーパラメータセットである。第1NN16のハイパーパラメータとしては、これらに限られるものではないが、例えば、エポック数、隠れ層数、隠れ層ニューロン数、ドロップアウト数、あるいは、バッチ数などがある。
【0039】
メモリ14には、設定されたハイパーパラメータセットが互いに異なる複数の第1NN16が記憶される。
【0040】
図2は、第1NN16の構造の例を示す概念図である。図2に示す通り、第1NN16は、複数の層を含んで構成されている。具体的には、最も入力側に位置する入力層、最も出力側に位置する出力層、及び、入力層と出力層の間に位置する1又は複数の隠れ層を含んで構成されている。各層は、1又は複数のニューロン(ノード)16aから構成される。図2の例においては、各ニューロン16aは全結合されており、ある層のニューロン16aと次の層の全てのニューロン16aとが、複数のエッジ16bにより結合されている。
【0041】
第1NN16は、入力データに基づいて、当該入力データに対応する出力データを推測して出力するものである。第1NN16は学習され、それにより入力データに対する出力データの精度を向上させることができる。例えば、第1NN16は、教師有り学習によって学習されることができる。この場合、第1NN16は、入力データと、当該入力データに対応する教師データとを含む学習データを用いて学習される。具体的には、学習データの内の入力データが第1NN16に入力され、当該入力データに対する第1NN16の出力データと、学習データに含まれる教師データとの誤差に基づいて、誤差逆伝搬法(バックプロパゲーション)などの手法により、各エッジ16bに定義された重み、及び、各ニューロン16aに定義されているバイアスが変更される。なお、第1NN16はその他の手法、例えば、教師無し学習や強化学習などにより学習されてもよい。
【0042】
図3は、第1NN16の学習後性能としての学習後誤差を示す概念図である。図3に示された第1NN16は、十分に学習された学習済みのものである。上述の通り、解析対象データ(つまり第1NN16の入力データ)に対する学習済みの第1NN16の出力データと、当該解析対象データに対応する真のデータ(正解データ)との誤差を学習後誤差と呼ぶ。また、学習後性能としては、学習済みの第1NN16に解析対象データを入力してから出力データを出力するまでの時間である学習後解析時間であってもよい。また、学習済みの第1NN16の性能を示す学習後性能としては、学習後誤差及び学習後解析時間に限られない。
【0043】
図1に戻り、第2NN18は、第1NN16とは異なるNNであり、第1NN16のハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された第1NN16の学習後性能を出力するように学習される学習器である。具体的には、第2NN18は、第1NN16のハイパーパラメータセットと、当該ハイパーパラメータセットが設定された第1NN16の学習後性能(教師データ)とを含む学習データを用いて学習される。教師データとしての学習後性能は、学習後誤差と学習後解析時間との組み合わせなど、複数の評価値の組み合わせであってもよい。なお、第2NN18の構造は、第1NN18(図2参照)と同様であってよい。もちろん、第2NN18のハイパーパラメータは、第1NN16のハイパーパラメータと異なっていてもよい。
【0044】
なお、本実施形態では、第1NN16の学習後性能を予測する学習器として第2NN18を用いているが、当該学習器としては、NNに限られるものではない。例えば、当該学習器として重回帰分析を行う重回帰モデルを用いるようにしてもよい。重回帰分析は、目的変数(ここでは第1NN16の学習後性能)を複数の説明変数(ここではハイパーパラメータセット)で予測するものであり、以下の式で表される。
【0045】
y=b+b+・・・+b+e
【0046】
上式において、yは目的変数であり、xは説明変数(各xが第1NN16の各ハイパーパラメータに相当する)であり、bは説明変数xの係数であり、eは定数である。上記学習データを用いた学習により、各xに対応する係数bが変更されていく。重回帰モデルにおいては、各係数bnが過度に大きくならないようにするための調整パラメータλを設定することができる。当該調整パラメータλが重回帰モデルのハイパーパラメータの1つの例である。
【0047】
詳しくは後述するが、学習済みの第2NN18は、遺伝的アルゴリズムによる第1NN16のハイパーパラメータの調整処理において用いられる。具体的には、遺伝的アルゴリズムの各世代における処理において、個体としての第1NN16のハイパーパラメータセットに対する適応度を算出するための第1NN16の学習後性能を算出する際に、学習済みの第2NN18が用いられる。
【0048】
第2NN18のハイパーパラメータの設定方法、及び、第2NN18の学習方法の詳細については、プロセッサ20の処理と共に後述する。
【0049】
プロセッサ20は、汎用的な処理装置(例えばCPU(Central Processing Unit)など)、及び、専用の処理装置(例えばASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、あるいは、プログラマブル論理デバイスなど)の少なくとも1つを含んで構成される。プロセッサ20としては、1つの処理装置によるものではなく、物理的に離れた位置に存在する複数の処理装置の協働により構成されるものであってもよい。図1に示す通り、プロセッサ20は、メモリ14に記憶された解析プログラムにより、第2NNパラメータ決定部22、学習処理部24、GA(遺伝的アルゴリズム)処理部26、及び、出力部28としての機能を発揮する。
【0050】
学習器パラメータ決定部としての第2NNパラメータ決定部22は、第1NN16の学習後性能を出力する学習器のハイパーパラメータ(1つのパラメータであってもよい)を決定する。本実施形態では、第2NNパラメータ決定部22は、第2NN18のハイパーパラメータセットを決定する。以下、第1NN16の学習後性能を出力する学習器のハイパーパラメータを決定するための代表的な方法を説明する。
【0051】
第1の方法として、第2NNパラメータ決定部22は、ユーザからの指示に応じて、第1NN16の学習後性能を出力する学習器のハイパーパラメータ(本実施形態では第2NN18のハイパーパラメータセット)を決定することができる。具体的には、第2NNパラメータ決定部22は、入出力インターフェース12がユーザから取得したハイパーパラメータセットを示すハイパーパラメータ情報に基づいて、第2NN18のハイパーパラメータセットを決定する。
【0052】
例えば、ユーザがハイパーパラメータセットをユーザ端末(不図示)に入力した上で、入出力インターフェース12としてのネットワークインターフェースは、当該ハイパーパラメータセットを示すハイパーパラメータ情報をユーザ端末から受信することができる。また、ユーザは、入出力インターフェース12としての入力インターフェースを操作することで、第2NN18のハイパーパラメータセットを解析装置10に入力するようにしてもよい。
【0053】
第1の方法の好適な変形例としては、解析装置10の管理者などが、予め、第2NN18の複数のハイパーパラメータセットを用意しておき、当該複数のハイパーパラメータセットをユーザに提示して、当該複数のハイパーパラメータセットの中から、使用する第2NN18のハイパーパラメータセットをユーザに選択させるようにしてもよい。
【0054】
複数のハイパーパラメータセットのユーザへの提示は、入出力インターフェース12としてのネットワークインターフェースが、当該複数のハイパーパラメータセットを示す情報をユーザ端末に送信して、ユーザ端末のディスプレイに複数のハイパーパラメータセットを表示させることができる。また、入出力インターフェース12としての出力インターフェースが、当該複数のハイパーパラメータセットを示す情報をユーザに向けて出力してもよい。
【0055】
第2の方法として、第2NNパラメータ決定部22は、解析装置10の解析対象、つまり、第1NN16に入力される解析対象データに応じて、第1NN16の学習後性能を出力する学習器のハイパーパラメータ(本実施形態では第2NN18のハイパーパラメータセット)を決定することができる。
【0056】
第1NN16は、種々の解析対象データを入力とすることができるため、解析対象データに応じて、適切なハイパーパラメータセットが大きく異なる場合がある。一方、第2NN18は、第1NN18の解析対象データが何であろうと、その入力データは第1NN18のハイパーパラメータセットであり、その出力データは第1NN16の学習後性能である。したがって、第2NN18の適切なハイパーパラメータセットは、第1NN16のそれに比して、第1NN16の解析対象データに応じて変動し難いものであるとは言える。しかしながら、第2NN18の最適なハイパーパラメータセットも、第1NN16の解析対象データに応じて異なる場合があり、そのような場合に、第1NN16に入力される解析対象データに応じて、第2NN18のハイパーパラメータセットを決定するのが有効である。
【0057】
具体的には、過去において第1NN16に入力された解析対象データの種別毎に、当該第1NN16のハイパーパラメータセットの調整処理に用いられた第2NN18のハイパーパラメータセットと、学習済みの当該第2NN18の出力誤差とを関連付けてメモリ14にデータベースとして記憶させておく。その上で、第2NNパラメータ決定部22は、ハイパーパラメータセットの調整対象となる第1NN16に入力される予定の解析対象データの種別を取得し、上記データベースを参照し、当該解析対象データの種別に対応した第2NN18のハイパーパラメータセットのうち、出力誤差の小さいものを第2NN18のハイパーパラメータセットとして決定するようにしてもよい。あるいは、当該解析対象データの種別に対応した第2NN18のハイパーパラメータセットのうち、出力誤差の小さい複数のハイパーパラメータセットを特定し、特定した複数のハイパーパラメータセットをユーザに提示して、ユーザに選択させるようにしてもよい。
【0058】
第3の方法として、第2NNパラメータ決定部22は、従来から学習器のハイパーパラメータの最適化処理に用いられるベイズ最適化によって、第1NN16の学習後性能を出力する学習器のハイパーパラメータ(本実施形態では第2NN18のハイパーパラメータセット)を決定することができる。
【0059】
学習処理部24は、第1NN16のハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された第1NN16の学習後性能を出力するように第2NN18を学習させる学習処理を実行する。以下、学習処理部24による学習処理の手順を説明する。
【0060】
まず、学習処理部24は、互いに異なるハイパーパラメータセットが設定された複数の第1NN16を学習させる。複数の第1NN16に設定される各ハイパーパラメータセットはランダムに設定されてよい。ここでの複数の第1NN16の数は、従来方法に比して第1NN16のハイパーパラメータの調整処理の処理量あるいは処理時間についての優位性が失われないような数とする。具体的には、後述のGA処理部26が、遺伝的アルゴリズムにおいてG世代分の処理を実行し、1つの世代の個体としてN個のハイパーパラメータセットが用意される場合、ここでの複数の第1NN16の数をG×N個未満の数とする。あるいは、後述のGA処理部26が、遺伝的アルゴリズムにおいてG世代分の処理を実行し、1つの世代の個体としてN個のハイパーパラメータセットが用意され、各ハイパーパラメータセットの適応度を、同一のハイパーパラメータが設定されたP個の学習済みのNNのP個の学習後性能に基づいて決定する場合、ここでの複数の第1NN16の数をG×N×P個未満の数とする。
【0061】
学習処理部24は、解析対象データと、解析対象データに対応するデータ(教師データ)とから構成される学習データを用いて、各第1NN16を学習させる。具体的には、解析対象データを第1NN16に入力し、当該解析対象データに対する第1NN16の出力データと、教師データとの出力誤差に基づいて、第1NN16の各エッジ16bの重み、及び各ニューロン16aのバイアスを変更していく。
【0062】
複数の第1NN16を十分に学習させた後、学習処理部24は、各第1NN16を評価して、各第1NN16の学習後性能を算出する。具体的には、学習後性能として学習後誤差を用いる場合には、図3に示すように、対応する真のデータが既知である評価データとしての解析対象データを学習済みの第1NN16に入力し、当該解析対象データに対する第1NN16の出力データと、真のデータとの誤差である学習後誤差を算出する。学習後誤差は、複数の解析対象データを学習済みの1つの第1NN16に入力したときの、複数の出力データと複数の真のデータとの間の誤差率であってもよい。また、学習後性能として学習後解析時間を用いる場合には、解析対象データを学習済みの第1NN16に入力してから出力データが出力されるまでの時間を計測して学習後解析時間とする。学習後解析時間は、複数回解析対象データを1つの第1NN16に入力したときの複数の解析時間の平均値であってもよい。また、学習後性能としては、学習後誤差及び学習後解析時間の組み合わせなどの、複数の評価値が表現された数値であってもよい。
【0063】
ここまでの処理により、図4に示すような、第1NN16のハイパーパラメータセットと、それに対応する学習後性能との組を複数取得することができる。なお、図4の例では、学習後性能として学習後誤差が示されている。第1NN16のハイパーパラメータセットと、それに対応する学習後性能との組が第2NN18を学習させるための学習データとなる。当該学習データのうち、各ハイパーパラメータセットに対応する学習後性能が教師データとなる。学習データの数は、十分に学習させた複数の第1NN16の数となる。
【0064】
次に、学習処理部24は、第2NNパラメータ決定部22が決定したハイパーパラメータを第2NN18のハイパーパラメータに設定する。
【0065】
その上で、学習処理部24は、第1NN16のハイパーパラメータセットと、それに対応する学習後性能との組を学習データとして用いて、第2NN18を学習させる。具体的には、図5に示すように、第1NN16のハイパーパラメータセットを第2NN18に入力し、当該ハイパーパラメータセットに対する第2NN18の出力データ(これは第1NN18の学習後性能を示すものである)と、教師データとの差分に基づいて、第2NN16の各エッジの重み及び各ニューロンのバイアスを変更していく。
【0066】
上述のような学習処理により、第2NN18が十分に学習されると、第2NN18は、第1NN16のハイパーパラメータセットを入力することで、当該ハイパーパラメータセットが設定された第1NN16に当該解析対象データが入力されたときの学習後性能を高精度に予測して出力できるようになる。つまり、学習済みの第2NN18によれば、逐一第1NN16を学習させなくても、当該第1NN16の学習後性能を取得することができる。ここで、第2NN18が出力する学習後性能とは、第1NN16の学習後誤差、学習後解析時間、あるいは、これらの評価値の組み合わせを示す値である。
【0067】
なお、学習処理部24は、図4に示すような学習データを用いて、同一のハイパーパラメータセットが設定された複数の第2NN18を学習させ、複数の学習済みの第2NN18を用意するようにしてもよい。ちなみに、同一のハイパーパラメータセットが設定された複数の学習済みの第2NN18のそれぞれは、同じ入力データに対して同じ出力データを出力するとは限らない。さらに、学習処理部24は、当該学習データの一部である評価データを用いて学習済みの複数の第2NN18の出力精度を評価し、当該複数の第2NN18のうち、最も出力精度が高いものを後述のGA処理部26による遺伝的アルゴリズムに使用する第2NN18として選択するようにしてもよい。
【0068】
ハイパーパラメータ調整部としてのGA処理部26は、遺伝的アルゴリズムにより、第1NN16のハイパーパラメータセットを調整する調整処理を実行する。図6は、GA処理部26による遺伝的アルゴリズムを用いた第1NN16のハイパーパラメータセットの調整処理の様子を示す概念図である。図6を参照しながら、GA処理部26の処理を具体的に説明する。
【0069】
図6に示される通り、GA処理部26が用いる遺伝的アルゴリズムの個体は、第1NN16のハイパーパラメータセットである。なお、当該個体を構成する各遺伝子は、当該ハイパーパラメータセットを構成する各ハイパーパラメータである。また、GA処理部26が用いる遺伝的アルゴリズムにおける各個体の適応度は、各個体としての各ハイパーパラメータセットが設定された第1NN16の学習後性能に応じた値である。なお、図8同様、図6においても、第m世代の第n番目のハイパーパラメータセットが、「ハイパーパラメータセットm-n」と記載されている。
【0070】
GA処理部26は、まず、初期個体群としてN個の個体、すなわち第1世代のN個のハイパーパラメータセットを用意する。GA処理部26は、第1世代のN個のハイパーパラメータセットに含まれる各ハイパーパラメータの値をランダムに選択することができる。
【0071】
次に、GA処理部26は、第1世代のN個のハイパーパラメータセットそれぞれの適応度を算出する。ここで、従来とは異なり、GA処理部26は、各ハイパーパラメータセットを学習済みの第2NN16に入力することで、各ハイパーパラメータに対応する第1NN16の学習後性能を取得する。なお、図6の例でも、学習後性能として学習後誤差が示されている。そして、取得した学習後性能に基づいて、各ハイパーパラメータの適応度を算出する。複数の学習済みの第2NN18が用意されている場合には、1つのハイパーパラメータを複数の第2NN18に入力して得られた複数の学習後性能に基づいて、当該ハイパーパラメータの適応度を算出するようにしてもよい。例えば、1つのハイパーパラメータを複数の第2NN18に入力して得られた複数の学習後性能の平均値に基づいて、当該ハイパーパラメータの適応度を算出するようにしてもよい。このように、本実施形態においては、GA処理部26は、各ハイパーパラメータの適応度を算出するに当たり、各ハイパーパラメータセットが設定されたN個のNNを学習させる必要がない。
【0072】
次に、GA処理部26は、算出した第1世代のN個のハイパーパラメータセットそれぞれの適応度に基づいて、既知の方法によって、第2世代のN個のハイパーパラメータセットを生成する。そして、GA処理部26は、第2世代のN個のハイパーパラメータセットそれぞれの適応度を算出する。第2世代においても、第1世代同様、GA処理部26は、各ハイパーパラメータセットを学習済みの第2NN16に入力することで、各ハイパーパラメータに対応する第1NN16の学習後性能を取得する。つまり、第2世代においても、GA処理部26は、各ハイパーパラメータの適応度を算出するに当たり、各ハイパーパラメータセットが設定されたN個のNNを学習させる必要がない。
【0073】
さらに、GA処理部26は、算出した第2世代のN個のハイパーパラメータセットそれぞれの適応度に基づいて、第3世代のN個のハイパーパラメータセットを生成する。以後、GA処理部26は、上記同様の処理を世代を進めながら繰り返していく。上述の処理を世代を進めながら繰り返していくことが、第1NN16のハイパーパラメータを調整することとなり、やがて適応度が高い個体、すなわち、学習後性能の高い第1NN16のハイパーパラメータセット(理想的には最適なハイパーパラメータセット)を得ることができる。
【0074】
GA処理部26は、所定の終了条件を満たすまで上述の遺伝的アルゴリズムを実行する。所定の終了条件とは、例えば、所定の世代までの処理が完了した、所定の適応度を超える個体が生成された、あるいは、所定の世代のN個の個体の平均適応度が所定の閾値以上となった、などである。
【0075】
GA処理部26によって第1NN16のハイパーパラメータセット(理想的には最適なハイパーパラメータ)が取得されると、学習処理部24は、当該ハイパーパラメータセットを第1NN16に設定する。その上で、第1NN16を学習させる。これにより、学習処理部24は、高い学習効率で第1NN16を学習させることができ、また、学習済みの第1NN16の出力誤差を小さくすることができる。
【0076】
図1に戻り、出力部28は、例えばユーザから入力された解析対象データを学習済みの第1NN16に入力し、第1NN16が出力した当該対象データに対応する出力データをユーザに提供する。上述のように、本実施形態で用いられる第1NN16は、そのハイパーパラメータが調整されたものであるから、出力部28は、解析対象データに対応する高精度な出力データをユーザに提供することができる。
【0077】
本実施形態に係る解析装置10の概要は以上の通りである。本実施形態に係る解析装置10によれば、第1NN16のハイパーパラメータに基づいて当該第1NN16の学習後性能を出力するように第2NN18が学習され、GA処理部26による遺伝的アルゴリズムを用いた第1NN16のハイパーパラメータの調整処理においては、学習済みの第2NN18を用いて、各第1NN16のハイパーパラメータに対する学習後性能が取得される。したがって、遺伝的アルゴリズムの各世代の処理において、各個体の適応度の算出、すなわち、第1NN16の各ハイパーパラメータの学習後性能を取得する処理において、逐一第1NN16を学習させる必要がなくなる。これにより、遺伝的アルゴリズムによって第1NN16のハイパーパラメータセットを調整する際の処理量又は処理時間が低減される。
【0078】
以下、図7に示すフローチャートに従って、本実施形態に係る解析装置10の処理の流れを説明する。
【0079】
第1NN16の学習ステップであるステップS10において、学習処理部24は、互いに異なるハイパーパラメータセットを複数の第1NN16に設定した上で、当該複数の第1NN16を学習させる。
【0080】
学習データ取得ステップであるステップS12において、学習処理部24は、学習済みの複数の第1NN16を評価して、各第1NN16の学習後性能を算出する。これにより、第2NN18の学習データである、第1NN16のハイパーパラメータセットと、それに対応する学習後性能との組を複数取得する。
【0081】
第2NN18のハイパーパラメータセット設定ステップであるステップS14において、第2NNパラメータ決定部22は、上述のいずれかの方法によって第2NN18のハイパーパラメータセットを決定し、第2NN18に設定する。
【0082】
第2NN18の学習ステップであるステップS20において、学習処理部24は、ステップS12で取得された学習データを用いて、第2NN18を学習させる。学習済みの第2NN18は、第1NN16のハイパーパラメータを入力とし、当該ハイパーパラメータが設定された第1NN16の学習後性能を高精度に予測して出力できるようになる。
【0083】
第1NN16のハイパーパラメータセットの調整ステップであるステップS18において、GA処理部26は、第1NN16のハイパーパラメータセットを個体とし、当該ハイパーパラメータセットが設定された第1NN16の学習後性能に応じた値を適応度とする遺伝的アルゴリズムにより、第1NN16のハイパーパラメータを調整する。遺伝的アルゴリズムの各世代における適応度(つまり各ハイパーパラメータセットに対する学習後性能)は、ステップS16で学習された第2NN18を用いて取得される。当該遺伝的アルゴリズムによる処理により、調整された(理想的には最適化された)第1NN16のハイパーパラメータが取得される。
【0084】
出力データ提供ステップであるステップS20において、まず、学習処理部24は、ステップS18で取得されたハイパーパラメータセットを第1NN16に設定し、第1NN16を学習させる。その上で、出力部28は、解析対象データを学習済みの第1NN16に入力して得られた出力データをユーザに提供する。
【0085】
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
【0086】
例えば、本実施形態では、第1NN16のハイパーパラメータセットの調整処理が、GA処理部26による遺伝的アルゴリズムにより実行されていたが、当該調整処理は遺伝的アルゴリズムを用いた方法に限られない。
【0087】
特に、調整処理は、ヒューリスティックな探索手法を用いることができる。ヒューリスティックな探索手法とは、必ずしも最適解を導き出せるとは限らないが、ある程度最適解に近い答えを出せる方法のことである。特に、ヒューリスティックな探索方法とは、試行錯誤を経て答えを出す手法を含む。本実施形態においては、試行錯誤とは、第1NN16のハイパーパラメータを様々な値に設定してみて、その結果(各第1NN16の学習後性能)に基づいて、第1NN16のハイパーパラメータを調整していくことを意味する。
【0088】
ヒューリスティックな探索手法としては、種々の方法が考えられる。
【0089】
例えば、調整処理は、強化学習による方法であってもよい。強化学習とは、ある状態から行動を起こしたときの報酬を設定し、試行錯誤により様々な行動を起こし、その行動に対する報酬に基づいて、最適な行動や状態を探索する手法である。本実施形態の一例としては、第1NN16のあるハイパーパラメータセットが状態に相当し、当該ハイパーパラメータセットを修正する(すなわち他のハイパーパラメータセットに変更する)という処理が行動に相当する。この場合の報酬を、修正後のハイパーパラメータセットを入力とする学習済みの学習器(例えば第2NN18)の出力、すなわち、修正後のハイパーパラメータセットを第1NN16に設定したときの第1NN16の学習後性能に基づいて決定することができる。このような強化学習には、Q学習やDQN(Deep Q-Network)が含まれる。
【0090】
また、調整処理は、グリッドサーチを用いた方法であってもよい。グリッドサーチとは、複数のパラメータの組み合わせの最適解を探索する手法であり、可能な組み合わせを網羅的に(例えば可能な全組み合わせを)探索して、その中から最良の結果を示す組み合わせを決定する手法である。本実施形態においては、第1NN16のハイパーパラメータセット(ハイパーパラメータの組み合わせ)を網羅的に設定し、学習済みの学習器を用いて得られた、各ハイパーパラメータセットが設定された第1NN16の学習後性能に基づいて、設定した複数のハイパーパラメータセットの中から最良の結果を示すハイパーパラメータセットを決定する。
【0091】
また、調整処理は、ランダムサーチを用いた方法であってもよい。ランダムサーチとは、グリッドサーチと同じように複数のパラメータの組み合わせの最適解を探索する手法であるが、ランダムに複数決定されたパラメータの組み合わせを探索して、その中から最良の結果を示す組み合わせを決定する手法である。本実施形態においては、第1NN16のハイパーパラメータセット(ハイパーパラメータの組み合わせ)をランダムに設定し、学習済みの学習器を用いて得られた、各ハイパーパラメータセットが設定された第1NN16の学習後性能に基づいて、設定した複数のハイパーパラメータセットの中から最良の結果を示すハイパーパラメータセットを決定する。
【0092】
また、調整処理は、ベイズ最適化を用いた方法であってもよい。ベイズ最適化とは、複数のパラメータの組み合わせとそれらの評価値を元にAcquisition functionと呼ばれる代理関数を最適化することで、最良の評価値を示す可能性が高い組み合わせを探索する手法である。本実施形態においては、複数の第1NN16のハイパーパラメータセット(ハイパーパラメータの組み合わせ)と、学習済みの学習器を用いて得られた、各ハイパーパラメータセットが設定された第1NN16の学習後性能に基づいて、設定した複数のハイパーパラメータセットの中から最良の結果を示すハイパーパラメータセットを決定する。ベイズ最適化は、本来少ない試行錯誤から最適解を探索する手法であり、現状では学習器を用いることなく、NNのハイパーパラメータセットの探索に用いられている。しかしながら、同じハイパーパラメータセットでも学習後性能に大きなバラツキが生じ得るNNの場合、実際の学習後性能の数値をそのまま用いるとそれらの無意味なバラツキまでも過度に学習した状態(過学習)となって適切な最適解が得られない可能性がある。本実施形態における学習器を用いることで、それらのバラツキを適度に緩和した学習後性能の数値を使用できるため、過学習を回避し、精度よく最適解を探索することができる。
【符号の説明】
【0093】
10 解析装置、12 入出力インターフェース、14 メモリ、16 第1NN、16a ニューロン、16b エッジ、18 第2NN、20 プロセッサ、22 第2NNパラメータ決定部、24 学習処理部、26 GA処理部、28 出力部。
図1
図2
図3
図4
図5
図6
図7
図8