以下、図面を参照して、従来例及び本発明の実施形態について説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
(概要)
上述したように、本発明は、ハイパーパラメータの最適化に関する。ここでのハイパーパラメータとは、機械学習アルゴリズムの挙動を制御するパラメータである。ハイパーパラメータは、例えば、学習率やバッチサイズ、学習イテレーション数等、機械学習アルゴリズムにおける様々な特性を規定するものを含む。
解析したい問題に機械学習を適用する際には、その問題を最も効率的に解決できる機械学習モデルを構築するためには、そのモデルの最適なハイパーパラメータを特定することが望ましい。ハイパーパラメータを特定するために、従来から使用されていた、グリッドサーチ等のような手段では、解析したい問題に機械学習を適用する際には、使用可能なハイパーパラメータを定義するハイパーパラメータ空間におけるハイパーパラメータの組み合わせをいくつも試行し、対象の機械学習モデルの精度が最も高くなる組み合わせを特定する必要があった。
また、機械学習モデルの設計変更などによりハイパーパラメータ空間が広がると、ハイパーパラメータの組み合わせの数が指数関数的に増加する。特に、ハイパーパラメータ空間が広く、コンピューティング資源が限られている場合には、グリッドサーチのような従来のハイパーパラメータ特定手法では、最適なハイパーパラメータを実用的な時間以内に特定することが難しい。そのため、最適なハイパーパラメータをより効率的に特定する手段が求められている。
従って、本発明は、ハイパーパラメータを強化学習の手法を用いて特定することで、低コストでイベント予測等の分野に適用可能な機械学習モデルを提供する。
なお、強化学習とは、ある環境におけるエージェントが、現在の状態を観測し、取るべき行動を決定する問題を扱う機械学習の一種である。そして、エージェントは行動を選択することで環境から報酬を得ることとなっている。このため、強化学習においては、一連の行動を通じて報酬が最も多く得られるような方策(policy)を学習することとなる。
強化学習の代表的な手法として、例えばTD(Temporal Difference)学習やQ学習等が知られている。後述するように、強化学習モデルと、再帰型ニューラルネットワーク(Recurrent Neural Network)とを組み合わせることで、最適なハイパーパラメータをより効率的に特定するシステムが可能となる。
本発明は、例えばローンのデフォルト、不正の金融取引、病気の進行等のイベントを予測するための機械学習モデルにおけるハイパーパラメータを特定することに関する。ここでのハイパーパラメータは、例えば、対象のデータをどのように処理すればよいかを規定する処理用ハイパーパラメータと、機械学習モデルの設計上の条件を規定するモデル用ハイパーパラメータとを含む。
まず、本発明に係る強化学習部は、候補ハイパーパラメータデータベースに格納される候補ハイパーパラメータ空間に基づいて、処理用ハイパーパラメータとモデル用ハイパーパラメータとを含む第1のハイパーパラメータのセットを生成する。次に、本発明に係る処理部は、生成された処理用ハイパーパラメータに基づいて、対象データを処理し、訓練用情報及びテスト用情報を生成する。次に、本発明に係るモデル作成部は、生成されたモデル用ハイパーパラメータに基づいて、訓練用情報を用いて機械学習モデルを作成する。次に、本発明に係る評価部は、テスト用情報を用いて機械学習モデルを検証し、第1のハイパーパラメータについての評価点数を計算する。次に、所定の評価基準を達成するハイパーパラメータが上位ハイパーパラメータデータベースに格納される。次に、本発明に係る変更部は、上位ハイパーパラメータデータベースに格納されているハイパーパラメータに基づいて、第2のハイパーパラメータのセットを生成する。
これにより、最適なハイパーパラメータを効率よく特定することができ、イベント予測に適用可能な機械学習モデルを提供することが可能となる。
(ハードウエア構成)
まず、図1を参照して、本開示の実施形態を実施するためのコンピュータシステム300について説明する。本明細書で開示される様々な実施形態の機構及び装置は、任意の適切なコンピューティングシステムに適用されてもよい。コンピュータシステム300の主要コンポーネントは、1つ以上のプロセッサ302、メモリ304、端末インターフェース312、ストレージインタフェース314、I/O(入出力)デバイスインタフェース316、及びネットワークインターフェース318を含む。これらのコンポーネントは、メモリバス306、I/Oバス308、バスインターフェースユニット309、及びI/Oバスインターフェースユニット310を介して、相互的に接続されてもよい。
コンピュータシステム300は、プロセッサ302と総称される1つ又は複数の汎用プログラマブル中央処理装置(CPU)302A及び302Bを含んでもよい。ある実施形態では、コンピュータシステム300は複数のプロセッサを備えてもよく、また別の実施形態では、コンピュータシステム300は単一のCPUシステムであってもよい。各プロセッサ302は、メモリ304に格納された命令を実行し、オンボードキャッシュを含んでもよい。
ある実施形態では、メモリ304は、データ及びプログラムを記憶するためのランダムアクセス半導体メモリ、記憶装置、又は記憶媒体(揮発性又は不揮発性のいずれか)を含んでもよい。メモリ304は、本明細書で説明する機能を実施するプログラム、モジュール、及びデータ構造のすべて又は一部を格納してもよい。例えば、メモリ304は、ハイパーパラメータ管理アプリケーション350を格納していてもよい。ある実施形態では、ハイパーパラメータ管理アプリケーション350は、後述する機能をプロセッサ302上で実行する命令又は記述を含んでもよい。
ある実施形態では、ハイパーパラメータ管理アプリケーション350は、プロセッサベースのシステムの代わりに、またはプロセッサベースのシステムに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カード、および/または他の物理ハードウェアデバイスを介してハードウエアで実施されてもよい。ある実施形態では、ハイパーパラメータ管理アプリケーション350は、命令又は記述以外のデータを含んでもよい。ある実施形態では、カメラ、センサ、または他のデータ入力デバイス(図示せず)が、バスインターフェースユニット309、プロセッサ302、またはコンピュータシステム300の他のハードウエアと直接通信するように提供されてもよい。
コンピュータシステム300は、プロセッサ302、メモリ304、表示システム324、及びI/Oバスインターフェースユニット310間の通信を行うバスインターフェースユニット309を含んでもよい。I/Oバスインターフェースユニット310は、様々なI/Oユニットとの間でデータを転送するためのI/Oバス308と連結していてもよい。I/Oバスインターフェースユニット310は、I/Oバス308を介して、I/Oプロセッサ(IOP)又はI/Oアダプタ(IOA)としても知られる複数のI/Oインタフェースユニット312,314,316、及び318と通信してもよい。
表示システム324は、表示コントローラ、表示メモリ、又はその両方を含んでもよい。表示コントローラは、ビデオ、オーディオ、又はその両方のデータを表示装置326に提供することができる。また、コンピュータシステム300は、データを収集し、プロセッサ302に当該データを提供するように構成された1つまたは複数のセンサ等のデバイスを含んでもよい。
例えば、コンピュータシステム300は、心拍数データやストレスレベルデータ等を収集するバイオメトリックセンサ、湿度データ、温度データ、圧力データ等を収集する環境センサ、及び加速度データ、運動データ等を収集するモーションセンサ等を含んでもよい。これ以外のタイプのセンサも使用可能である。表示システム324は、単独のディスプレイ画面、テレビ、タブレット、又は携帯型デバイスなどの表示装置326に接続されてもよい。
I/Oインタフェースユニットは、様々なストレージ又はI/Oデバイスと通信する機能を備える。例えば、端末インタフェースユニット312は、ビデオ表示装置、スピーカテレビ等のユーザ出力デバイスや、キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、又は他のポインティングデバイス等のユーザ入力デバイスのようなユーザI/Oデバイス320の取り付けが可能である。ユーザは、ユーザインターフェースを使用して、ユーザ入力デバイスを操作することで、ユーザI/Oデバイス320及びコンピュータシステム300に対して入力データや指示を入力し、コンピュータシステム300からの出力データを受け取ってもよい。ユーザインターフェースは例えば、ユーザI/Oデバイス320を介して、表示装置に表示されたり、スピーカによって再生されたり、プリンタを介して印刷されたりしてもよい。
ストレージインタフェース314は、1つ又は複数のディスクドライブや直接アクセスストレージ装置322(通常は磁気ディスクドライブストレージ装置であるが、単一のディスクドライブとして見えるように構成されたディスクドライブのアレイ又は他のストレージ装置であってもよい)の取り付けが可能である。ある実施形態では、ストレージ装置322は、任意の二次記憶装置として実装されてもよい。メモリ304の内容は、ストレージ装置322に記憶され、必要に応じてストレージ装置322から読み出されてもよい。I/Oデバイスインタフェース316は、プリンタ、ファックスマシン等の他のI/Oデバイスに対するインターフェースを提供してもよい。ネットワークインターフェース318は、コンピュータシステム300と他のデバイスが相互的に通信できるように、通信経路を提供してもよい。この通信経路は、例えば、ネットワーク330であってもよい。
ある実施形態では、コンピュータシステム300は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、又はサーバコンピュータ等の、直接的ユーザインターフェースを有しない、他のコンピュータシステム(クライアント)からの要求を受信するデバイスであってもよい。他の実施形態では、コンピュータシステム300は、デスクトップコンピュータ、携帯型コンピュータ、ノートパソコン、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、又は任意の他の適切な電子機器であってもよい。
図2を参照して、本発明の実施例1に係るハイパーパラメータ管理システムの構成について説明する。
図2は、本発明の実施例1に係るハイパーパラメータ管理システム150の構成を示す図である。図2に示すように、ハイパーパラメータ管理システム150は、ハイパーパラメータ管理サーバ100と、クライアント端末135A,135Bと、通信ネットワーク225とからなる。ハイパーパラメータ管理サーバ100は、通信ネットワーク225を介して、クライアント端末135A,135Bに接続される。この通信ネットワーク225は、例えばLAN(Local Area Network)やインターネット等であってもよい。
ハイパーパラメータ管理サーバ100は、本発明の実施例に係る各種機能を実施するためのサーバ装置である。図2に示すように、ハイパーパラメータ管理サーバ100は、プロセッサ110と、メモリ120と、記憶部130とを含む。
プロセッサ110は、必要に応じてメモリ120に格納されている各種プログラムを読み出して、プログラムからの命令に応じて処理を実行するプロセッサである。例えば、後述する処理部121、モデル作成部122、変更部123、強化学習部124、及び評価部125の機能は、プロセッサ110が実行する処理によって実現されてもよい。
メモリ120は、データ及びプログラムを記憶するためのランダムアクセス半導体メモリ、記憶装置、又は記憶媒体(揮発性又は不揮発性のいずれか)である。メモリ120は、本明細書で説明する機能を実施するプログラム、モジュール、及びデータ構造のすべて又は一部を格納してもよい。例えば、メモリ304は、後述する処理部121、モデル作成部122、変更部123、強化学習部124、及び評価部125の機能を、プロセッサ110上で実行する命令又は記述を含んでもよい。
強化学習部124は、所定のハイパーパラメータ空間に基づいて、処理用ハイパーパラメータ及びモデル用ハイパーパラメータを含む第1のハイパーパラメータセットを生成する機能部である。強化学習部124は、ハイパーパラメータを生成するために、再帰型ニューラルネットワークを用いてもよい。この再帰型ニューラルネットワークは、後述する評価点数を報酬として、よりよいハイパーパラメータを生成するように、ポリシー勾配法によって訓練される。
処理部121は、強化学習部124によって生成される処理用ハイパーパラメータを用いて、対象データの前処理を行う機能部である。ここでの前処理は、対象データを後続の機能部によって解釈可能な形式に変換したり、対象データにおいて抜けている値を補充したり、冗長的な対象データを削除したりすることを含む。処理部121が実行する前処理は、処理用ハイパーパラメータによって規定される。処理部121は、処理用ハイパーパラメータに基づいて対象データを処理することで、機械学習モデルを訓練するための訓練用情報と、訓練済みの機械学習モデルをテストするためのテスト用情報とを生成する。
モデル作成部122は、強化学習部124によって生成されるモデル用ハイパーパラメータに基づいて機械学習モデルを作成し、処理部121からの訓練用情報を用いて当該機械学習モデルを訓練する機能部である。ここでの機械学習モデルは、例えばローンのデフォルト、不正の金融取引、病気の進行等のイベントを予測するための機械学習モデルであってもよい。
評価部125は、テスト用情報を用いてモデル作成部122によって作成された機械学習モデルを検証し、第1のハイパーパラメータセットについての評価点数を計算する。この評価点数は、それぞれのハイパーパラメータの性能を定量的に示す尺度であり、例えば0~1の数字で表されてもよい。原則として、より高い評価点数を有するハイパーパラメータは、機械学習モデルを検証した際に、より優れた精度・性能・効率等を発揮したことを意味する。所定の評価基準を達成するハイパーパラメータは、後述する上位ハイパーパラメータデータベース132に格納される。
なお、説明の便宜上、所定の評価基準を達成するハイパーパラメータは、「上位ハイパーパラメータ」ともいう。
変更部123は、上位ハイパーパラメータに基づいて、第2のハイパーパラメータのセットを生成する機能部である。機械学習モデル用のハイパーパラメータを、ハイパーパラメータ空間全体ではなく、既に性能が高いと判定されている上位ハイパーパラメータに基づいて生成することで、高い性能を有するハイパーパラメータが得られる可能性が高い。このため、グリッドサーチ等のような従来のハイパーパラメータ生成手段に比べて、優れたハイパーパラメータを効率的に特定することができる。
具体的には、変更部123は、例えば上位ハイパーパラメータの値を交換したり、上位ハイパーパラメータを合成させたりすることで第2のハイパーパラメータのセットを生成してもよい。
記憶部130は、上述した機能部が用いる各種データを格納するためのストレージ装置である。記憶部130は、例えばフラッシュメモリ、ハードディスクドライブ等、任意の記憶媒体であってもよい。また、図2に示すように、記憶部130は、候補ハイパーパラメータデータベース131と、上位ハイパーパラメータデータベース132を含んでもよい。
候補ハイパーパラメータデータベース131は、所定のハイパーパラメータ空間を定義するデータベースである。ここでのハイパーパラメータ空間とは、ある分野や課題に対して、使用可能なハイパーパラメータの範囲を規定し、使用可能なハイパーパラメータを全て含む論理的な空間である。このハイパーパラメータ空間は、ユーザによって予め定義されてもよい。また、候補ハイパーパラメータデータベース131が有するハイパーパラメータ空間は、処理用ハイパーパラメータ及びモデル用ハイパーパラメータの両方について、使用可能なハイパーパラメータの範囲を定義してもよい。
上位ハイパーパラメータデータベース132は、上位のハイパーパラメータを格納するためのデータベースである。上述したように、上位ハイパーパラメータデータベース132は、テスト用情報を用いて機械学習モデルを検証した際に、第1のハイパーパラメータのセットのうち、所定の評価基準を達成したハイパーパラメータであってもよい。この評価基準は、「良い」と「悪い」のハイパーパラメータの敷居を定義する基準であり、所定の評価点数(例えば0.85以上)、所定のパーセンテージ(上位10%)、所定の数(上位20個)等として表現されてもよい。
クライアント端末135A、135Bは、機械学習モデルの解析の対象となる対象データを、通信ネットワーク225を介してハイパーパラメータ管理サーバ100に送信する端末である。ハイパーパラメータ管理装置205による解析(例えば、イベント予測)が終了した後、解析の結果を示す情報がクライアント端末135A、135Bに返送される。これらのクライアント端末135A、135Bは、例えば、デスクトップパソコン、ノートパソコン、タブレット、スマートフォン等、任意のデバイスであってもよい。
ハイパーパラメータ管理サーバ100に含まれるそれぞれの機能部は、図1に示すハイパーパラメータ管理アプリケーション350を構成するソフトウエアモジュールであってもよく、独立した専用ハードウェアデバイスであってもよい。また、上記の機能部は、同一のコンピューティング環境に実施されてもよく、分散されたコンピューティング環境に実施されてもよい。
次に、図3を参照して、本発明の実施例1に係るハイパーパラメータ管理システムの機能的構成について説明する。
図3は、本発明の実施例1に係るハイパーパラメータ管理システムの機能的構成250を示すブロック図である。図3に示すように、この機能的構成250は、上述した処理部121、モデル作成部122、変更部123、強化学習部124、評価部125、候補ハイパーパラメータデータベース131、及び上位ハイパーパラメータデータベース132の間のデータの送受信を示す。
まず、強化学習部124は、候補ハイパーパラメータデータベース131に格納される候補ハイパーパラメータ空間に基づいて、処理用ハイパーパラメータとモデル用ハイパーパラメータとを含む第1のハイパーパラメータのセットを生成する。具体的には、強化学習部124は、いわゆるEpsilon-Greedy法を用いて、第1のハイパーパラメータのセットを探索(exploration)で生成するか、搾取(exploitation)で生成するかを判定する。
搾取の場合には、強化学習部124は、順伝播の計算を用いて、ハイパーパラメータのシーケンスを第1のハイパーパラメータのセットとして生成する。探索の場合には、強化学習部124は、候補ハイパーパラメータデータベース131の候補ハイパーパラメータ空間から一様に抽出したハイパーパラメータを第1のハイパーパラメータのセットとして生成する。その後、強化学習部124は、生成した第1のハイパーパラメータのセットを処理部121及びモデル作成部122に送信する。
また、後の段階で、強化学習部124は、第1のハイパーパラメータのセットについて計算される評価点数に基づいて、ポリシー勾配法を用いたバックプロパゲーションによって訓練される。これにより、強化学習部124は、よりよいハイパーパラメータを生成できるように学習する。
次に、処理部121は、第1のハイパーパラメータのセットに含まれる処理用ハイパーパラメータに基づいて、任意の対象データを処理する。ここでの対象データは、例えば図2に示すクライアント端末(135A,135B)から受信した解析対象のデータ(解析対象者の金融取引に関するデータ等)であってもよい。処理部121が対象データに対して行う処理の具体的な工程は、処理ハイパーパラメータによって規定される。
例えば、処理ハイパーパラメータが「average_filling」の値を有する場合には、処理部121は、対象データにおいて抜けている値を、類似しているデータの値の平均値で埋めてもよく、処理ハイパーパラメータが「median_filling」の値を有する場合には、処理部121は、対象データにおいて抜けている値を、類似しているデータの値の中央値で埋めてもよい。
対象データに対する処理が終了した後、処理部121は、訓練用情報と、テスト用情報とを生成する。具体的には、処理部121は、受信した対象データを、機械学習モデルを訓練するための訓練用情報と、訓練済みの機械学習モデルをテストするためのテスト用情報とに分割してもよい。対象データを訓練用情報とテスト用情報とに分割することで、機械学習モデルの訓練とテストを個別に行うことができ、訓練用情報に対して学習されているが、未知のテスト用情報に対しては適合できていない過剰適合を避けることができる。例えば、対象データが2000年~2010年の間に行われた金融取引を示すデータである場合には、処理部121は、2000年~2005年のデータを訓練用情報とし、2005年~2010年のデータをテスト用情報としてもよい。
次に、モデル作成部122は、第1のハイパーパラメータのセットに含まれるモデル用ハイパーパラメータに基づいて機械学習モデルを作成する。ここで作成する機械学習モデルの種類は、ユーザに予め設定されてもよく、モデル用ハイパーパラメータによって指定されてもよい。この機械学習モデルは、例えばローンのデフォルト、不正の金融取引、病気の進行等のイベントを予測するためのイベント予測機械学習モデルであってもよい。また、機械学習モデルの特性や設定は、モデル用ハイパーパラメータによって規定される。
例えば、モデル用ハイパーパラメータが「number_of_layers=3」、「number_of_nodes=3」、「learning_rate=0.001」、及び「activation_function=linear_activation」の値を有する場合には、モデル作成部122は、これらの条件に従って機械学習モデルを構築する。
機械学習モデルをモデル用ハイパーパラメータに基づいて作成した後、モデル作成部122は、処理部121から受信した訓練用情報を用いて当該機械学習モデルを訓練する。この訓練の方法は、機械学習モデルの種類に合わせて適宜に選択されてもよい。
次に、評価部125は、処理部121から受信したテスト用情報を用いて、モデル作成部122によって作成された機械学習モデルを検証し、第1のハイパーパラメータについての評価点数を計算する。上述したように、この評価点数は、第1のハイパーパラメータの性能を定量的に示す尺度であり、例えば0~1の数字で表されてもよい。原則として、より高い評価点数を有するハイパーパラメータは、検証した機械学習モデルにおいてより優れた精度・性能・効率等を発揮したことを意味する。所定の評価基準を達成するハイパーパラメータは、後述する上位ハイパーパラメータデータベース132に格納される。
次に、変更部123は、上位ハイパーパラメータデータベース132に格納されている上位ハイパーパラメータに基づいて、第2のハイパーパラメータのセットを生成する。変更部123は、例えば、複数の上位ハイパーパラメータの値を交換することで第2のハイパーパラメータのセットを生成してもよく、複数の上位ハイパーパラメータを合成することで第2のハイパーパラメータのセットを生成してもよい。
ここで生成された第2のハイパーパラメータのセットは、強化学習部124を訓練するために用いられてもよく、機械学習モデルに設定されてもよく、上位ハイパーパラメータデータベース132に格納されてもよい。
なお、ここでは、第2のハイパーパラメータのセットを生成する方法として、上位ハイパーパラメータの値を交換することや、上位ハイパーパラメータを合成することを例として説明したが、本発明はこれに限定されず、上位ハイパーパラメータを用いて新たなハイパーパラメータを生成する他の手段も可能である。
次に、図4を参照して、本発明の実施例1に係る候補ハイパーパラメータデータベースの一例について説明する。
図4は、本発明の実施例1に係る候補ハイパーパラメータデータベース131の一例を示す図である。図4に示すように、候補ハイパーパラメータデータベース131は、パラメータ名351、第1のオプション352、第2のオプション353、及びその他のオプション354を含む。
なお、説明の便宜上、候補ハイパーパラメータデータベース131の内容を省略しているが、候補ハイパーパラメータデータベース131は数多くのハイパーパラメータの情報を格納してもよい。これらのハイパーパラメータは、上述したハイパーパラメータ空間を構成する。
パラメータ名351は、ハイパーパラメータの種類を指定するものである。例えば、「missing_value」は、抜けている値を埋めるための方法を示す処理用ハイパーパラメータを指し、「number_of_layers」は、機械学習モデルのレイヤ数を指定するモデル用ハイパーパラメータデータを指す。
第1のオプション352、第2のオプション353、及びその他のオプション354は、それぞれのハイパーパラメータの有効性又は可能な値の範囲を指定するものである。例えば、「missing_value」の第1のオプション352が「True」の場合には、抜けている値を埋めるための処理が処理部によって行われ、「False」の場合には行われない。また、「number_of_layers」の第2のオプション353が「3」の場合には、モデル作成部は3つのレイヤを有する機械学習モデルを構築する。
上述したように、強化学習部は、当該候補ハイパーパラメータデータベース131から無作為又は一様に選択したハイパーパラメータを第1のハイパーパラメータのセットとして生成してもよい。
次に、図5を参照して、本発明の実施例1に係る上位ハイパーパラメータデータベースについて説明する。
図5は、本発明の実施例1に係る上位ハイパーパラメータデータベース132の一例を示す図である。図5に示すように、上位ハイパーパラメータデータベース132は、セットID401、パラメータ名402、値403、及び評価点数404を含む。
上述したように、上位ハイパーパラメータデータベース132は、所定の評価基準を達成する上位ハイパーパラメータを格納するデータベースである。
セットID401は、パラメータが属するセットの識別子である。ここでのセットとは、1つの処理用ハイパーパラメータと、1つのモデル用ハイパーパラメータとからなる。例えば、同じセットID401が付与されているハイパーパラメータは、同じセットに属し、一対となる。
パラメータ名402は、ハイパーパラメータの種類を指定するものである。パラメータ名402は、図4を参照して説明したパラメータ名351と実質的に同様であるため、その説明は省略する。
値403は、ハイパーパラメータの値を指定するものである。ここでの値403は、可能な値を示す第1オプションや第2オプション等と異なり、実際に処理部又はモデル作成部に使用された際の値を示す。
評価点数404は、当該ハイパーパラメータの性能を定量的に示す尺度であり、例えば0~1の数字で表されてもよい。原則として、より高い評価点数を有するハイパーパラメータは、機械学習モデルにおいてより優れた精度・性能・効率等を発揮したことを意味する。この評価点数404は、特定のハイパーパラメータのセットに基づいて訓練・検証された機械学習モデルを評価する際に、上述した評価部125によって定められる値である。
次に、図6を参照して、本発明の実施例1に係る処理部による処理について説明する。
図6は、本発明の実施例1に係る処理部による処理500を示すフローチャートである。この処理500は、処理用ハイパーパラメータに基づいて、処理部が対象データに対して行う処理の各工程を示す。
まず、ステップ501では、処理部(例えば図2に示す処理部121)は、強化学習部から、処理用のハイパーパラメータ及びモデル用のハイパーパラメータを含む第1のハイパーパラメータのセットを受信する。
次に、ステップ502では、処理部は、第1のハイパーパラメータのセットに含まれる処理用のハイパーパラメータに基づいて対象データを処理する。例えば、処理ハイパーパラメータが「average_filling」の値を有する場合には、処理部は、対象データにおいて抜けている値を、類似しているデータの値の平均値で埋めてもよい。
次に、ステップ503では、処理部は、処理後のデータをモデル作成部に出力する。この処理後のデータは、処理用のハイパーパラメータに基づいて処理された訓練用情報とテスト用情報とを含む。
次に、図7を参照して、本発明の実施例1に係るモデル作成部による処理について説明する。
図7は、本発明の実施例1に係るモデル作成部による処理600を示すフローチャートである。この処理600は、モデル用ハイパーパラメータに基づいて機械学習モデルを作成する処理を示す。
まず、ステップ601では、モデル作成部は、強化学習部からの処理用のハイパーパラメータ及びモデル用のハイパーパラメータを含む第1のハイパーパラメータのセットと、処理部からの訓練用情報及びテスト用情報とを受信する。
次に、ステップ602では、モデル作成部は、第1のハイパーパラメータのセットに含まれるモデル用ハイパーパラメータに基づいて機械学習モデルを作成する。例えば、モデル作成部は、モデル用ハイパーパラメータによって規定されるモデル種類(例えば「Support Vector Machine」や「Deep Neural Network」)、レイヤの数、及び隠れレイヤにおけるノードの数等に従って機械学習モデルを作成してもよい。
次に、ステップ603では、機械学習モデルをモデル用ハイパーパラメータに基づいて作成した後、モデル作成部122は、処理部121から受信した訓練用情報を用いて当該機械学習モデルを訓練する。この訓練の方法として、例えば線形回帰、ロジスティック回帰、単純ベイズ分類及びk近傍法が挙げられる。この訓練により、機械学習モデルは、ローンのデフォルトや病気の進行等の特定のイベントを正確に予測する精度が向上する。
次に、図8を参照して、本発明の実施例1に係る評価部による処理について説明する。
図8は、本発明の実施例1に係る評価部による処理700を示す図である。この処理700は、モデル作成部によって作成された機械学習モデルを検証して、第1のハイパーパラメータのセットを評価する処理を示す。
まず、ステップ703では、評価部は、処理部から受信したテスト用情報を用いて、モデル作成部によって作成された機械学習モデルを検証する。例えば、機械学習モデルがローンのデフォルトを予測するモデルである場合、評価部は、解析対象者の金融取引、年収、クレジットスコア等の金融情報を示すテスト用情報を分析し、当該解析対象者がデフォルトする確率を計算する。その後、機械学習モデルが計算した確率と、当該解析対象者が実際にデフォルトしたかどうかを示す結果に比較することで、機械学習モデルの精度を検証することができる。
次に、ステップ704では、評価部は、検証の結果に基づいて、第1のハイパーパラメータについての評価点数を計算する。この評価点数の形式は、機械学習モデルの種類によって選択されてもよい。例えば、機械学習モデルが分類・予測を行う場合には、精度やF1スコアをこの評価点数として使用してもよく、機械学習モデルが回帰のモデルである場合には、R2スコアをこの評価点数として使用してもよい。
一例として、この評価点数は、例えば0~1の数字で表されてもよい。原則として、より高い評価点数を有するハイパーパラメータは、検証した機械学習モデルにおいてより優れた精度・性能・効率等を発揮したことを意味する。
次に、ステップ705では、評価部は、所定の評価基準を達成するハイパーパラメータを、上述した上位ハイパーパラメータデータベースに格納してもよい。この評価基準は、「良い」と「悪い」のハイパーパラメータの敷居を定義する基準であり、所定の評価点数(例えば0.85以上)、所定のパーセンテージ(上位10%)、所定の数(上位20個)等として表現されてもよい。
次に、図9を参照して、本発明の実施例1に係る変更部による処理について説明する。
図9は、本発明の実施例1に係る変更部による処理800を示すフローチャートである。この処理800は、上位ハイパーパラメータに基づいて、第2のハイパーパラメータを生成する処理を示す。
まず、ステップ801では、変更部は、上位ハイパーパラメータデータベースに格納されている上位ハイパーパラメータのうち、任意の数K個のハイパーパラメータのセットを読み出す。
なお、ここでは、Kは、2以上の数字である。これは、ハイパーパラメータのセットが1つしかない場合には、値の交換や後述する合成ができないからである。
次に、ステップ802では、変更部は、K個のハイパーパラメータのセットの値を交換することで、第2のハイパーパラメータのセットを生成する。
例えば、上位ハイパーパラメータデータベースには、{“missing_value”:“median”,“number_of_layers”:2}及び{“missing_value”:“average”,“number_of_layers”:3}の上位ハイパーパラメータデータベースがある場合には、変更部123は、それぞれのハイパーパラメータの値を交換し{“missing_value”:“average”,“number_of_layers”:2}及び{“missing_value”:“median”,“number_of_layers”:3}を生成する。
なお、説明の便宜上、上位ハイパーパラメータデータベースに2つのハイパーパラメータがある場合について説明したが、本発明はそれに限定されず、3つ以上のハイパーパラメータがある場合にも適用可能であるというまでもない。この場合には、変更部は、上位ハイパーパラメータデータベースに格納されるハイパーパラメータデータの全ての順列を生成してもよい。
また、ここでは、複数の上位ハイパーパラメータの値を交換することで第2のハイパーパラメータのセットを生成する一例を説明したが、本発明はこれに限定されず、後述するように、複数の上位ハイパーパラメータを合成することで第2のハイパーパラメータのセットを生成することもできる。
次に、ステップ803では、変更部は、第2のハイパーパラメータのセットの中から、任意のハイパーパラメータをランダムに選択し、出力する。ここで選択されたハイパーパラメータは、強化学習部を訓練するために用いられてもよく、機械学習モデルに設定されてもよく、上位ハイパーパラメータデータベースに格納されてもよい。
次に、図10を参照して、本発明の実施例1に係る強化学習部による処理について説明する。
図10は、本発明の実施例1に係る強化学習部による処理900を示すフローチャートである。この処理900は、ハイパーパラメータを生成し、ハイパーパラメータの評価点数に基づいて強化学習部を訓練する処理を示す。
まず、ステップ901では、強化学習部は、第1のハイパーパラメータのセットを探索(exploration)で生成するか、搾取(exploitation)で生成するかを判定するためには、0以上1未満のランダムな値を生成する。
次に、ステップ902では、強化学習部は、ランダムに生成した値を第1のエプシロンパラメータε1に比較する。ランダムに生成した値が第1のエプシロンパラメータε1以上の場合には、本処理はステップ903に進み、ランダムに生成した値が第1のエプシロンパラメータε1未満の場合には、本処理はステップ904に進む。
なお、第1のエプシロンパラメータε1は、予めユーザに設定される値である。
ステップ903では、強化学習部は、いわゆる「搾取」の手段として、再帰型ニューラルネットワークの順伝播計算を用いて、ハイパーパラメータのシーケンスを第1のハイパーパラメータのセットとして生成する。
ステップ904では、強化学習部は、探索の手段として、上述した変更部を用いるか、ハイパーパラメータ空間から一様に抽出したハイパーパラメータを用いるかを判定するためには、0以上1未満のランダムな値を生成する。
次に、ステップ905では、強化学習部は、ランダムに生成した値を第2のエプシロンパラメータε2に比較する。ランダムに生成した値が第2のエプシロンパラメータε2以上の場合には、本処理はステップ907に進み、ランダムに生成した値が第2のエプシロンパラメータε2未満の場合には、本処理はステップ906に進む。
なお、第2のエプシロンパラメータε2は、予めユーザに設定される値である。
ステップ906では、強化学習部は、変更部を呼び出し、第1のハイパーパラメータのセットに基づいた第2のハイパーパラメータを生成させる。この処理は、上述した処理800に対応する。
ステップ907では、強化学習部は、候補ハイパーパラメータデータベースの候補ハイパーパラメータ空間から一様に抽出したハイパーパラメータを第1のハイパーパラメータのセットとして生成する。
次に、ステップ908では、強化学習部は、ステップ903、ステップ906、又はステップ907で生成されたハイパーパラメータのセットを処理部及びモデル作成部に送信する。その後、処理部及びモデル作成部はそれぞれ、上述した処理(処理500及び処理600)を行う。
次に、ステップ909では、処理部、モデル作成部、及び評価部による処理が終了した後、強化学習部は、ハイパーパラメータのセットについて計算された評価点数を評価部から受信する。
次に、ステップ910では、強化学習部は、ポリシー勾配法を用いて、受信した評価点数に基づいて、再帰型ネットワークの重み付けを更新する。例えば、ハイパーパラメータの評価点数が低い(所定の評価基準を達成しない)場合には、強化学習部は、再帰型ネットワークの重み付けを減少してもよい。また、ハイパーパラメータの評価点数が高い(所定の評価基準を達成する)場合には、強化学習部は、再帰型ネットワークの重み付けを増加してもよい。これにより、強化学習部の再帰型ネットワークはよりよいハイパーパラメータを生成するように訓練される。
次に、図11を参照して、本発明の実施例2に係るハイパーパラメータ管理システムの構成について説明する。
図11は、本発明の実施例2に係るハイパーパラメータ管理システム1150の構成を示す図である。図11に示すハイパーパラメータ管理システム1150は、図2を参照して説明したハイパーパラメータ管理システム150の構成要素の他に、予測調整部126を備える点において、ハイパーパラメータ管理システム150と異なる。この点以外、ハイパーパラメータ管理システム1150の構成はハイパーパラメータ管理システム150の構成と実質的に同様であるため、その説明は省略する。
機械学習モデルの中には、出力となる確率分布が二極化する等、汎用性に欠けるモデルがある。例えば、ローンがデフォルトされる確率を予測する機械学習モデルの確率分布では、ローンがデフォルトされる確率がほぼ100%又はほぼ0%等のような極端の2択に分かれるものがある。このような二極化した結果では、有意義な結論を導出することが難しいため、「100%」と「0%」の間をより滑らかな確率分布で示す機械学習モデルが望ましい。
従って、本発明の実施例2に係るハイパーパラメータ管理システム1150は、所望の確率分布に応じてハイパーパラメータの評価点数を調整する予測調整部126を含む。これにより、モデル作成部122によって作成される機械学習モデルは、より有意義な確率分布を有する予測結果を生成するように訓練される。
なお、予測調整部126の機能については後述する。
次に、図12を参照して、本発明の実施例2に係るハイパーパラメータ管理システムの機能的構成について説明する。
図12は、本発明の実施例2に係るハイパーパラメータ管理システムの機能的構成1250を示すブロック図である。図12に示す機能的構成1250は、図3を参照して説明した機能的構成250の構成要素の他に、予測調整部126を備える点において、機能的構成250と異なる。この点以外、機能的構成1250の構成は機能的構成250と実質的に同様であるため、その説明は省略する。
予測調整部126は、モデル作成部122の機械学習モデル(図示せず)によって生成された予測結果と、ハイパーパラメータの評価点数とを受信する。ここでの予測結果とは、例えば対象データに基づいて生成された、ローンのデフォルト、不正の金融取引、病気の進行等のイベントに関する確率分布であってもよい。
次に、予測調整部126は、機械学習モデルによって生成された予測結果を、予め入力された所望の予測分布に比較し、この比較の結果に基づいて、ハイパーパラメータの評価点数を調整する。この所望の予測分布は、例えばユーザが望む確率分布を示す参考用のデータであってもよい。評価点数が調整されたハイパーパラメータのうち、所定の評価基準を達成するハイパーパラメータは上位ハイパーパラメータデータベース132に格納される。
なお、ハイパーパラメータ調整の詳細については後述する。
次に、図13を参照して、本発明の実施例2に係る予測調整部による処理について説明する。
図13は、本発明の実施例2に係る予測調整部による処理1300を示すフローチャートである。この処理1300は、機械学習モデルの予測結果と所望の予測分布との比較に基づいて、ハイパーパラメータの評価点数を調整する処理の各工程を示す。
まず、ステップ1301では、予測調整部は、モデル作成部122の機械学習モデル(図示せず)によって生成された予測結果を受信する。この予測結果は、例えば、複数のテスト用データに基づいて生成された予測を1つの予測分布に集約したものであってもよい。
次に、ステップ1302では、予測調整部は、機械学習モデルの予測結果と、予め入力された所望の予測分布を比較し、予測結果と所望の予測分布の差異を示す距離を計算する。この距離は、例えばカルバック・ライブラー距離の計算手段によって計算されてもよい。
次に、ステップ1303では、予測調整部は、予測結果と所望の予測分布の距離に基づいて、ハイパーパラメータの評価点数を調整する。具体的には、予測結果が、予測結果分布に対する所定の類似度基準を達成する場合には、予測調整部はハイパーパラメータの評価点数を増加させる。一方、予測結果が、予測結果分布に対する所定の類似度基準を達成しない場合には、予測調整部はハイパーパラメータの評価点数を現象させてもよい。ここでの類似度基準は、例えば所定の距離の値を指定する基準である。
次に、ステップ1304では、予測調整部は、評価点数を調整したハイパーパラメータを出力する。例えば、上述したように、予測調整部は、評価点数が調整されたハイパーパラメータのうち、所定の評価基準を達成するハイパーパラメータを上位ハイパーパラメータデータベースに格納してもよい。
このように、所望の予測分布に類似した予測結果の生成を促すハイパーパラメータが高い評価点数となり、所望の予測分布に類似しない予測結果の生成を促すハイパーパラメータが低い評価点数となる。これにより、モデル作成部が機械学習モデルを作成する際に、高い評価点数のハイパーパラメータを用いることで、ユーザが望む予測分布を有する予測結果が生成できる機械学習モデルを実現することができる。
次に、図14を参照して、本発明の実施例3に係るハイパーパラメータ管理システムの構成について説明する。
図14は、本発明の実施例3に係るハイパーパラメータ管理システム1400の構成を示す図である。以上説明した実施例1及び実施例2では、上位の処理用ハイパーパラメータ及びモデル用ハイパーパラメータを共に生成する構成について説明したが、本発明はそれに限定されず、上位の処理用ハイパーパラメータ及びモデル用ハイパーパラメータを個別に生成する構成も可能である。そのため、本発明の実施例3に係るハイパーパラメータ管理システム1400は、上位の処理用ハイパーパラメータと、モデル用ハイパーパラメータとを並行に生成する構成について説明する。
なお、ここでは、「上位の処理用ハイパーパラメータ及びモデル用ハイパーパラメータを個別に生成する」との表現は、上位の処理用ハイパーパラメータと、上位のモデル用ハイパーパラメータとを独立した機械学習パイプラインで生成することを意味する。これにより、上位の処理用ハイパーパラメータ及びモデル用ハイパーパラメータを同じ機械学習パイプラインで生成することに比べて、より評価点数の高いハイパーパラメータが得られやすくなる。
図14に示すように、処理用ハイパーパラメータ及びモデル用ハイパーパラメータの生成を並行に行うためには、ハイパーパラメータ管理システム1400のハイパーパラメータ管理サーバ100は、2つのプロセッサ110、210、2つのメモリ110、220、及び2つの記憶部130、230を含んでもよい。プロセッサ110、210は、物理的に独立されているプロセッサであってもよく、同一のプロセッサの異なるコアであってもよい。同様に、メモリ120、220及び記憶部130、230は、物理的に独立されているものであってもよく、同一の記憶媒体の異なるパーティションであってもよい。
上述したように、実施例2では、処理用ハイパーパラメータを生成する処理と、モデル用ハイパーパラメータを生成する処理とが個別に行われる。そのため、処理用ハイパーパラメータを生成する処理では、強化学習部124は、モデル用ハイパーパラメータを生成しない。しかし、処理用ハイパーパラメータを生成する処理において、機械学習モデルを作成するためには、モデル用ハイパーパラメータが必要となる。同様に、モデル用ハイパーパラメータを生成する処理において、対象データの前処理を行うためには、処理用ハイパーパラメータが必要となる。
従って、本実施形態に係るハイパーパラメータ管理システム1400は、処理用ハイパーパラメータを生成する処理において用いられるモデル用ハイパーパラメータが事前に格納されている固定のモデル用ハイパーパラメータデータベース135と、モデル用ハイパーパラメータを生成するする処理において用いられる処理用ハイパーパラメータが事前に格納されている固定の処理用ハイパーパラメータデータベース235とを含む。
これにより、処理用ハイパーパラメータ又はモデル用ハイパーパラメータを生成する処理において、他の種類のハイパーパラメータが必要になった際に、当該ハイパーパラメータが該当するデータベースから読み出され、適宜に使用される。なお、これらの固定のハイパーパラメータの値が固定されているため、評価部125や変更部123の処理によって変更されない。
図14に示すように、記憶部130は、処理用ハイパーパラメータを生成する候補処理用ハイパーパラメータデータベース133と、所定の評価基準を達成する処理用ハイパーパラメータを格納する上位処理用ハイパーパラメータデータベース134と、機械学習モデルを作成する際に用いる固定のモデル用ハイパーパラメータを格納する固定のモデル用ハイパーパラメータデータベース135とを含む。
また、記憶部230は、モデル用ハイパーパラメータを生成する候補モデル用ハイパーパラメータデータベース233と、所定の評価基準を達成するモデル用ハイパーパラメータを格納する上位モデル用ハイパーパラメータデータベース234と、対象データを処理する際に用いる処理用ハイパーパラメータを格納する固定の処理用ハイパーパラメータデータベース235とを含む。
なお、以上説明した点以外、ハイパーパラメータ管理システム1400の構成は上述したハイパーパラメータ管理システム150と実施的に同様であるため、その説明は省略する。
次に、図15を参照して、本発明の実施例3に係るハイパーパラメータ管理システムの機能的構成について説明する。
図15は、本発明の実施例3に係るハイパーパラメータ管理システムの機能的構成1450を示すブロック図である。上述したように、本発明の実施例3では、処理用ハイパーパラメータと、モデル用ハイパーパラメータとが個別の処理で生成される。従って、図15に示すように、上述した強化学習部、処理部、モデル作成部、変更部及び評価部の機能が、処理用ハイパーパラメータ及びモデル用ハイパーパラメータ毎に、並行に実行される。具体的な処理手順や、機能部間のデータの送受信は、図3を参照して説明したとの実施的に同様であるため、ここではその説明を省略する。
次に、図16を参照して、本発明の実施例4に係るハイパーパラメータ管理システムの構成について説明する。
図16は、本発明の実施例4に係るハイパーパラメータ管理システム1600の構成を示す図である。図16に示すハイパーパラメータ管理システム1600は、上述したハイパーパラメータ管理システム1400と同様に、処理用ハイパーパラメータと、モデル用ハイパーパラメータを並行に処理する構成である。ただし、ハイパーパラメータ管理システム1600は、固定のハイパーパラメータデータベースに格納されているハイパーパラメータを更新するハイパーパラメータ更新部321を含む点において、ハイパーパラメータ管理システム1400と異なる。この点以外、ハイパーパラメータ管理システム1600の構成はハイパーパラメータ管理システム1400の構成と実質的に同様であるため、その説明は省略する。
処理用ハイパーパラメータと、モデル用ハイパーパラメータを独立して最適化する場合には、1種のハイパーパラメータを固定した状態で、もう1種のハイパーパラメータが最適化される。そのため、処理用ハイパーパラメータとモデル用ハイパーパラメータの両方が最適化されたハイパーパラメータセットを実現するためには、固定したハイパーパラメータを、別の機械学習パイプラインにおいて最適化されたハイパーパラメータに基づいて更新することが望ましい。
図16に示すように、ハイパーパラメータ管理システム1600は、第3のプロセッサ313と、メモリ323と、ハイパーパラメータ更新部321とを含む。このハイパーパラメータ更新部321は、所定の頻度で、上位モデル用ハイパーパラメータデータベース234に格納されている上位モデル用ハイパーパラメータを、固定のモデル用ハイパーパラメータデータベース135に移行し、上位処理用ハイパーパラメータデータベース134に格納されている上位処理用ハイパーパラメータを、固定の処理用ハイパーパラメータデータベース235に移行する機能部である。
これにより、固定のハイパーパラメータが上位ハイパーパラメータに置き換えられるため、最新で最も評価点数の高いハイパーパラメータがそれぞれの機械学習パイプラインにおいて使用される。
次に、図17を参照して、本発明の実施例4に係るハイパーパラメータ管理システムの機能的構成について説明する。
図17は、本発明の実施例4に係るハイパーパラメータ管理システムの機能的構成1750を示す図である。図17に示すように、ハイパーパラメータ更新部321は、所定の頻度で、上位モデル用ハイパーパラメータデータベース234に格納されている上位モデル用ハイパーパラメータを、固定のモデル用ハイパーパラメータデータベース135に移行し、上位処理用ハイパーパラメータデータベース134に格納されている上位処理用ハイパーパラメータを、固定の処理用ハイパーパラメータデータベース235に移行する。
なお、この点以外、図17に示すハイパーパラメータ管理システムの機能的構成1750は、図3に示すハイパーパラメータ管理システムの機能的構成250と実質的に同様であるため、ここではその説明を省略する。
次に、図18を参照して、本発明の実施例4に係るハイパーパラメータ更新部による処理について説明する。
図18は、本発明の実施例4に係るハイパーパラメータ更新部による処理1800を示すフローチャートである。この処理1800は、固定のハイパーパラメータデータベースに格納されているハイパーパラメータを、上位のハイパーパラメータで更新する処理を示す。
まず、ステップ1601では、ハイパーパラメータ更新部は、所定のハイパーパラメータ更新条件が満たされているか否かを判定する。このハイパーパラメータ更新条件は、ハイパーパラメータを更新する時間や状況を定める条件である。このハイパーパラメータ更新条件は、例えば前回の更新からの所定時間の経過(1時間、1日、1週間)、訓練された機械学習モデルの数、上位ハイパーパラメータの数等、任意の条件であってもよい。ハイパーパラメータ更新条件が満たされている場合には、本処理はステップ1602に進み、ハイパーパラメータ更新条件が満たされていない場合には、本処理は終了する。
次に、ステップ1602では、ハイパーパラメータ更新部は、上位処理用ハイパーパラメータデータベースに格納されている上位処理用ハイパーパラメータを、固定の処理用ハイパーパラメータデータベースに移行する。この際、固定の処理用ハイパーパラメータデータベースに格納されているハイパーパラメータは、上位処理用ハイパーパラメータによって上書きされてもよく、予備のハイパーパラメータとして保管されてもよい。
次に、ステップ1603では、ハイパーパラメータ更新部は、上位モデル用ハイパーパラメータデータベースに格納されている上位モデル用ハイパーパラメータを、固定のモデル用ハイパーパラメータデータベースに移行する。また、上述したように、この際には、固定のモデル用ハイパーパラメータデータベースに格納されているハイパーパラメータは、上位モデル用ハイパーパラメータによって上書きされてもよく、予備のハイパーパラメータとして保管されてもよい。
次に、図19を参照して、本発明の実施例5に係るハイパーパラメータ管理システムの構成について説明する。
図19は、本発明の実施例5に係るハイパーパラメータ管理システム1900の構成を示す図である。図19に示すハイパーパラメータ管理システム1900は、上述したハイパーパラメータ管理システム1400と同様に、処理用ハイパーパラメータと、モデル用ハイパーパラメータとを並行に生成する構成である。ただし、ハイパーパラメータ管理システム1900は、独立して生成された上位処理用ハイパーパラメータ及び上位モデル用ハイパーパラメータを合成するハイパーパラメータ合成部325を含む点において、ハイパーパラメータ管理システム1400と異なる。この点以外、ハイパーパラメータ管理システム1900の構成はハイパーパラメータ管理システム1400の構成と実質的に同様であるため、その説明は省略する。
処理用ハイパーパラメータと、モデル用ハイパーパラメータを独立して最適化する場合には、上位処理用ハイパーパラメータ及び上位モデル用ハイパーパラメータはそれぞれ別のデータベースに格納される。そのため、処理用ハイパーパラメータとモデル用ハイパーパラメータの両方が最適化されたハイパーパラメータセットを実現するためには、上位処理用ハイパーパラメータと、上位モデル用ハイパーパラメータとを合成することが望ましい。
図19に示すように、ハイパーパラメータ管理システム1900は、第3のプロセッサ313と、メモリ323と、ハイパーパラメータ合成部325とを含む。このハイパーパラメータ合成部325は、上位処理用ハイパーパラメータを上位処理用ハイパーパラメータデータベース134から抽出し、上位モデル用ハイパーパラメータを上位モデル用ハイパーパラメータデータベース234から抽出し、当該抽出した上位処理用ハイパーパラメータ及び上位モデル用ハイパーパラメータを合成することで、第2のハイパーパラメータのセットを生成する。ここで合成した第2のハイパーパラメータのセットは、図19に示す記憶部333の上位合成ハイパーパラメータデータベース335に格納される。
次に、図20を参照して、本発明の実施例5に係るハイパーパラメータ管理システムの機能的構成について説明する。
図20は、本発明の実施例5に係るハイパーパラメータ管理システムの機能的構成2050を示す図である。上述したように、本発明の実施例5では、独立して生成された上位処理用ハイパーパラメータ及び上位モデル用ハイパーパラメータを合成することで第2のハイパーパラメータのセットが生成される。
図20に示すように、ハイパーパラメー合成部325は、上位処理用ハイパーパラメータを上位処理用ハイパーパラメータデータベース134から抽出し、上位モデル用ハイパーパラメータを上位モデル用ハイパーパラメータデータベース234から抽出し、当該抽出した上位処理用ハイパーパラメータ及び上位モデル用ハイパーパラメータを合成することで、第2のハイパーパラメータのセットを生成する。
その後、第2のハイパーパラメータのセットは、処理部121及びモデル作成部122に送信され、対象データの処理及び機械学習モデルの作成に用いられる。その後、評価部125は、第2のハイパーパラメータのセットについての評価点数を計算し、所定の評価基準を達成するハイパーパラメータを上位合成ハイパーパラメータデータベース335に格納する。
なお、この点以外、図20に示すハイパーパラメータ管理システムの機能的構成2050は、図3に示すハイパーパラメータ管理システムの機能的構成250と実質的に同様であるため、ここではその説明を省略する。
次に、図21を参照して、本発明の実施例5に係るハイパーパラメータ合成部による処理について説明する。
図21は、本発明の実施例5に係るハイパーパラメータ合成部による処理2100を示すフローチャートである。この処理2100は、独立して生成された上位処理用ハイパーパラメータ及び上位モデル用ハイパーパラメータを合成する処理を示す。
まず、ステップ1901では、合成部は、合成を行うためには必要な数の処理用ハイパーパラメータ及びモデル用ハイパーパラメータがあるか否かを判定する。原則として、合成を行うためには、少なくとも1つの上位処理用ハイパーパラメータと、少なくとも1つの上位モデル用ハイパーパラメータが必要である。
そのため、合成部は、上述した上位処理用ハイパーパラメータデータベース及び上位モデル用ハイパーパラメータデータベースを参照し、十分な数のハイパーパラメータが格納されているかを確認する。十分な数のハイパーパラメータがある場合には、本処理はステップ1902に進み、十分な数のハイパーパラメータがある場合には、本処理は終了する。
次に、ステップ1902では、合成部は、上位処理用ハイパーパラメータを上位処理用ハイパーパラメータデータベースから抽出し、上位モデル用ハイパーパラメータを上位モデル用ハイパーパラメータデータベースから抽出し、当該抽出した上位処理用ハイパーパラメータ及び上位モデル用ハイパーパラメータを合成する。
一例として、上位処理用ハイパーパラメータデータベースに{“missing_value”:“median”}の上位処理用ハイパーパラメータがあり、上位モデル用ハイパーパラメータデータベースには、{“number_of_layers”:2}の上位モデル用ハイパーパラメータがある場合には、合成部は、これらのハイパーパラメータを合成し、{“missing_value”:“median”,“number_of_layers”:2}のハイパーパラメータを、第2のハイパーパラメータのセットとして生成する。
なお、説明の便宜上、上位処理用ハイパーパラメータが1つ、上位モデル用ハイパーパラメータが1つある場合について説明したが、本発明はそれに限定されず、それぞれの種類のハイパーパラメータが複数存在する場合にも適用可能であるというまでもない。この場合には、合成部は、上位処理用ハイパーパラメータ及び上位モデル用ハイパーパラメータの全ての順列を生成してもよい。
次に、ステップ1903では、合成部は、生成した第2のハイパーパラメータのセットを処理部及びモデル作成部に送信する。その後、上述したように、処理部は、第2のハイパーパラメータのセットに含まれる処理用ハイパーパラメータを用いて対象データを処理し、モデル作成部は、第2のハイパーパラメータのセットに含まれるモデル用ハイパーパラメータを用いて機械学習モデルを生成する。
以上説明した本発明に係る実施形態の機能は、プログラム製品として実現されてもよい。ここでのプログラム製品とは、コンピュータプログラムが記録されたコ ンピュータが読み取り可能な媒体である。プログラムコードを記録するための記憶媒体としては、例えばフレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性メモリカード、ROM等がある。
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。