JP2020198135A - ハイパーパラメータチューニング方法、装置及びプログラム - Google Patents

ハイパーパラメータチューニング方法、装置及びプログラム Download PDF

Info

Publication number
JP2020198135A
JP2020198135A JP2020151465A JP2020151465A JP2020198135A JP 2020198135 A JP2020198135 A JP 2020198135A JP 2020151465 A JP2020151465 A JP 2020151465A JP 2020151465 A JP2020151465 A JP 2020151465A JP 2020198135 A JP2020198135 A JP 2020198135A
Authority
JP
Japan
Prior art keywords
hyperparameter
program
hyperparameters
user program
tuning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020151465A
Other languages
English (en)
Other versions
JP7301801B2 (ja
JP2020198135A5 (ja
Inventor
拓哉 秋葉
Takuya Akiba
拓哉 秋葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Preferred Networks Inc
Original Assignee
Preferred Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2018191250A external-priority patent/JP6892424B2/ja
Application filed by Preferred Networks Inc filed Critical Preferred Networks Inc
Priority to JP2020151465A priority Critical patent/JP7301801B2/ja
Publication of JP2020198135A publication Critical patent/JP2020198135A/ja
Publication of JP2020198135A5 publication Critical patent/JP2020198135A5/ja
Priority to JP2023101841A priority patent/JP2023123636A/ja
Application granted granted Critical
Publication of JP7301801B2 publication Critical patent/JP7301801B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ユーザによるプログラミングの利便性を向上させるハイパーパラメータチューニング方式を提供することである。【解決手段】本開示の一態様は、プロセッサにより実行されるステップからなるハイパーパラメータチューニング方法であって、ユーザプログラムに記述されたハイパーパラメータ取得コードに従って生成されたハイパーパラメータ取得要求を受信するステップと、前記ユーザプログラムに対するハイパーパラメータの適用履歴に基づき前記ユーザプログラムに前記ハイパーパラメータを提供するステップと、前記ハイパーパラメータが適用されたユーザプログラムの評価結果を取得するステップと、を有するハイパーパラメータチューニング方法に関する。【選択図】図3

Description

本開示は、情報処理技術に関する。
プログラムを実行する際、プログラムの動作条件等を規定するパラメータが、しばしば外部から設定される。パラメータに設定される値によって、プログラムの実行結果や性能は影響を受けるため、適切なパラメータの設定が必要とされる。このような外部から設定されるパラメータは、プログラム内部で設定又は更新されるパラメータと区別するため、ハイパーパラメータとして呼ばれることもある。
例えば、ディープラーニングなどの機械学習では、学習対象の問題を特徴付ける機械学習モデルのパラメータが学習アルゴリズムに基づき学習される。一方、このような学習対象のパラメータとは別に、ハイパーパラメータが機械学習モデルの選択時や学習アルゴリズムの実行時に設定される。機械学習のためのハイパーパラメータの具体例としては、特定の機械学習モデルに利用されるパラメータ(例えば、ニューラルネットワークでは、学習率、学習期間、ノイズ率、重み減衰係数など)があり、また、いくつかの機械学習モデルが利用される場合、機械学習モデルのタイプ、個々のタイプの機械学習モデルを構築するためのパラメータ(例えば、ニューラルネットワークではレイヤ数、決定木ではツリーの深さなど)などもある。適切なハイパーパラメータを設定することによって、予測性能、汎化性能、学習効率などを向上させることができる。
一般に、ハイパーパラメータはユーザによって手動によって設定されたり、あるいは、パイパーパラメータチューニングソフトウェアなどによって自動設定される。例えば、ハイパーパラメータチューニングソフトウェアとして、HyperOpt、SigOpt、Vizier、MOE、MetaOpt、SMAC、Spearmintなどが知られている。
特開2017−49677号公報 特開2017−228068号公報
上述したような既存のハイパーパラメータチューニングソフトウェアによると、ユーザが、チューニング対象のハイパーパラメータ及び各ハイパーパラメータの値の範囲をハイパーパラメータチューニングソフトウェアに予め定義する。ハイパーパラメータチューニングソフトウェアは、ユーザによって定義されたハイパーパラメータ及び各ハイパーパラメータの値の範囲に基づき、Chainer、TensorFlowなどの機械学習ライブラリを利用して記述された機械学習モデルを学習するためのユーザプログラムに、ハイパーパラメータチューニングソフトウェアに定義されたハイパーパラメータの値を設定し、設定されたハイパーパラメータに従って機械学習モデルが学習される。
しかしながら、既存のハイパーパラメータチューニングソフトウェアでは、チューニング対象のハイパーパラメータは機械学習モデルの学習等を行うユーザプログラムとは異なる場所に定義され、設定されたハイパーパラメータは機械学習モデルの学習等を伴うユーザプログラムによって利用される。すなわち、ハイパーパラメータが定義されるプログラムと、ハイパーパラメータを利用するプログラムとが分離されており、ユーザによるプログラムのメンテナンスを困難にしうる。
また、ニューラルネットワーク、決定木などの機械学習モデルのタイプがハイパーパラメータチューニングソフトウェアによってハイパーパラメータとして設定される場合、他のハイパーパラメータは、設定された機械学習モデルに応じて設定される必要がある。例えば、重み減衰係数やドロップアウト率などは、ニューラルネットワークが設定された場合にはハイパーパラメータとして利用されるが、決定木が設定された場合にはハイパーパラメータとして利用されない。このように、特定のハイパーパラメータの設定値に応じて設定されるべき他のハイパーパラメータが変わるが、既存のハイパーパラメータチューニングソフトウェアでは、このような条件分岐を可能にする制御構造によるハイパーパラメータの設定は扱うことができない。また、既存のハイパーパラメータチューニングソフトウェアによると、ハイパーパラメータのチューニングに関するソースコードをモジュール化することもできない。
上述した問題点を鑑み、本開示の課題は、ユーザによるプログラミングの利便性を向上させるハイパーパラメータチューニング方式を提供することである。
上記課題を解決するため、本開示の一態様は、プロセッサにより実行されるステップからなるハイパーパラメータチューニング方法であって、ユーザプログラムに記述されたハイパーパラメータ取得コードに従って生成されたハイパーパラメータ取得要求を受信するステップと、前記ユーザプログラムに対するハイパーパラメータの適用履歴に基づき前記ユーザプログラムに前記ハイパーパラメータを提供するステップと、前記ハイパーパラメータが適用されたユーザプログラムの評価結果を取得するステップと、を有するハイパーパラメータチューニング方法に関する。
本開示によると、ユーザによるプログラミングの利便性を向上させるハイパーパラメータチューニング方式を提供することができる。
本開示によるdefine−by−run方式によるハイパーパラメータの設定を示す概略図である。 本開示の一実施例によるハイパーパラメータチューニング装置のハードウェア構成を示すブロック図である。 本開示の一実施例によるハイパーパラメータチューニング処理を示すフローチャートである。 本開示の一実施例によるハイパーパラメータチューニング処理を示すシーケンス図である。 本開示の一実施例によるハイパーパラメータ取得コードを示す図である。 本開示の他の実施例によるハイパーパラメータ取得コードを示す図である。
以下の実施例では、プログラム実行時に利用されるハイパーパラメータを設定するハイパーパラメータチューニング装置及び方法が開示される。
本開示を概略すると、ハイパーパラメータチューニング装置は、ハイパーパラメータチューニングプログラム又はソフトウェアによって実現され、ユーザプログラムからハイパーパラメータ取得要求を受信すると、当該ユーザプログラムに対するハイパーパラメータの適用履歴に基づきユーザプログラムにハイパーパラメータを提供する。ここで、ユーザプログラムは、当該ユーザプログラム内に記述されたハイパーパラメータ取得コードに従って取得すべきハイパーパラメータを取得するためのハイパーパラメータ取得要求を生成し、生成したハイパーパラメータ取得要求によってハイパーパラメータチューニングプログラムに取得すべきハイパーパラメータを順次要求する。
以下の実施例は、機械学習モデルの学習処理に利用されるハイパーパラメータに着目するが、本開示によるハイパーパラメータは、これに限定されず、ユーザプログラムの実行結果や性能に影響を与える可能性がある任意のハイパーパラメータであってもよい。
本開示によるハイパーパラメータ取得コードは、if文などの条件分岐やfor文など繰り返し処理を実行可能な制御構造により記述可能である。具体的には、図1に示されるように、ユーザプログラム10はまず、ハイパーパラメータとして"機械学習モデルのタイプ"をハイパーパラメータチューニングプログラム20に要求し、ユーザプログラム10からのハイパーパラメータ取得要求に応答して、ハイパーパラメータチューニングプログラム20は、"機械学習モデルのタイプ"として、例えば、"ニューラルネットワーク"を返す。"機械学習モデルのタイプ"として"ニューラルネットワーク"が選択されると、ユーザプログラム10は、ハイパーパラメータ取得コードの制御構造に従って、"ニューラルネットワーク"に必要とされる各種ハイパーパラメータ(例えば、レイヤ数、学習率など)を要求する。このように、本開示によると、ハイパーパラメータは、define−by−run方式で設定される。
学習処理に必要なハイパーパラメータの組み合わせが設定されると、ユーザプログラム10は、取得したハイパーパラメータの組み合わせを適用して機械学習モデルを学習し、学習された機械学習モデルの予測性能などの精度をハイパーパラメータチューニングプログラム20に提供する。所定の終了条件が充足されるまで、上述した処理が繰り返される。
まず、図2〜4を参照して、本開示の一実施例によるハイパーパラメータチューニング処理を説明する。本実施例では、ハイパーパラメータチューニング装置100が当該処理を実行し、より詳細には、ハイパーパラメータチューニング装置100のプロセッサが、ハイパーパラメータチューニングプログラム20を実行することによって当該処理を実行する。
ここで、ハイパーパラメータチューニング装置100は、例えば、図2に示されるように、CPU (Central Processing unit)、GPU (Graphics Processing Unit)などのプロセッサ101、RAM (Random Access Memory)、フラッシュメモリなどのメモリ102、ハードディスク103及び入出力(I/O)インタフェース104によるハードウェア構成を有してもよい。
プロセッサ101は、ハイパーパラメータチューニング装置100の各種処理を実行すると共に、ユーザプログラム10及び/又はハイパーパラメータチューニングプログラム20を実行する。
メモリ102は、ユーザプログラム10及び/又はハイパーパラメータチューニングプログラム20と共に、ハイパーパラメータチューニング装置100のための各種データ及びプログラムを格納し、特に作業用データ、実行中のプログラムなどのためのワーキングメモリとして機能する。具体的には、メモリ102は、ハードディスク103からロードされたユーザプログラム10及び/又はハイパーパラメータチューニングプログラム20を格納し、プロセッサ101によるプログラムの実行中にワーキングメモリとして機能する。
ハードディスク103は、ユーザプログラム10及び/又はハイパーパラメータチューニングプログラム20を格納する。
I/Oインタフェース104は、外部装置との間でデータを入出力するためのインタフェースであり、例えば、USB (Universal Serial Bus)、通信回線、キーボード、マウス、ディスプレイなどのデータを入出力するためのデバイスである。
しかしながら、本開示によるハイパーパラメータチューニング装置100は、上述したハードウェア構成に限定されず、他の何れか適切なハードウェア構成を有してもよい。例えば、上述したハイパーパラメータチューニング装置100によるハイパーパラメータチューニング処理の一部又は全ては、これを実現するよう配線化された処理回路又は電子回路により実現されてもよい。
図3は、本開示の一実施例によるハイパーパラメータチューニング処理を示すフローチャートである。当該ハイパーパラメータチューニング処理は、例えば、Chainer、TensorFlowなどの機械学習ライブラリを利用して記述されたユーザプログラム10が起動されると、ハイパーパラメータチューニングプログラム20を実行するハイパーパラメータチューニング装置100によって実現される。
図3に示されるように、ステップS101において、ハイパーパラメータチューニングプログラム20は、ハイパーパラメータ取得要求を受信する。
具体的には、ユーザプログラム10は、ユーザプログラム内に記述されたハイパーパラメータ取得コードに従って取得すべきハイパーパラメータを決定し、当該ハイパーパラメータに対するハイパーパラメータ取得要求を生成し、生成したハイパーパラメータ取得要求をハイパーパラメータチューニングプログラム20に送信し、ハイパーパラメータチューニングプログラム20は、ユーザプログラム10から当該ハイパーパラメータ取得要求を受信する。
一実施例では、ハイパーパラメータ取得コードは、例えば、順次構造、選択構造及び/又は反復構造から構成される制御構造を利用して記述されうる。具体的には、ハイパーパラメータ取得コードは、if文やfor文などを利用して記述可能である。例えば、ハイパーパラメータチューニングプログラム20が、ハイパーパラメータとして"機械学習モデルのタイプ"を"ニューラルネットワーク"に設定した場合、ユーザプログラム10は、ハイパーパラメータ取得コードの制御構造に従って"ニューラルネットワーク"に特有のハイパーパラメータ(例えば、レイヤ数、レイヤのノード数、重み減衰係数など)を次に取得すべきハイパーパラメータとして決定する。あるいは、ハイパーパラメータチューニングプログラム20が、ハイパーパラメータとして"機械学習モデルのタイプ"を"決定木"に設定した場合、ユーザプログラム10は、ハイパーパラメータ取得コードの制御構造に従って"決定木"に特有のハイパーパラメータ(例えば、ツリーの深さ、ノードから分岐するエッジ数など)を次に取得すべきハイパーパラメータとして決定する。このようにして、ユーザプログラム10は、ユーザプログラム10内に記述された制御構造に従って次に取得すべきハイパーパラメータを決定し、決定されたハイパーパラメータに対するハイパーパラメータ取得要求を生成することができる。
ステップS102において、ハイパーパラメータチューニングプログラム20は、ハイパーパラメータの適用履歴に基づきハイパーパラメータを提供する。
具体的に、ユーザプログラム10からあるハイパーパラメータに対するハイパーパラメータ取得要求を受信すると、ハイパーパラメータチューニングプログラム20は、ユーザプログラム10に対して過去に適用されたハイパーパラメータの適用履歴に基づき、要求されたハイパーパラメータの値を決定し、決定したハイパーパラメータの値をユーザプログラム10に返す。例えば、ハイパーパラメータ取得要求が学習率に対するものである場合、ハイパーパラメータチューニングプログラム20は、ユーザプログラム10に対して過去に設定した学習率の値及び/又は他のハイパーパラメータの値を参照して次に適用すべき学習率の値を決定し、決定した学習率の値をユーザプログラム10に返す。当該学習率の値を取得すると、ユーザプログラム10は、ハイパーパラメータ取得コードに従って更なるハイパーパラメータが機械学習モデルに対して学習処理を実行するのに必要であるか判断し、更なるハイパーパラメータ(例えば、学習期間、ノイズ率など)が必要である場合、当該ハイパーパラメータに対するハイパーパラメータ取得要求を生成し、生成したハイパーパラメータ取得要求をハイパーパラメータチューニングプログラム20に送信する。ユーザプログラム10は、必要とされるハイパーパラメータの組み合わせを取得するまでハイパーパラメータ取得要求を送信し続け、受信したハイパーパラメータ取得要求に応答して、ハイパーパラメータチューニングプログラム20は、上述したステップS101,S102を繰り返す。
一実施例では、ハイパーパラメータチューニングプログラム20は、所定のハイパーパラメータ選択アルゴリズムに従って選択されたハイパーパラメータを提供してもよい。
具体的には、当該ハイパーパラメータ選択アルゴリズムは、ハイパーパラメータの適用履歴の下で取得した機械学習モデルの精度を利用したベイズ最適化に基づくものであってもよい。後述されるように、学習処理に必要とされるハイパーパラメータの組み合わせを取得すると、ユーザプログラム10は、ハイパーパラメータチューニングプログラム20によって設定されたハイパーパラメータの組み合わせを適用して機械学習モデルを学習する。そして、ユーザプログラム10は、設定されたハイパーパラメータの組み合わせの下で学習された機械学習モデルの予測性能などの精度を決定し、決定した精度をハイパーパラメータチューニングプログラム20に提供する。ハイパーパラメータチューニングプログラム20は、過去に設定したハイパーパラメータの各組み合わせ及び当該組み合わせに対して取得された精度を適用履歴として格納し、格納された適用履歴を事前情報として利用して、ベイズ最適化又はベイズ推定に基づき次に設定すべきハイパーパラメータを決定してもよい。ベイズ最適化を利用することによって、適用履歴を事前情報として利用して、より適切なハイパーパラメータの組み合わせを設定することが可能になる。
あるいは、所定のハイパーパラメータ選択アルゴリズムは、ランダムサーチに基づくものであってもよい。この場合、ハイパーパラメータチューニングプログラム20は、適用履歴を参照して、過去に適用していないハイパーパラメータの組み合わせをランダムに設定する。ランダムサーチを利用することによって、シンプルなハイパーパラメータ選択アルゴリズムによってハイパーパラメータを設定することができる。
また、ハイパーパラメータチューニングプログラム20は、上述したベイズ最適化とランダムサーチとを組み合わせてハイパーパラメータの組み合わせを決定してもよい。例えば、ベイズ最適化のみを利用した場合には、局所最適な組み合わせに収束する可能性があり、また、ランダムサーチのみを利用した場合には、最適な組み合わせから大きく乖離した組み合わせが選択される可能性がある。ベイズ最適化とランダムサーチとの2つのハイパーパラメータ選択アルゴリズムを組み合わせて適用し、上記のような問題を軽減する。
しかしながら、本開示によるハイパーパラメータ選択アルゴリズムは、ベイズ最適化及びランダムサーチに限定されず、進化計算、グリッドサーチなどを含む他の何れか適切なハイパーパラメータ選択アルゴリズムであってもよい。
ステップS103において、ハイパーパラメータチューニングプログラム20は、適用されたハイパーパラメータによるユーザプログラムの評価結果を取得する。具体的には、ユーザプログラム10は、学習処理を実行するのに必要とされるハイパーパラメータの組み合わせを取得すると、当該ハイパーパラメータの組み合わせを適用して機械学習モデルに対して学習処理を実行する。学習処理が終了すると、ユーザプログラム10は、結果として得られた機械学習モデルの予測性能などの精度を算出し、算出した精度を評価結果としてハイパーパラメータチューニングプログラム20に提供する。
ステップS104において、終了条件が充足されているか判断され、終了条件が充足されている場合(S104:YES)、当該ハイパーパラメータチューニング処理は終了される。他方、終了条件が充足されていない場合(S104:NO)、当該ハイパーパラメータチューニング処理はステップS101,S102に戻り、ユーザプログラム10は、新たなハイパーパラメータの組み合わせを取得する。ここで、当該終了条件は、例えば、ハイパーパラメータの組み合わせの適用回数が所定の閾値に達したことであってもよい。また、ステップS104における処理は、典型的には、ユーザプログラム10及びハイパーパラメータチューニングプログラム20を制御するメインプログラムに記述されてもよい。
図4は、本開示の一実施例によるハイパーパラメータチューニング処理を示すシーケンス図である。ここでは、図3を参照して上述したハイパーパラメータチューニング処理を、ユーザプログラム10とハイパーパラメータチューニングプログラム20との間のデータのやりとりの観点から説明する。
図4に示されるように、ステップS201において、ユーザプログラム10が起動され、機械学習モデルにおける更新対象のパラメータが初期化される。
ステップS202において、ユーザプログラム10は、ユーザプログラム10内に記述されたハイパーパラメータ取得コードに従って取得すべきハイパーパラメータP1を決定し、ハイパーパラメータP1に対するハイパーパラメータ取得要求をハイパーパラメータチューニングプログラム20に送信する。当該ハイパーパラメータ取得要求を受信すると、ハイパーパラメータチューニングプログラム20は、ハイパーパラメータP1の値を決定し、決定したハイパーパラメータP1の値をユーザプログラム10に返す。ハイパーパラメータP1の値を取得すると、ユーザプログラム10は、同様にハイパーパラメータ取得コードの制御構造に従って更に取得すべきハイパーパラメータP2を決定し、ハイパーパラメータP2に対するハイパーパラメータ取得要求をハイパーパラメータチューニングプログラム20に送信する。当該ハイパーパラメータ取得要求を受信すると、ハイパーパラメータチューニングプログラム20は、ハイパーパラメータP2の値を決定し、決定したハイパーパラメータP2の値をユーザプログラム10に返す。以下同様にして、機械学習モデルを学習するのに必要なハイパーパラメータの組み合わせ(P1,P2,...,PN)を取得するまで、ユーザプログラム10及びハイパーパラメータチューニングプログラム20は、上述したやりとりを繰り返す。
なお、図示されたハイパーパラメータ取得要求は1つずつハイパーパラメータを要求しているが、本開示によるハイパーパラメータ取得要求は、これに限定されず、複数のハイパーパラメータをまとめて要求してもよい。例えば、学習率、学習期間、ノイズ率などのハイパーパラメータは互いに独立に設定可能であるため、これらのハイパーパラメータは、まとめて1つのハイパーパラメータ取得要求によって要求されてもよい。他方、機械学習モデルのタイプ、学習アルゴリズムなどのハイパーパラメータは、他のハイパーパラメータの選択に影響を与えるため、単独のハイパーパラメータ取得要求により要求される。
ステップS203において、ユーザプログラム10は、取得したハイパーパラメータの組み合わせを適用して機械学習モデルを学習する。学習処理が終了すると、ユーザプログラム10は、結果として得られた機械学習モデルの予測性能などの精度を算出する。
ステップS204において、ユーザプログラム10は、算出した精度を評価結果としてハイパーパラメータチューニングプログラム20に提供する。ハイパーパラメータチューニングプログラム20は、適用されたハイパーパラメータの組み合わせと関連付けて過去に取得した精度を適用履歴として保存し、以降のハイパーパラメータの選択に利用する。
ステップS202〜S204が、例えば、所定の回数が実行されたなどの終了条件が充足されるまで繰り返される。
一実施例では、ハイパーパラメータ取得要求は、制御構造に従って機械学習モデルのタイプと、機械学習モデルの個々のタイプに特有のハイパーパラメータとを要求してもよい。
例えば、ハイパーパラメータ取得要求は、図5に示されるようなハイパーパラメータ取得コードに従って生成されうる。まず、"機械学習モデルのタイプ"又は"分類器(classifier)のタイプ"がハイパーパラメータとして取得される。図示された例では、ユーザプログラム10は、"サポートベクターマシーン分類(SVC)"と"ランダムフォレスト(RandomForest)"との何れが適用されるべきかハイパーパラメータチューニングプログラム20に照会する。
ハイパーパラメータチューニングプログラム20が"SVC"を選択した場合、ユーザプログラム10は、更なるハイパーパラメータとして"svc_c"に対するハイパーパラメータ取得要求をハイパーパラメータチューニングプログラム20に送信する。他方、ハイパーパラメータチューニングプログラム20が"RandomForest"を選択した場合、ユーザプログラム10は、更なるハイパーパラメータとして"rf_max_depth"に対するハイパーパラメータ取得要求をハイパーパラメータチューニングプログラム20に送信する。
その後、ユーザプログラム10は、取得したハイパーパラメータを適用して機械学習モデルに対して学習処理を実行し、結果として得られた機械学習モデルの精度(accuracy)又は誤差を算出し、ハイパーパラメータチューニングプログラム20に送信する。試行回数(n_trial)はメインプログラムに規定され、図示された例では、上述した処理が100回繰り返される。
このようにして、本開示によると、既存のハイパーパラメータチューニングソフトウェアと比較して、取得すべきハイパーパラメータを定義するハイパーパラメータ取得コードが、ハイパーパラメータチューニングソフトウェアの代わりに、ハイパーパラメータを利用するユーザプログラム10に記述でき、ユーザによるプログラムのメンテナンス性を向上させることが可能になる。また、条件分岐などの複雑な制御構造を利用して、逐次選択されるハイパーパラメータに対応して適切なハイパーパラメータを要求及び取得することが可能になる。
また、一実施例では、ハイパーパラメータ取得コードは、機械学習モデルの構造を規定するハイパーパラメータを設定するためのモジュールと、機械学習モデルの学習処理を規定するハイパーパラメータを設定するためのモジュールとを含んでもよい。例えば、ハイパーパラメータ取得コードにおいて、図6に示されるように、機械学習モデルの構築に関するモジュール(def create_model)と、機械学習モデルのハイパーパラメータを設定するためのモジュール(def create_optimizer)とが別々に記述可能である。
このようにして、本開示によると、ハイパーパラメータ取得コードが異なるモジュールによってモジュール化可能であり、複数のプログラマが協働してハイパーパラメータ取得コードを作成することが容易になる。
上述した実施例は、機械学習モデルを学習するためのユーザプログラムに対してハイパーパラメータを設定するハイパーパラメータチューニング手法について説明した。しかしながら、本開示によるユーザプログラムは、これに限定されず、任意のプログラムであってもよい。すなわち、本開示によるハイパーパラメータチューニング手法は、ユーザプログラムの実行結果や性能に影響を与えうる任意のハイパーパラメータの設定に適用可能である。例えば、機械学習以外の適用例として、プログラムの高速化やユーザインタフェースの改善などが考えられる。例えば、プログラムの速度に関して、利用するアルゴリズムやバッファサイズのような値をハイパーパラメータとし、速度が向上するようにハイパーパラメータを最適化することによりプログラムを高速化することができる。ユーザインタフェースの設計にあたっても、ボタンの配置やサイズといったものをハイパーパラメータとし、ユーザの挙動が向上するようにハイパーパラメータを最適化することにより、ユーザインタフェースの改善をすることができる。
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 ユーザプログラム
20 ハイパーパラメータチューニングプログラム
100 ハイパーパラメータチューニング装置
101 プロセッサ
102 メモリ
103 ハードディスク
104 I/Oインタフェース

Claims (1)

  1. プロセッサにより実行されるステップからなるハイパーパラメータチューニング方法であって、
    ユーザプログラムに記述されたハイパーパラメータ取得コードに従って生成されたハイパーパラメータ取得要求を受信するステップと、
    前記ユーザプログラムに対するハイパーパラメータの適用履歴に基づき前記ユーザプログラムに前記ハイパーパラメータを提供するステップと、
    前記ハイパーパラメータが適用されたユーザプログラムの評価結果を取得するステップと、
    を有するハイパーパラメータチューニング方法。
JP2020151465A 2018-10-09 2020-09-09 ハイパーパラメータチューニング方法、装置及びプログラム Active JP7301801B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020151465A JP7301801B2 (ja) 2018-10-09 2020-09-09 ハイパーパラメータチューニング方法、装置及びプログラム
JP2023101841A JP2023123636A (ja) 2018-10-09 2023-06-21 ハイパーパラメータチューニング方法、装置及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018191250A JP6892424B2 (ja) 2018-10-09 2018-10-09 ハイパーパラメータチューニング方法、装置及びプログラム
JP2020151465A JP7301801B2 (ja) 2018-10-09 2020-09-09 ハイパーパラメータチューニング方法、装置及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018191250A Division JP6892424B2 (ja) 2018-10-09 2018-10-09 ハイパーパラメータチューニング方法、装置及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023101841A Division JP2023123636A (ja) 2018-10-09 2023-06-21 ハイパーパラメータチューニング方法、装置及びプログラム

Publications (3)

Publication Number Publication Date
JP2020198135A true JP2020198135A (ja) 2020-12-10
JP2020198135A5 JP2020198135A5 (ja) 2021-11-25
JP7301801B2 JP7301801B2 (ja) 2023-07-03

Family

ID=86996683

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020151465A Active JP7301801B2 (ja) 2018-10-09 2020-09-09 ハイパーパラメータチューニング方法、装置及びプログラム
JP2023101841A Pending JP2023123636A (ja) 2018-10-09 2023-06-21 ハイパーパラメータチューニング方法、装置及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023101841A Pending JP2023123636A (ja) 2018-10-09 2023-06-21 ハイパーパラメータチューニング方法、装置及びプログラム

Country Status (1)

Country Link
JP (2) JP7301801B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023284731A1 (zh) * 2021-07-13 2023-01-19 中兴通讯股份有限公司 参数设置方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254504A (ja) * 1997-03-06 1998-09-25 Hitachi Ltd 自律的制御方法および制御システム
JP2017049677A (ja) * 2015-08-31 2017-03-09 富士通株式会社 機械学習管理プログラム、機械学習管理装置および機械学習管理方法
US20170185895A1 (en) * 2015-01-26 2017-06-29 Huawei Technologies Co., Ltd. System and Method for Training Parameter Set in Neural Network
JP2018156473A (ja) * 2017-03-17 2018-10-04 ヤフー株式会社 解析装置、解析方法、およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254504A (ja) * 1997-03-06 1998-09-25 Hitachi Ltd 自律的制御方法および制御システム
US20170185895A1 (en) * 2015-01-26 2017-06-29 Huawei Technologies Co., Ltd. System and Method for Training Parameter Set in Neural Network
JP2017049677A (ja) * 2015-08-31 2017-03-09 富士通株式会社 機械学習管理プログラム、機械学習管理装置および機械学習管理方法
JP2018156473A (ja) * 2017-03-17 2018-10-04 ヤフー株式会社 解析装置、解析方法、およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023284731A1 (zh) * 2021-07-13 2023-01-19 中兴通讯股份有限公司 参数设置方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
JP7301801B2 (ja) 2023-07-03
JP2023123636A (ja) 2023-09-05

Similar Documents

Publication Publication Date Title
JP6892424B2 (ja) ハイパーパラメータチューニング方法、装置及びプログラム
CN111652380B (zh) 针对机器学习算法进行算法参数调优的方法及系统
US20210365782A1 (en) Method and apparatus for generating neural network model, and computer-readable storage medium
US11531926B2 (en) Method and apparatus for generating machine learning model by using distributed computing framework
US10754709B2 (en) Scalable task scheduling systems and methods for cyclic interdependent tasks using semantic analysis
CN110168578A (zh) 具有任务特定路径的多任务神经网络
US20190362222A1 (en) Generating new machine learning models based on combinations of historical feature-extraction rules and historical machine-learning models
US20180240010A1 (en) Technologies for optimized machine learning training
CN108763398B (zh) 数据库配置参数处理方法、装置、计算机设备和存储介质
CN111105029B (zh) 神经网络的生成方法、生成装置和电子设备
US10970632B2 (en) Generating a score for a runbook or a script
CN112148637A (zh) 用于调谐计算机程序中的循环排序的设备、方法、介质
US10956417B2 (en) Dynamic operation scheduling for distributed data processing
WO2021254114A1 (zh) 构建多任务学习模型的方法、装置、电子设备及存储介质
CN111966361B (zh) 用于确定待部署模型的方法、装置、设备及其存储介质
CN111461345A (zh) 深度学习模型训练方法及装置
CN115066694A (zh) 计算图优化
US11216752B1 (en) Optimizing machine learning models
JP2023123636A (ja) ハイパーパラメータチューニング方法、装置及びプログラム
CN113011529A (zh) 文本分类模型的训练方法、装置、设备及可读存储介质
JP7264845B2 (ja) 制御システム及び制御方法
KR20220032861A (ko) 하드웨어에서의 성능을 고려한 뉴럴 아키텍처 서치 방법 빛 장치
JP7256378B2 (ja) 最適化システムおよび最適化システムの制御方法
WO2022252694A1 (zh) 神经网络优化方法及其装置
JP2020155010A (ja) ニューラルネットワークのモデル縮約装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211007

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230621

R150 Certificate of patent or registration of utility model

Ref document number: 7301801

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150