(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-13
(45)【発行日】2023-11-21
(54)【発明の名称】機械学習モデル決定システム及び機械学習モデル決定方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20231114BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2022507113
(86)(22)【出願日】2020-03-12
(86)【国際出願番号】 JP2020010804
(87)【国際公開番号】W WO2021181605
(87)【国際公開日】2021-09-16
【審査請求日】2022-10-07
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】足立 勝
(72)【発明者】
【氏名】横矢 剛
(72)【発明者】
【氏名】増村 諒
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2016-218869(JP,A)
【文献】米国特許出願公開第2020/0057944(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/00
G06N 99/00
(57)【特許請求の範囲】
【請求項1】
情報通信ネットワークに接続され、互いに情報通信可能な少なくとも1つのサーバと
複数のクライアント端末を有する機械学習モデル決定システムであって、
前記サーバに備えられ、機械学習の学習結果に影響をもたらすパラメータに関し、前記パラメータの値について機械学習の学習結果に対する評価に関する情報である評価情報を記憶する評価情報データベースと、
前記サーバに備えられ、前記パラメータの特定の値及び、特定の教師データを用いた機械学習の学習結果の評価に基づいて、前記評価情報を更新する評価情報更新部と、
前記クライアント端末に備えられ、前記特定の教師データを入力する教師データ入力部と、
前記クライアント端末に備えられ、特定の検証データを入力する検証データ入力部と、
実行しようとする機械学習についての前記評価情報に基づいて、前記パラメータの特定の値を決定するパラメータ決定部と、
前記パラメータの特定の値に基づいて構成された機械学習モデルに対して、前記特定の教師データにより学習を行う学習部と、学習済みの前記機械学習モデルに対して前記特定の検証データにより機械学習の学習結果を評価する評価部を有する機械学習エンジンと、
を有
し、
前記評価情報は、機械学習に用いられる機械学習モデルの種別及び入出力の形式を少なくとも定めるテンプレートに関連付けて記憶され、前記評価情報は、互いに異なる前記クライアント端末に対し入力される互いに異なる前記教師データ及び前記検証データについて、共通に用いられる、
機械学習モデル決定システム。
【請求項2】
前記パラメータ決定部は、複数の前記パラメータの特定の値を決定し、
前記機械学習エンジンの学習部は、前記複数の前記パラメータの特定の値のそれぞれについて前記機械学習モデルを構築し、
前記機械学習エンジンの評価部は、構築された複数の機械学習モデルのそれぞれについて機械学習の学習結果を評価し、
前記機械学習の学習結果の評価に基づいて、前記複数の機械学習モデルの中から少なくとも1の機械学習モデルを決定するモデル決定部を有する、
請求項1に記載の機械学習モデル決定システム。
【請求項3】
前記評価情報更新部は、前記複数の機械学習モデルについて得られた機械学習の学習結果のそれぞれに基づいて、前記評価情報を更新する、
請求項2記載の機械学習モデル決定システム。
【請求項4】
前記評価情報には、前記パラメータの特定の値が選択される確率を示す選択確率情報が含まれ、
前記パラメータ決定部は、前記選択確率情報に基づいて、確率的に前記パラメータの特定の値を決定する、
請求項2又は3に記載の機械学習モデル決定システム。
【請求項5】
前記評価情報更新部は、前記パラメータの特定の値についての前記機械学習の結果に基づいて、前記選択確率情報における、当該特定の値についての前記選択確率情報の値と、当該特定の値の近傍の値についての前記選択確率情報の値を同方向に変更する、
請求項4に記載の機械学習モデル決定システム。
【請求項6】
前記パラメータ決定部は、複数の前記パラメータの特定の値のうち、所定の割合の特定の値として、前記機械学習に使用されていないか、または使用された頻度が相対的に低い値を優先的に選択する、
請求項2~5のいずれか1項に記載の機械学習モデル決定システム。
【請求項7】
前記所定の割合を人為的に設定する割合設定部を有する、
請求項6に記載の機械学習モデル決定システム。
【請求項8】
前記所定の割合を前記パラメータ決定部が決定する前記パラメータの特定の値の数に応じて設定する、
請求項6に記載の機械学習モデル決定システム。
【請求項9】
前記サーバに備えられ、共通の教師データを記憶する共通教師データ記憶部と、
前記サーバに備えられ、共通の検証データを記憶する共通検証データ記憶部と、
前記サーバに備えられ、前記サーバの負荷に応じて、実行しようとする機械学習についての前記評価情報に基づいて、前記パラメータの特定の値を決定するサーバ側パラメータ決定部と、
前記サーバに備えられ、前記パラメータの特定の値に基づいて構成された機械学習モデルに対して、前記共通の教師データにより学習を行う学習部と、学習済みの前記機械学習モデルに対して前記共通の検証データにより機械学習の学習結果を評価する評価部を有するサーバ側機械学習エンジンと、
を有し、
前記評価情報更新部は、さらに、前記パラメータの特定の値及び、前記共通の教師データを用いた機械学習の学習結果に基づいて、前記評価情報を更新する、
請求項1~8のいずれか1項に記載の機械学習モデル決定システム。
【請求項10】
前記サーバに備えられ、
前記テンプレートを記憶するテンプレートデータベースと、
前記クライアントに備えられ、前記テンプレートを選択する条件を入力する条件入力部と、
前記条件に基づいて、1又は複数のテンプレートを前記テンプレートデータベースから選択するとともに、選択された前記テンプレートについての1又は複数の評価情報を前記評価情報データベースから選択するテンプレート・評価情報選択部と、
を有し、
前記評価情報データベースは、前記評価情報を、前記テンプレート毎に記憶し、
前記機械学習エンジンの前記学習部は、前記パラメータの特定の値及び選択された前記テンプレートに基づいて前記機械学習モデルを構成し、
前記評価情報更新部は、選択された前記テンプレートについての前記評価情報を更新する、
請求項1~9のいずれか1項に記載の機械学習モデル決定システム。
【請求項11】
前記テンプレート選択部は、前記条件に基づいて1又は複数の前記テンプレートを選択し、
前記パラメータ決定部は、選択された複数の前記テンプレートについての複数の前記評価情報に基づいて、使用する前記テンプレート及び前記パラメータの特定の値を決定する、
請求項10に記載の機械学習モデル決定システム。
【請求項12】
前記評価部による機械学習の学習結果の評価は、構築された前記機械学習モデルの演算負荷を考慮した指標によりなされる、
請求項1~11のいずれか1項に記載の機械学習モデル決定システム。
【請求項13】
情報通信ネットワーク
に接続され、互いに情報通信可能な少なくとも1つのサーバと複数のクライアント端末を有する機械学習モデル決定方法であって、
前記サーバにおいて、機械学習の学習結果に影響をもたらすパラメータに関し、前記パラメータの値について機械学習の学習結果に対する評価に関する情報である評価情報を記憶し、
前記サーバにおいて、前記パラメータの特定の値及び、特定の教師データを用いた機械学習の学習結果の評価に基づいて、前記評価情報を更新し、
前記クライアント端末において、前記特定の教師データを入力し、
前記サーバ又は前記クライアント端末のいずれかにおいて、実行しようとする機械学習についての前記評価情
報に基づいて前記パラメータの特定の値を決定し、
前記サーバ又は前記クライアント端末のいずれかにおいて、前記パラメータの特定の値に基づいて
構成された機械学習モデル
に対して、前記特定の教師データによ
り学習を行い、
前記サーバ又は前記クライアント端末のいずれかにおいて、学習済みの前記機械学習モデルに対して前記特定の検証データにより機械学習の学習結果を評価し、
前記評価情報は、機械学習に用いられる機械学習モデルの種別及び入出力の形式を少なくとも定めるテンプレートに関連付けて記憶され、前記評価情報は、互いに異なる前記クライアント端末に対し入力される互いに異なる前記教師データ及び前記検証データについて、共通に用いられる、
機械学習モデル決定方法。
【請求項14】
前記パラメータの特定の値は複数決定され、
前記機械学習モデルは複数の前記パラメータの特定の値のそれぞれについて構築され、
構築された複数の前記機械学習モデルのそれぞれについて機械学習の学習結果を評価し、
前記機械学習の学習結果の評価に基づいて、複数の前記機械学習モデルの中から少なくとも1の機械学習モデルを決定する、
請求項13に記載の機械学習モデル決定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習パラメータ決定方法及び機械学習パラメータ決定システムに関する。
【背景技術】
【0002】
特許文献1には、機械学習のハイパーパラメータ値の探索をする探索装置が記載されている。同文献記載の探索装置では、新規ハイパーパラメータ値の選択は、ハイパーパラメータ空間の中からランダムに選択する方法、ハイパーパラメータ空間の中で選択されるハイパーパラメータ値がグリッド状に並ぶように選択する方法、近い連続量ハイパーパラメータ予想値から近い予測性能を持つモデルが生成されるという性質を利用して、選択するハイパーパラメータ値を絞り込む方法などの様々な方法で行うことが可能であるとされている(段落0104)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
いわゆるハイパーパラメータを含む機械学習における種々のパラメータを適切に設計することは一般に難しい。熟練者の勘や経験に頼ることによる不確かさを排除するべく、パラメータ空間内でのパラメータの探索を行おうにも、探索すべきパラメータ空間は広大であり、その全てについて探索を行うには膨大な計算リソースが必要であり、現実的ではない。
【0005】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、計算リソースを効率的に利用して、機械学習パラメータを適切に定めることである。
【課題を解決するための手段】
【0006】
本発明の一側面に係る機械学習モデル決定システムは、情報通信ネットワークに接続され、互いに情報通信可能な少なくとも1つのサーバと複数のクライアント端末を有する機械学習モデル決定システムであって、前記サーバに備えられ、機械学習の学習結果に影響をもたらすパラメータに関し、前記パラメータの値について機械学習の学習結果に対する評価に関する情報である評価情報を記憶する評価情報データベースと、前記サーバに備えられ、前記パラメータの特定の値及び、特定の教師データを用いた機械学習の学習結果の評価に基づいて、前記評価情報を更新する評価情報更新部と、前記クライアント端末に備えられ、前記特定の教師データを入力する教師データ入力部と、前記クライアント端末に備えられ、特定の検証データを入力する検証データ入力部と、実行しようとする機械学習についての前記評価情報に基づいて、前記パラメータの特定の値を決定するパラメータ決定部と、前記パラメータの特定の値に基づいて構成された機械学習モデルに対して、前記特定の教師データにより学習を行う学習部と、学習済みの前記機械学習モデルに対して前記特定の検証データにより機械学習の学習結果を評価する評価部を有する機械学習エンジンと、を有し、前記評価情報は、機械学習に用いられる機械学習モデルの種別及び入出力の形式を少なくとも定めるテンプレートに関連付けて記憶され、前記評価情報は、互いに異なる前記クライアント端末に対し入力される互いに異なる前記教師データ及び前記検証データについて、共通に用いられる。
【0007】
また、本発明の一側面に係る機械学習モデル決定システムにおいては、前記パラメータ決定部は、複数の前記パラメータの特定の値を決定し、前記機械学習エンジンの学習部は、前記複数の前記パラメータの特定の値のそれぞれについて前記機械学習モデルを構築し、前記機械学習エンジンの評価部は、構築された複数の機械学習モデルのそれぞれについて機械学習の学習結果を評価し、前記機械学習の学習結果の評価に基づいて、前記複数の機械学習モデルの中から少なくとも1の機械学習モデルを決定するモデル決定部を有するものであってよい。
【0008】
また、本発明の一側面に係る機械学習モデル決定システムにおいては、前記評価情報更新部は、前記複数の機械学習モデルについて得られた機械学習の学習結果のそれぞれに基づいて、前記評価情報を更新するものであってよい。
【0009】
また、本発明の一側面に係る機械学習モデル決定システムは、前記評価情報には、前記パラメータの特定の値が選択される確率を示す選択確率情報が含まれ、前記パラメータ決定部は、前記選択確率情報に基づいて、確率的に前記パラメータの特定の値を決定するものであってよい。
【0010】
また、本発明の一側面に係る機械学習モデル決定システムにおいては、前記評価情報更新部は、前記パラメータの特定の値についての前記機械学習の結果に基づいて、前記選択確率情報における、当該特定の値についての前記選択確率情報の値と、当該特定の値の近傍の値についての前記選択確率情報の値を同方向に変更するものであってよい。
【0011】
また、本発明の一側面に係る機械学習モデル決定システムにおいては、前記パラメータ決定部は、複数の前記パラメータの特定の値のうち、所定の割合の特定の値として、前記機械学習に使用されていないか、または使用された頻度が相対的に低い値を優先的に選択するものであってよい。
【0012】
また、本発明の一側面に係る機械学習モデル決定システムは、前記所定の割合を人為的に設定する割合設定部を有するものであってよい。
【0013】
また、本発明の一側面に係る機械学習モデル決定システムは、前記所定の割合を前記パラメータ決定部が決定する前記パラメータの特定の値の数に応じて設定するものであってよい。
【0014】
また、本発明の一側面に係る機械学習モデル決定システムは、前記サーバに備えられ、共通の教師データを記憶する共通教師データ記憶部と、前記サーバに備えられ、共通の検証データを記憶する共通検証データ記憶部と、前記サーバに備えられ、前記サーバの負荷に応じて、実行しようとする機械学習についての前記評価情報に基づいて、前記パラメータの特定の値を決定するサーバ側パラメータ決定部と、前記サーバに備えられ、前記パラメータの特定の値に基づいて構成された機械学習モデルに対して、前記共通の教師データにより学習を行う学習部と、学習済みの前記機械学習モデルに対して前記共通の検証データにより機械学習の学習結果を評価する評価部を有するサーバ側機械学習エンジンと、を有し、前記評価情報更新部は、さらに、前記パラメータの特定の値及び、前記共通の教師データを用いた機械学習の学習結果に基づいて、前記評価情報を更新するものであってよい。
【0015】
また、本発明の一側面に係る機械学習モデル決定システムは、前記サーバに備えられ、前記テンプレートを記憶するテンプレートデータベースと、前記クライアントに備えられ、前記テンプレートを選択する条件を入力する条件入力部と、前記条件に基づいて、1又は複数のテンプレートを前記テンプレートデータベースから選択するとともに、選択された前記テンプレートについての1又は複数の評価情報を前記評価情報データベースから選択するテンプレート・評価情報選択部と、を有し、前記評価情報データベースは、前記評価情報を、前記テンプレート毎に記憶し、前記機械学習エンジンの前記学習部は、前記パラメータの特定の値及び選択された前記テンプレートに基づいて前記機械学習モデルを構成し、前記評価情報更新部は、選択された前記テンプレートについての前記評価情報を更新するものであってよい。
【0016】
また、本発明の一側面に係る機械学習モデル決定システムにおいては、前記テンプレート選択部は、前記条件に基づいて1又は複数の前記テンプレートを選択し、前記パラメータ決定部は、選択された複数の前記テンプレートについての複数の前記評価情報に基づいて、使用する前記テンプレート及び前記パラメータの特定の値を決定するものであってよい。
【0017】
また、本発明の一側面に係る機械学習モデル決定システムにおいては、前記評価部による機械学習の学習結果の評価は、構築された前記機械学習モデルの演算負荷を考慮した指標によりなされるものであってよい。
【0018】
また、本発明の一側面に係る機械学習モデル決定方法は、情報通信ネットワークに接続され、互いに情報通信可能な少なくとも1つのサーバと複数のクライアント端末を有する機械学習モデル決定方法であって、前記サーバにおいて、機械学習の学習結果に影響をもたらすパラメータに関し、前記パラメータの値について機械学習の学習結果に対する評価に関する情報である評価情報を記憶し、前記サーバにおいて、前記パラメータの特定の値及び、特定の教師データを用いた機械学習の学習結果の評価に基づいて、前記評価情報を更新し、前記クライアント端末において、前記特定の教師データを入力し、前記サーバ又は前記クライアント端末のいずれかにおいて、実行しようとする機械学習についての前記評価情報に基づいて前記パラメータの特定の値を決定し、前記パラメータの特定の値に基づいて構成された機械学習モデルに対して、前記特定の教師データにより学習を行い、前記サーバ又は前記クライアント端末のいずれかにおいて、学習済みの前記機械学習モデルに対して前記特定の検証データにより機械学習の学習結果を評価し、前記評価情報は、機械学習に用いられる機械学習モデルの種別及び入出力の形式を少なくとも定めるテンプレートに関連付けて記憶され、前記評価情報は、互いに異なる前記クライアント端末に対し入力される互いに異なる前記教師データ及び前記検証データについて、共通に用いられる。
【0019】
また、本発明の一側面に係る機械学習モデル決定方法においては、前記パラメータの特定の値は複数決定され、前記機械学習モデルは複数の前記パラメータの特定の値のそれぞれについて構築され、構築された複数の前記機械学習モデルのそれぞれについて機械学習の学習結果を評価し、前記機械学習の学習結果の評価に基づいて、複数の前記機械学習モデルの中から少なくとも1の機械学習モデルを決定するものであってよい。
【図面の簡単な説明】
【0020】
【
図1】本発明の好適な実施形態に係る機械学習パラメータ決定システムの全体構成を示す模式図である。
【
図2】サーバ及びクライアント端末のハードウェア構成の一例を示す図である。
【
図3】本発明の好適な実施形態に係る機械学習モデル決定システムの主要な構成を示す機能ブロック図である。
【
図4】本発明の好適な実施形態に係る機械学習モデル決定システムの概略の動作のフローを示す図である。
【
図5】ユーザが条件入力部に入力する条件と、それら条件に応じて定められるテンプレートの例を示す表である。
【
図6】
図4のフローのステップS107からステップS111により行われる処理を、構築される機械学習モデルに即して説明する概念図である。
【
図7】パラメータの特定の値の決定の具体的な実装例を示す図である。
【
図8】確率密度関数の更新の例を示す概念図である。
【
図9】離散的な性質を持つパラメータについて、評価情報の更新の例を示す概念図である。
【
図10】パラメータの特定の値の決定方法を説明する図である。
【
図11】機械学習に使用されていないか、または使用された頻度が相対的に低いパラメータの特定の値を決定する方法を示す図である。
【
図12】単独で評価情報を更新する構成を有するサーバの概略の構成を示す機能ブロック図である。
【発明を実施するための形態】
【0021】
以下、本発明の好適な実施形態に係る機械学習パラメータ決定方法及び機械学習パラメータ決定システムを、図面を参照して説明する。
【0022】
図1は、本発明の好適な実施形態に係る機械学習モデル決定システム1の全体構成を示す模式図である。機械学習モデル決定システム1は、電気通信ネットワークNを介してコンピュータであるサーバ2、クライアント端末3(図中は3台のクライアント端末3が示されており、それぞれを区別する場合はa,b,cの添字を付して示す)が相互に情報通信可能に接続されている。
【0023】
ここで、電気通信ネットワークNは、複数のコンピュータが相互に通信可能なネットワークであれば特に制限はなく、いわゆるインターネットのようなオープンネットワークであっても、企業内ネットワークのようなクローズドネットワークであってもよいし、有線/無線の別や、通信プロトコルは、限定されない。
【0024】
サーバ2は、後述するように各種データベースの管理その他を行う。クライアント端末3は、本例では、いわゆるディープラーニングなどの手法による機械学習による演算を行うことが予定されているコンピュータであり、それぞれ、適用されようとする用途に十分な演算能力を持つものが用意される。
【0025】
そして、クライアント端末3では、それぞれ独立に機械学習による情報処理が実行されることが予定されている。ここでは、機械学習を用いた情報処理を必要とするユーザ4(図中は3名のユーザ4が示されており、それぞれを区別する場合はa,b,cの添字を付して示す)が、当該情報処理に対応してクライアント端末3を設置し、それぞれ機械学習に必要な教師データを用意し、機械学習を実行して情報処理モデルを構築する状況を想定する。
【0026】
そして、
図1において、クライアント端末3aはユーザaが設置し運用するものであり、同様に、クライアント端末3b及び3cはそれぞれユーザ4b、4cが設置し運用するものとする。本実施形態において、クライアント端末3a~3c及び、ユーザ4a~4cに技術的な意味における差異はないが、以下では、クライアント端末3a及びユーザ4aを代表として説明する。したがって、特にそれぞれを区別する必要がない場合には、クライアント端末3aを単にクライアント端末3と称し、ユーザ4aを単にユーザ4と称する。
【0027】
なお、
図1で示した模式図は、説明の便宜上、本発明の代表的な構成を例示したものにすぎず、機械学習モデル決定システム1の全体構成は必ずしも図示の通りでなくとも差し支えない。例えば、クライアント端末3及びユーザ4の数は任意かつ可変である。また、クライアント端末3とユーザ4の数は必ずしも一致している必要はなく、一のユーザ4が複数のクライアント端末3を運用することもできる。また、クライアント端末3は、それぞれが必ずしも物理的に独立した機器である必要はなく、いわゆるクラウドコンピューティングサービスなどを活用したバーチャルマシンであってもよい。その場合、物理的には同一の機器上に複数のクライアント端末3が構築されうる。また、サーバ2についても同様のことがいえ、サーバ2は必ずしも独立した単独の機器である必要はなく、バーチャルマシンとして構築されていてもよい。したがって、サーバ2及びクライアント端末3の物理的な所在は限定されず、複数の機器に分散されていても、同一の機器上に一部または全部が重複していても差し支えない。
【0028】
図2は、サーバ2及びクライアント端末3のハードウェア構成の一例を示す図である。同図に示されているのは、一般的なコンピュータ5であり、プロセッサであるCPU(Central Processing Unit)501、メモリであるRAM(Random Access Memory)502、外部記憶装置503、GC(Graphics Controller)504、入力デバイス505及びI/O(Inpur/Output)506がデータバス507により相互に電気信号のやり取りができるよう接続されている。また、コンピュータ5は、必要に応じてさらに、並列演算器509がデータバス507に接続されていてもよい。なお、ここで示したコンピュータ5のハードウェア構成は一例であり、これ以外の構成のものであってもよい。
【0029】
外部記憶装置503はHDD(Hard Disk Drive)やSSD(Solid State Drive)等の静的に情報を記録できる装置である。またGC504からの信号はCRT(Cathode Ray Tube)やいわゆるフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ508に出力され、画像として表示される。入力デバイス505はキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための一又は複数の機器であり、I/O506はコンピュータ3が外部の機器と情報をやり取りするための一又は複数のインタフェースである。I/O506には、有線接続するための各種ポート及び、無線接続のためのコントローラが含まれていてよい。
【0030】
並列演算器509は、機械学習において頻出する大規模並列演算を高速に実行できるよう、多数の並列演算回路を備えた集積回路である。並列演算器509としては、一般にGPU(Graphics Processing Unit)として知られる三次元グラフィクス用プロセッサが好適に利用できるほか、機械学習用に特に適したものとして設計された集積回路などを用いてよい。また、GC504がGPUを備えており、かつ、かかるGPUがユーザ4が実行しようとする機械学習を用いた情報処理に対して十分な演算性能を備えている場合には、並列演算器509として、又は、並列演算器509に加えてGC504に備えられたGPUを用いてもよい。
【0031】
コンピュータ5をサーバ2又はクライアント端末3として機能させるためのコンピュータプログラムは外部記憶装置503に記憶され、必要に応じてRAM502に読みだされてCPU501により実行される。すなわち、RAM502には、CPU501により実行されることにより、コンピュータ5をサーバコンピュータ2又はクライアントコンピュータ3として機能させるためのコードが記憶されることとなる。かかるコンピュータプログラムは、適宜の光ディスク、光磁気ディスク、フラッシュメモリ等の適宜のコンピュータ可読情報記録媒体に記録されて提供されても、I/O506を介して外部のインターネット等の情報通信回線を介して提供されてもよい。
【0032】
図3は本実施形態に係る機械学習モデル決定システム1の主要な構成を示す機能ブロック図である。なお、ここで「主要な」と断る理由は、機械学習モデル決定システム1は、
図3に示したもの以外の付加的構成をさらに有してよいためであり、
図3では図示が煩雑となるため、かかる付加的構成を示していない。この付加的構成については後述する。
【0033】
図2に示した通り、機械学習モデル決定システム1は複数のユーザが使用する複数のクライアント端末3を含むが、
図3にはその内の代表する一のもの(すなわち、クライアント端末3a)が示されている。したがって、サーバ2に対し、複数のクライアント端末3が通信可能に接続されている場合、
図2に示したクライアント端末3と同等の構成を持つ図示しないクライアント端末3が複数存在することとなる。一方、サーバ2は、かかる複数のクライアント端末3に対し、共通である。
【0034】
サーバ2には、テンプレートデータベース201、評価情報データベース202が設けられ、それぞれ、1又は複数のテンプレートと、各々のテンプレートに対応する1又は複数の評価情報を記憶している。本明細書でいうテンプレートは、機械学習に用いられる機械学習モデルの種別及び入出力の形式を少なくとも定める情報であり、また、評価情報は、機械学習の学習結果に影響をもたらすパラメータに関し、当該パラメータの値について機械学習の学習結果に対する評価に関する情報である。テンプレート及び評価情報のより具体的な説明は後述する。また、サーバ2には、評価情報更新部203が設けられ、評価情報データベース202に記憶された評価情報を更新可能となっている。
【0035】
クライアント端末3には、学習部301及び評価部302を含む機械学習エンジン303、教師データ入力部304、検証データ入力部305が設けられる。教師データ入力部304は、ユーザ4が用意した、特定の用途についての機械学習モデルを学習させるための特定の教師データを入力するためのものであり、検証データ入力部305は、同じく、ユーザ4が用意した、特定の用途についての学習を終えた機械学習モデルを検証させるための特定の検証データを入力するためのものである。教師データ入力部304及び検証データ入力部305は、適宜のGUI(グラフィカルユーザインタフェース)等を備え、ユーザ4が用意した特定の教師データ及び特定の検証データを機械学習エンジン303へと受け渡す。
【0036】
機械学習エンジン303が備える学習部301は、機械学習モデルを構築し、特定の教師データを用いて学習を行う。学習部301にて使用される機械学習モデルは、本実施例では、ユーザ4が機械学習を利用しようとする用途などの条件に基づいて、機械学習モデル決定システム1自体が自動的に構築する。機械学習モデル決定システム1による機械学習の自動構築の仕組みについては後述する。
【0037】
また、機械学習エンジン303が備える評価部301は、学習部301にて構築され、学習された機械学習モデルに対し、特定の検証データにより機械学習の学習結果を評価する。この学習結果の評価は、特定の検証データに含まれる設問を入力し、その出力結果を特定の検証データに含まれる解答と比較することにより行ってよい。本実施形態では、評価部301による評価は、特定の検証データにおける正解率(機械学習モデルの出力結果が解答と合致する比率)としているが、この評価の指標は、構築される機械学習モデルの性質や用途に応じた任意のものであってよい。本実施形態にて説明する単純な正解率以外の評価指標については、別途後述する。
【0038】
学習部301で用いられる機械学習モデルを構築するための構成として、クライアント端末3は、条件入力部306及びパラメータ決定部307を備えている。
【0039】
まず、条件入力部306は、ユーザ4がテンプレートを選択する条件を入力する部分であり、適宜のGUIなどを備えたものであってよい。テンプレートを選択する条件とは、機械学習による情報処理を利用しようとするアプリケーションについての情報であり、その機械学習モデルの種別及び入出力の形式を少なくとも特定するに足る情報である。より具体的には、そのアプリケーションの用途、入力データおよび出力データのフォーマットなどを含む。
【0040】
かかるテンプレートを選択する条件は、サーバ2のテンプレート・評価情報選択部204に送られ、かかる条件に合致する1又は複数のテンプレートをテンプレートデータベース201から選択する。さらに、テンプレート・評価情報選択部204は、選択したテンプレートに関連付けられた1又は複数の評価情報を評価情報データベース202から選択する。選択されたテンプレートはクライアント端末3の学習部301に送られて機械学習モデルの構築に供され、また、選択された評価情報はクライアント端末のパラメータ決定部307に送られて、パラメータの特定の値の決定に利用される。
【0041】
パラメータ決定部307は、テンプレート・評価情報選択部204より送られた評価情報に基づいて、パラメータの特定の値を決定する。ここでテンプレート・評価情報選択部204より送られる評価情報は、ユーザが実行使用する機械学習について入力した条件に合致するように選択されたテンプレートに関連付けられた評価情報であるから、実行しようとする機械学習についての評価情報であるということができる。
【0042】
また、本明細書でいうパラメータは、前述の通り、機械学習の学習結果に影響をもたらす各種の設定値等をいい、全く同じ教師データにより学習を行い、全く同じ検証データにより学習結果の評価を行ったとしても、かかるパラメータを具体的にどのように定めるかに依存して、その結果が異なるものを指す。このパラメータは、数値パラメータであることも、有限個の選択肢のうちの1又は複数を選択する選択パラメータであることもでき、通常は複数種類のパラメータが存在する。このパラメータの代表例は、機械学習におけるいわゆるハイパーパラメータである。ハイパーパラメータ以外のパラメータとしては、機械学習の前処理や後処理におけるパラメータ(例えば、画像処理におけるエッジ抽出処理のフィルタの種類や重みの値等)が挙げられる。
【0043】
学習部301における機械学習モデルは、テンプレートを用いる場合、テンプレート・評価情報選択部204により選択されたテンプレートに、パラメータ決定部307により決定されたパラメータの特定の値を組み合わせることにより構築される。したがって、テンプレート・評価情報選択部204がn個のテンプレートを選択し、パラメータ決定部307が、選択されたx番目のテンプレートについて、mx個のパラメータの特定の値を決定したとすると、構築される機械学習モデルの数は、次の通りとなる。
【0044】
【0045】
本機械学習モデル決定システム1により決定しようとする機械学習モデルの種別や用途が特定のものに限定されている場合には、用意されるテンプレートの数が1である場合に相当すると考えられる。その場合には、テンプレート及び評価情報を選択する必要はないため、サーバ2のテンプレート・評価情報選択部204及び、クライアント端末3の条件入力部306は省略されてよい。
【0046】
評価情報更新部203は、機械学習エンジン303の評価部302において得られた機械学習モデルの学習結果の評価に基づいて、当該機械学習モデルを構築する際のパラメータの特定の値を決定する際に用いられた評価情報を更新する。そして、当該機械学習モデルは、教師データ入力部304より入力される特定の教師データにより学習されたものであるから、評価情報更新部203は、パラメータの特定の値及び、特定の教師データを用いた機械学習の学習結果の評価に基づいて、評価情報を更新するものといえる。
【0047】
なお、評価部302において得られた機械学習モデルの学習結果の評価は、テンプレートデータベース201に記憶されたテンプレートの一部の更新に用いられてもよい。学習結果の評価に基づくテンプレートの更新については後述する。
【0048】
また、本実施形態に係る機械学習モデル決定システム1では、クライアント端末3はさらに、パラメータ指定部308及び割合設定部309を備えている。パラメータ指定部308は、パラメータ決定部307により決定されるパラメータの特定の値とは別に、ユーザが明示的にパラメータの特定の値を指定するものであり、適宜のGUIを含むものであってよい。機械学習エンジン303の学習部301においては、パラメータ決定部307により決定されたパラメータの特定の値によるものに加え、パラメータ指定部308によりユーザに指定されたパラメータの特定の値による機械学習モデルが構築される。割合設定部309は、パラメータ決定部307により決定される複数のパラメータの特定の値として、機械学習に使用されていないか、または使用された頻度が相対的に低い値が優先的に選択される割合を設定するためのものであり、適宜のGUIを含むものであってよい。この所定の割合についての詳細は後述する。
【0049】
さらに、クライアント端末3に設けられたモデル決定部310は、評価部3により得られた機械学習の評価に基づいて、機械学習エンジン303の学習部301において構築された複数の機械学習モデルの中から少なくとも1の機械学習モデルを決定する。この結果、ユーザが機械学習による情報処理を利用しようとするアプリケーションについて、複数の機械学習モデルをその候補として構築し、それぞれの候補について特定の教師データにより学習を行い、特定の検証データにより検証してそれぞれの評価を得ることにより、所望のアプリケーションに最も、又はより適した出力が得られる機械学習モデルを決定できる。
【0050】
なお、以上説明した機械学習モデル決定システム1においては、パラメータ決定部307、機械学習エンジン303、及びモデル決定部310はクライアント端末3上に構築するものとして説明したが、これらの全て又は一部は、サーバ2上に構築するものとして、クライアント端末3は、その結果のみをサーバ2から受信するように構成しても差し支えない。また、サーバ2に接続される複数のクライアント端末3の一部は、パラメータ決定部307、機械学習エンジン303、及びモデル決定部310をクライアント端末3上に構築し、複数のクライアント端末3の別の一部は、これらをサーバ2上に構築するものとしてもよい。クライアント端末3として十分な情報処理能力を持つものを用意できるユーザ4は、自前のクライアント端末3を用いて機械学習モデルの決定を迅速にできる一方、そのような強力なクライアント端末3を用意できないユーザ4は、情報処理の負担をサーバ2に委ねることで、機械学習モデルの決定を行うことができる。
【0051】
本実施形態に係る機械学習モデル決定システム1の概略の構成は以上の通りである。
図4を参照してかかる構成による機械学習モデル決定システム1全体の動作の流れと、それによる技術的意義について以下に説明する。
【0052】
図4は、本実施形態に係る機械学習モデル決定システム1の概略の動作のフローを示す図である。同図では便宜上、注目する特定のユーザ4aが使用するクライアント端末3aとサーバ2、及び、特定のユーザ4a以外の1又は複数のユーザ4b、4c、・・・が使用する1又は複数のクライアント端末3b、3c、・・・に分けてフローを示す。なお、このフローの説明にあたっては、適宜
図3を参照するものとし、機械学習モデル決定システム1が有する機能ブロックに言及する際には、
図3に示された符号を付す。
【0053】
まず、前提として、他のクライアント端末3b、3c・・・において、すでに機械学習エンジン303により特定の用途に適した機械学習モデルが学習部301において構築され、学習され、さらに、評価部302によりその学習結果に対する評価がなされているものとする(ステップS101。ただし、後述するように、かかる評価が未だなされていなくとも差し支えはない)。
【0054】
学習結果は、サーバ2の評価情報更新部203に送信され、取得される(ステップS102)。評価情報更新部203は、かかる評価に基づいて、評価情報DBに記憶された評価情報を更新する(ステップS103)。
【0055】
この評価情報の更新は、ユーザ4b、4c、・・・がクライアント端末3b、3c・・・を用いて機械学習を実行する度になされ、その結果は評価情報DBに蓄積されていく。ここで、評価情報は、前述したとおり、機械学習の学習結果に影響をもたらすパラメータに関し、当該パラメータの値について機械学習の学習結果に対する評価に関する情報である。この評価情報の技術的意義を、理解を容易にするため、正確性を欠くものの大まかに説明するならば、次のようになる。すなわち、評価情報は、パラメータ決定部307がパラメータの特定の値を決定する際に、過去の機械学習の学習結果を反映して、好成績が得られた機械学習に用いられたパラメータの値と、その値に近似するパラメータの特定の値が選択されやすくなるようにするための情報である。
【0056】
すなわち、あるユーザ4がクライアント端末3を用いて、パラメータの特定の値についての機械学習結果として好成績を得たならば、その結果が評価情報に反映される。その次に更新された評価情報を用いて別のユーザ4がクライアント端末3を用いて機械学習を実行しようとした際には、先のユーザが使用したパラメータの値、又はその値に近似するパラメータの値がより選択されやすくなるのである。
【0057】
すなわち、本実施形態に係る機械学習モデル決定システム1では、各ユーザ4は、他のユーザ4が構築した機械学習モデル及びその学習結果を直接知ることはできないが、その学習結果の良否を評価情報を介して間接的に利用することができ、より精度の高い機械学習モデルを効率よく探索し発見することができるようになるのである。この機械学習モデル探索の効率及び精度は、より多くのユーザ4により、より多くの機械学習の結果が得られて、それら結果が評価情報に蓄積されるほどに向上していくことが見込まれる。すなわち、サーバ2に設けられた評価情報データベース202に記憶された評価情報が、複数のユーザ4間に共通に用いられる構成であることにより、評価情報の質はより効率的に向上していく。
【0058】
なお、この評価情報の質の向上は、必ずしも複数のユーザ4の存在を前提としなければならないわけではなく、複数の機械学習モデルの構築及び評価の結果が評価情報に蓄積される構成によりもたらされる効果である。ただし、より多くの機械学習の結果が評価情報に反映されるほど迅速に評価情報の質が向上するため、より多くの機械学習の結果を評価情報に反映するため、評価情報を複数のユーザ4に共通に用いられる構成とすることは有効である。かかる評価情報をどのようなものとし、どのように更新するかについては様々な実装が考えられ、具体的な例については後ほど詳述する。
【0059】
ここで、上のような評価情報の質の向上により、より精度の高い機械学習モデルを効率よく探索し発見することができるというためには、あるユーザ4がそのユーザ4固有の事情に基づいて構築し、好成績を収めた機械学習モデルにおいて採用されたパラメータの値が、他のユーザ4の他の事情に基づいて構築する機械学習モデルにおいても好成績を収めるであろうという仮定がなされなければならない。この仮定は、厳密には正しいとは言えない。すなわち、機械学習の用途や目的が相違していればもちろん、それらが同等であったとしても、互いに異なる教師データに基づいて学習がなされ、互いに異なる検証データに基づいて学習結果が評価される際に、同じパラメータの値を採用して構築された機械学習モデルの学習結果の評価が同等となる保証は一般にない。
【0060】
しかしながら、経験的に、機械学習のモデルや入出力の形式を同じくし、その用途及び目的が同等である機械学習においては、たとえ異なる教師データ、検証データを用いたとしても、多くの場合において、同じ又は近接したパラメータを採用して構築された機械学習モデルが優秀な成績を収めることが観察される。したがって、実用的には、過去の事例において好成績を収めた機械学習モデルを構築する際に採用されたパラメータの値を、別の新たな事例において機械学習モデルを構築する際に採用されやすくすることには大いに意味がある。
【0061】
特に、一般に機械学習においては、機械学習モデルを構築して、学習を行い、さらにその学習結果の評価をするためには膨大な計算量を必要とするため、広大なパラメータ空間のあらゆる可能性をくまなく探索することは非現実的である。過去の類似の事例に基づいて、好成績を収めた機械学習モデルの構築に用いられたパラメータの値またはその値に近似する値を優先的に採用して探索することは、より短時間に、より少ない計算量で好成績を上げる機械学習モデルを構築する際に、効果的かつ実用的なアプローチとなる。
【0062】
なお、上で述べた、機械学習におけるパラメータの値の類似性は、その用途や目的に共通性がみられる一群の機械学習モデルに見られ、そうでない機械学習モデル間には類似性は見られないか、あったとしても限定的である。例えば、一軸のサーボ-ボールねじシステムによる位置決め機構において、電流波形から機器の故障を検出する機械学習モデルにおいては、各機器の製造メーカーや型式、負荷が少々異なっていたり、教師データおよび検証データが異なっていたとしても、好成績を収める機械学習モデルに採用されるパラメータの値には類似性が観察される。これに対し、同じ一軸のサーボ-ボールねじシステムにおいて、電流波形から機器の故障を検出するものであったとしても、プレス機構に用いられるもののようにトルク制御を行うものは、機械学習モデルに適したパラメータの値が異なることが観察される。
【0063】
もちろん、構築しようとする機械学習モデルの種別や入出力の形式が異なっていれば、その機械学習モデルの構築に必要となるパラメータ自体が異なるため、これらを互いに利用することはできないことは言うまでもない。すなわち、機械学習におけるパラメータの値の類似性を利用することができる機械学習には、その類似性の範囲がある。
【0064】
本明細書において、テンプレートは、前述したとおり、機械学習に用いられる機械学習モデルの種別及び入出力の形式を少なくとも定める情報である。ここでも、このテンプレートの技術的意義を、理解を容易にするため、正確性を欠くものの大まかに説明するならば、次のようになる。すなわち、テンプレートは、ユーザ4が構築しようとする機械学習の類似性の範囲を定めるものである。すなわち、テンプレートを共通にして構築された機械学習モデル間には、その成績と、パラメータの値の間に相関があるものと推定される。そのため、テンプレートは、当該テンプレートに基づいて構築される機械学習モデル間にパラメータの値の類似性がみられるように設定される。
【0065】
より具体的には、テンプレートはまず、機械学習に用いられる機械学習モデルの種別及び入出力の形式を定める。これらが異なっている機械学習モデルでは、選択すべきパラメータがそもそも異なり、共通しないと考えられるためである。さらに、テンプレートは、機械学習の用途や目的を定めるものであってよい。上の一軸のサーボ-ボールねじシステムによる位置決め機構の例では、機械学習モデルの種別として「LSTM(長期短期メモリ)」、入力の形式として一次元時系列データ、出力の形式としてn次元ベクトル、用途及び目的として、「位置制御」及び「故障検出」を定めたテンプレートが用意される。
【0066】
評価情報は、テンプレート毎に関連付けられて用意されるため、同じテンプレートを選択して構築される機械学習モデルは、共通の評価情報を用いることとなり、適正に、過去の学習結果を反映したパラメータの選択がなされることがわかる。ここで上のテンプレートの例であれば、決定すべきパラメータは、おおむね次の通りとすることができる:
・入力データに対するフィルタのパラメータ(時定数など)
・LSTMの隠れ層の層数及び各層のノード数
・学習率
・モーメンタム
・BPTT(通時的誤差逆伝播法)打ち切りステップ数
・勾配クリッピング値
【0067】
すなわち、機械学習モデル決定システム1は、特定のテンプレートに基づいて構築される機械学習モデルに用いられるパラメータの実用的な好適値を、合理的手法により効率的かつ実用的に求めるシステムであるといえる。再び
図4を参照し、かかるパラメータの値を求め、機械学習モデルを決定するまでの流れを説明する。
【0068】
ユーザ3aが新たに特定の用途、目的のために機械学習モデルを構築しようとする際、かかる目的についての条件をクライアント端末3の条件入力部306に入力する(ステップS104)。この条件は、サーバ2に送られ、テンプレート・評価情報選択部204におけるテンプレートの選択に用いられる(ステップS105)。ユーザ3aが条件入力部306に入力する条件は、必ずしも、テンプレートで定める機械学習モデルの種別や入出力データの形式を直接的に指定するものでなくともよい。
【0069】
図5は、ユーザ3aが条件入力部306に入力する条件と、それら条件に応じて定められるテンプレートの例を示す表である。同図の表では、条件は、テンプレートを定めるための形式的な条件、すなわち、機械学習モデルの種別及び入出力データの形式を定める条件を横方向に、また、テンプレートを定めるための目的的な条件、すなわち、機械学習の用途・目的に関する条件を縦軸に示して両者を区別しているが、ユーザ3aがこれら条件を入力する際には、この区別は必ずしも明示されなくともよく、必要な条件を例えば、いわゆるウイザード形式で入力していくGUIを採用してもよい。
【0070】
図5に示されるように、形式的な条件と目的的な条件が定まると、一のテンプレートが定まる。なお、同図に示した表では、形式的な条件と目的的な条件を選択することで定まる各マスに割り当てられるテンプレートは全て異なるものとして示しているが、類似のものとして取り扱うことができる場合には、共通のテンプレートを使用するものとしてもよい。例えば、形式的条件として、一軸サーボモータを使用し、一次元の時系列データを入力とするものを選択した際に、目的的条件として、回転駆動系の位置決め(表中には「回転位置決め」と記した。)における故障検出の場合には、同表中テンプレートA1が示され、リニアモータ駆動系の位置決め(表中には「リニア位置決め」と記した。)における故障検出の場合には、同表中テンプレートA3が示されているが、この両者を同様に取り扱うことができる場合には、このテンプレートを共通のものとしてよい。
【0071】
そして、各テンプレートには、それぞれ、評価情報が対応付けられる。したがって、テンプレート・評価情報選択部204が入力された条件に基づいてテンプレートを選択することは、同時に評価情報を選択することでもある。
【0072】
また、テンプレート・評価情報選択部204は、ユーザ4aが入力した条件によっては、複数のテンプレートを選択してもよい。例えば、ユーザ4aが条件として、一軸サーボモータを使用し、一次元の時系列データを入力するものとし、さらに、位置決めにおける故障検出をその用途及び目的として入力したが、その位置決めが回転位置決めであるのか、ボールネジ駆動系における位置決め(表中には「ボールねじ位置決め」と記した。)であるのか、リニア位置決めであるのかを特に指定しなかった場合には、有り得る候補である、テンプレートA1、テンプレートA2及びテンプレートA3の全てが選択されてもよい。他にも、ある特定の条件においては、他の条件と紐づけられた複数のテンプレートが選択されるように定めておいてもよい。
【0073】
このように、テンプレート・評価情報選択部204にユーザ4aが与える条件を、ユーザ3aが機械学習を適用しようとする機器についての情報や、その目的及び用途とすることにより、ユーザ3aが数多ある機械学習モデルについての十分な知識がなくとも、入力された条件から自動的に適した機械学習モデルを構築するためのテンプレートが選択される。条件によっては、いくつかある機械学習モデルの候補が複数存在する場合にもあると考えられるが、その場合には、当該機械学習モデルを構築するためのテンプレートを複数選択すればよい。各テンプレートは既知の機械学習モデルの定義を含んでおり、それらは、既存の機械学習モデルのアーキテクチャを示すものであってよい。例えば、そのようなアーキテクチャは、CNN(畳み込みニューラルネットワーク)であれば、AlexNet、ZFNet、ResNETといったアーキテクチャでよく、RNN(再帰的ニューラルネットワーク)であれば単純RNN、LSTM、Pointer Networksといったアーキテクチャであり得る。それ以外にも、CRNN(畳み込みニューラルネットワーク)、サポートベクタマシンなど、ユーザ4に提供しようとする機械学習の性質に応じてあらかじめ用意される。
【0074】
テンプレート・評価情報選択部204において選択されたテンプレートはテンプレートデータベース201より読みだされてクライアント端末3aへと送られ、また、選択されたテンプレートに対応する評価情報もまた、評価情報データベース202より読みだされてクライアント端末3aへと送られる。
図4に戻り、続くステップS106では、クライアント端末3aのパラメータ決定部307により、機械学習モデルを構築する際に用いられるパラメータの値が決定される。なお、本明細書では、この機械学習モデルを構築する際に用いられるパラメータの値のことを、パラメータの特定の値と称している。
【0075】
パラメータ決定部307では、理論的には一つのみであっても機械学習モデル決定システム1は機能するものの、通常は2以上の多数のパラメータの特定の値を決定する。テンプレートに含まれる機械学習モデルの定義に対して、具体的なパラメータの特定の値を適用することにより一の機械学習モデルが構築されるため、決定されたパラメータの特定の値の数は、この後学習部301にて構築される機械学習モデルの数を示すことになる。
【0076】
このことは、次のように理解することができる。すなわち、パラメータは、前述の通り、機械学習の学習結果に影響をもたらす各種の設定値等であるから、パラメータの特定の値によって、同じ教師データにより学習を行い、同じ検証データによりその学習結果の評価を行ったとしても、その評価は互いに異なり、優劣が生じる。そして、この優劣は、パラメータの値それ自体から事前に正確に予測することは一般に困難である。そのため、多数のパラメータの特定の値を決定しておいて、それらパラメータの特定の値に基づいて多数の機械学習モデルを構築し、それら多数の機械学習モデルの学習結果の評価を行って、最終的に採用されるパラメータの特定の値、すなわち、特定の機械学習モデルを決定する。
【0077】
パラメータの特定の値が決定される数は、ユーザ4aが許容できるクライアント端末3aの演算リソースに依存する。十分な時間及びクライアント端末3aの演算能力が確保できる場合にはパラメータの特定の値の数を大きくすることが許されるであろうし、そうでない場合には、許容される時間及びコストを勘案して数を決定する。この数はユーザ4aが任意に設定してよく、数十~数万であることが一般的であると考えられるが、特に制限はない。
【0078】
続けて、クライアント端末3aの機械学習エンジン303の学習部301は、選択されたテンプレートに決定されたパラメータの特定値を適用することにより、機械学習モデルを構築する。構築された機械学習モデルが複数の場合には、各機械学習モデルに、教師データ入力部304より入力された特定の教師データを適用して機械学習を行う(ステップS107)。
【0079】
機械学習済みの各機械学習モデルには、機械学習エンジン303の評価部302により、検証データ入力部305より入力された特定の検証データを適用して、機械学習の結果の評価を行う(ステップS108)。この評価は、一例として、検証データに用意された正解に対する機械学習モデルからの出力の正解率を算出することにより行ってよい。したがって、構築され、学習済みの機械学習モデルが複数存在する場合には、この評価もまた複数存在することとなる。
【0080】
機械学習モデルの評価は、クライアント端末3aのモデル決定部310における機械学習モデルの決定に利用される(ステップS109)。モデル決定部310では、単純には、最も評価の高い、すなわち、最も好成績を上げた機械学習モデルを採用モデルとして決定する。これ以外の実装、例えば、評価の上位の複数の機械学習モデルを候補としてユーザ4aに提示して選択させるようなものも可能である。
【0081】
同時に、機械学習の評価は、各機械学習モデルの構築に用いられたパラメータの特定の値とともにサーバ2に送信され、取得される(ステップS110)。送信された評価は、サーバ2の評価情報更新部203において、当該機械学習モデルについての評価情報の更新に用いられる(ステップS111)。なお、この時サーバ2に送信された評価は、さらに、
図3で矢印にて示されているように、テンプレートデータベース201に記憶されたテンプレートの更新に用いられてもよい。機械学習の評価とテンプレートとの関係については後述する。
【0082】
図4のフローのステップS107からステップS111により行われる処理を、構築される機械学習モデルに即して説明する概念図を
図6に示す。
図6では、同図に示す(a)~(e)の順に機械学習モデルが構築され、最終的に採用されるモデルの決定がなされる様子を概念的に示している。
【0083】
図6の(a)及び(b)は、ステップS107において、クライアント端末3aの機械学習エンジン303の学習部301における、機械学習モデルを構築する際の処理である。まず(a)において、テンプレート・評価情報選択部204において選択されたテンプレートに対して、パラメータ決定部307により決定された1又は複数個のパラメータの特定の値、同図ではn個のパラメータ1~パラメータnを適用する。
【0084】
このテンプレートに対するパラメータ1~nの適用を、具体的な情報処理の一例として説明すると次のようになる。テンプレートには、機械学習モデルのデータ形式やデータを操作するメソッドを定義するオブジェクトが定義されており、学習部301は、かかるオブジェクトに具体的なパラメータの特定の値を適用して、当該オブジェクトのデータセットであるインスタンスをクライアント端末3のメモリ上に作成する。
【0085】
この結果、クライアント端末3のメモリ上には、(b)のように、n個の機械学習モデルであるモデル1~nが作成される。
【0086】
さらに、学習部301は、(c)に示すように、作成されたモデル1~nに、それぞれ、ユーザ4aにより用意された特定の教師データを与えて機械学習を行う。機械学習の具体的方法は、使用された機械学習モデルの種別に依存する。情報処理の手法としては、モデル1~nの元となったオブジェクトに機械学習のためのメソッドを定義しておき、学習部301が機械学習の際にかかるメソッドを実行するように構成しておくと、学習部301において、機械学習モデルの種別ごとに機械学習のためのプログラムを記述する必要がなく、新たな機械学習モデルの種別を含むテンプレートを任意に追加・変更できるなど拡張性にも優れる。
【0087】
続いて、ステップS108において、学習済みのモデル1~nには、検証部302により、(d)に示すように、ユーザ4aにより用意された特定の検証データをそれぞれ与えて、その学習結果を評価する。各々の評価は定量的になされ、モデル1~nに対応するn個の評価1~nが得られる。
【0088】
(d)により得られた評価1~nはステップS110においてサーバ2へと送られ、ステップS111において評価情報の更新に用いられることはすでに述べたとおりである。また一方で、クライアント端末のモデル決定部310は、ステップS109において、評価1~nを参照して最も好成績を収めた機械学習モデルであるモデルpを(e)に示すように決定する。ユーザ4aは、このようにして決定されたモデルpを採用モデルとして、機械学習を所望の用途に用いることができる。
【0089】
このように、機械学習モデル決定システム1では、ユーザ4aは、機械学習を利用しようとする用途その他の条件を指定することにより、好適と考えられる機械学習モデルの候補を自動的に複数生成し、自動的に学習及び評価まで行って、好成績を収めた機械学習モデルを特定し、利用することができるため、機械学習の技術に精通した熟練技術者を必要とすることなく、優れた機械学習モデルを構築して、利用することができる。また、かかる学習及び評価の結果は、評価情報の更新に利用され、機械学習モデルの構築がなされる程に、優れた機械学習モデルが生成される確率が向上するため、機械学習モデル決定システム1の利用が進むほどに、より短時間、より低負荷で好成績を収める機械学習モデルが得られるようになっていく。
【0090】
続いて、パラメータ決定部307におけるパラメータの特定の値の決定の具体的な実装例を
図7~
図11を参照して説明する。
図7の(a)は、テンプレート・評価情報選択部204により選択されたテンプレートに関連付けられた評価情報に含まれる選択確率情報の観念図である。
【0091】
この例における選択確率情報は、確率密度関数である。すなわち、
図7の(a)における横軸のxは、決定しようとするパラメータであり、縦軸のP(x)は、そのパラメータの値についての確率密度関数の値である。有意なパラメータの範囲として、区間[a,b]が与えられているため、P(x)は同区間内で定義されている。なお、説明の都合上、
図7ではパラメータxは1次元表示をしているが、決定すべきパラメータは複数であってよいため、パラメータxはベクトル量であってよく、同図の横軸は任意の次元のパラメータ空間を示し、区間[a,b]は、かかるパラメータ空間中の領域を示している。
【0092】
なお、一般的には、確率密度関数P(x)はその定義域[a,b]において、その積分値が次式の通り1となる(このことを、確率密度関数P(x)が正規化されていると称する)。
【0093】
【0094】
しかしながら、この後述べるように、本実施形態における評価情報に含まれる確率密度関数P(x)は必ずしも正規化された形式で記憶されている必要はなく、正規化されていなくともよい。
【0095】
さて、パラメータ決定部307は、評価情報に含まれる確率密度関数に従って、区間[a,b]に含まれるパラメータの特定の値Xを決定する。この決定は確率的になされるため、n個のパラメータの特定の値がX1、X2、X3、・・・Xnのように決定されると、それぞれのパラメータの特定の値は偶然の一致が起こらない限りは互いに異なるものとなり、その分布は確率密度関数P(x)に従う。このように、パラメータ決定部307は、評価情報に基づいてパラメータの特定の値を確率的に決定し、そのため、評価情報には、パラメータの特定の値が選択される確率を示す選択確率情報が含まれる。ここで示した確率密度関数は、選択確率情報の一例である。
【0096】
選択確率情報から具体的なパラメータの特定の値を定める手法は任意のものであってよいが、その一例として、累積分布関数を用いる手法を説明する。
図7(b)は、同図(a)に示した確率密度関数P(x)の累積分布関数F(x)を示す図である。累積分布関数F(x)もまた区間[a,b]で定義され、
【0097】
【0098】
【数4】
とおくと、[0,S]となる。P(x)が正規化されていれば、S=1である。
【0099】
ここで、0~Sの間で乱数pを発生させ、F(x)と交わるxの値としてパラメータの特定の値Xを定めると、Xは確率密度関数P(x)により定義される確率分布に従う。
【0100】
このようにしてパラメータの特定の値Xを決定すると、確率密度関数P(X)の値が大きくなる値Xが選択されやすく、確率密度関数P(X)の値が小さくなる値Xは選択されにくくなる。そこで、確率密度関数P(x)を、機械学習の結果として高評価が得られる蓋然性の高いパラメータの特定の値が選択されやすく、機械学習の結果として高評価が得られない蓋然性の高いパラメータの特定の値は選択されにくくなるように定めることにより、より短時間、より低負荷で好成績を収める機械学習モデルが得られることになる。
【0101】
しかしながら、理想的な確率密度関数P(x)の形を予め与えることは困難である。そこで、本実施形態に係る機械学習モデル決定システム1では、ユーザ4による機械学習の学習結果の評価を利用して、確率密度関数P(x)を逐次更新することにより、確率密度関数P(x)を理想的な形状に近づけるようにしていく。すなわち、ユーザ4による機械学習の学習結果が多く得られれば得られるほど、確率密度関数P(x)は、より機械学習の結果として高評価が得られる蓋然性の高いパラメータの特定の値が選択されやすい形状へと更新されていく。
【0102】
図8は、確率密度関数P(x)の更新の例を示す概念図である。同図中(a)には、更新がなされる前の確率密度関数P(x)を実線で示している。ここで、かかる確率密度関数P(x)を用いて決定されたパラメータの特定の値cによる学習結果が高評価を得たとする。
図8(a)には、わかりやすく示すため、パラメータの特定の値cが高評価を得たことを黒塗りの縦棒で示している。ただし、確率密度関数P(x)とパラメータの特定の値cの縦軸の値は必ずしも同スケールではない。
【0103】
評価情報更新部203は、パラメータの特定の値cにより得られた評価に基づいて、
図8の(b)に破線で示されているように、確率密度関数P(x)の更新曲線を生成する。ここでは、更新曲線は、cを中心とする正規分布としている。この時、分散σ
2の値はパラメータの区間[a,b]の大きさに応じて適宜定めるとよい。また、更新曲線の重み、すなわち、縦軸方向の大きさは、パラメータの特定の値cにより得られた評価に応じた適宜の係数kを乗じることにより調整するとよい。すなわち、機械学習の結果の評価が高ければ高いほど、より確率密度関数P(x)は大きく変化するようにするとよい。
【0104】
例えば、機械学習の評価が、特定の検証データに対する正解率aであり、正解率70%以上の機械学習モデルを肯定的に評価するとした場合、更新曲線は次式のように表すことができる。
【0105】
【0106】
そして、
図8の(c)に示すように、更新前の確率密度関数P(x)と更新曲線を区間[a,b]内で加算して、太線で示した新たな更新後の確率密度関数P(x)を得る。なお、同図(c)では、更新後の確率密度関数P(x)を正規化しているため、高評価が得られたパラメータの特定の値cの近辺では確率密度関数P(x)の値が増加し、cから離れた部分では確率密度関数P(x)の値が減少することになる。
【0107】
上で例示した更新曲線の例では、正解率aがちょうど70%の場合には確率密度関数P(x)の更新は行われず、正解率aが70%を上回る場合に、そのパラメータの特定の値cと、その近傍の値についての確率密度関数P(x)の値を増加させる方向に変更する一方、正解率aが70%を下回る場合には、そのパラメータの特定の値cと、その近傍の値についての確率密度関数P(x)の値を減少させる方向に変更することになる(更新曲線が下に凸の形状となるため)。すなわち、パラメータの特定の値cについての機械学習の結果に基づいて、かかる特定の値c及びその近傍の値についての選択確率情報に含まれる確率密度関数P(x)の値を同方向に変更している。
【0108】
これは、パラメータが連続的な性質を持つ場合、パラメータのある特定の値cにおける機械学習への影響と、かかる特定の値cの近傍の値における機械学習への影響は類似する性質を持つと予想されることから、特定の値cにおいて好成績が得られたならば、その近傍の値においても好成績が得られ、その逆に、特定の値cにおいて低成績が得られたならば、その近傍の値においても低成績が得られると予想されるためである。
【0109】
したがって、更新曲線は、上の説明では正規分布を用いたが、必ずしも正規分布を用いる必要はなく、更新後の確率密度関数P(x)に対して、パラメータの特定の値cとその近傍の値について同方向の影響を与えうる曲線であれば、どのような曲線を選ぶかは任意である。また、ここでいう「曲線」は一般的な意味での用法であり、直線により構成される「曲線」を含む。そのような「曲線」は、例えば、三角波形状の曲線であったり、階段形状の曲線であったりしてよい。
【0110】
なお、ここで、パラメータが連続的な性質を持つとは、同種のパラメータの異なる値が、定量的な差異を示すことであり、当該パラメータ自体が連続したものとして取り扱われることを要さない。実際問題として、パラメータの値はコンピュータにおけるデジタル処理の際には、離散値の集合として取り扱われるが、かかる取り扱い自体は当該パラメータの連続的な性質そのものには影響を及ぼさない。
【0111】
一方で、パラメータによっては、そのパラメータが連続的な性質を持たず、離散的な性質を有する場合が考えられる。ここで、パラメータが離散的な性質を持つとは、同種のパラメータの異なる値が、定性的な差異を示すことといえ、かかるパラメータにおいては、異なるパラメータの値の間に直接的な関連がみられない。離散的なパラメータの例としては、例えば、機械学習における計算処理の種別を特定するものが挙げられる。具体的には、オプティマイザーの種別(モーメンタム、AdaGrad、AdaDelta、Adamといった手法の別)や、学習手法(バッチ学習、ミニバッチ学習、オンライン学習といった手法の別)が代表的なものである。
【0112】
このような離散的な性質を持つパラメータについては、パラメータの特定の値cと、値cに隣接する別の値との間に相関はないと考えられる(例えば、パラメータが先のオプティマイザーの種別を特定するものであった場合、パラメータの特定の値cにモーメンタムが割り当てられた時、値cに隣接する別の値にどのオプティマイザーが割り当てられるかは任意に定められるものであり、両者の間に相関がないことは明らかである)。このようなパラメータに対しては、先に述べたように、パラメータの特定の値cについて得られた機械学習の評価に基づいて、値cの近傍のパラメータの値についての評価情報を同方向に変更することには根拠がなく、妥当とは言えない。
【0113】
図9は、離散的な性質を持つパラメータについて、評価情報の更新の例を示す概念図である。ここでは、パラメータはその値xとして、a~eの5つの値のいずれかを取るものとする。縦軸は、値xについての選択確率P’(x)を示しており、連続関数ではない。
【0114】
図9(a)は、パラメータの値a~eについての選択確率を白抜きの縦棒グラフにて示したものであり、P’(x)が正規化されていれば、P’(a)~P’(e)全ての和は1となる。ここで、パラメータの特定の値dにおいて機械学習がなされ、高評価を得たとし、同図(a)に先ほどの例と同様に黒塗りの縦棒で示すこととする。
【0115】
この場合には、評価情報更新部203は、
図9の(b)に示すように、パラメータの値dについての選択確率P’(d)をその機械学習の結果の評価に応じて増加させ、その他のパラメータの値a、b、c及びeについては平等に選択確率を減少させる。同図の(b)では、選択確率P’(x)の変化分を破線により表示し、その変化の方向を矢印で示している。このような更新の一例としては、P’(x)の変化量をΔP’(x)、パラメータの総数をn、機械学習に用いられたパラメータをx
specific、それ以外のパラメータをx
otherとし、機械学習の結果得られた正解率a及び任意の係数lを用いて、次のようにしてよい。
【0116】
【0117】
上の方法においては、特定のパラメータxの値についての選択確率P’(x)が1を超え、又は0を下回る場合に適宜の補正を施せばよく、また、P’(x)の値に上限値、下限値を設けてもよい。あるいは、ΔP’(x)の加算によりP’(x)を更新する手法に替えて、学習結果の評価に応じた割合によりP’(x)を変化させたり、その他の手法を用いたりしてもよい。
【0118】
なお、評価情報更新部203による評価情報の更新は、本実施形態では、学習結果の評価の如何にかかわらず実施するものとしたため、肯定的な評価のみならず、否定的な評価が得られた場合にも更新がなされるが、これに替え、特定の評価が得られた場合にのみ評価情報を更新するものとしてもよい。例えば、学習結果の評価として、好成績が得られた場合(一例として、正解率が80%以上)のみ評価情報を更新するものとしてもよい。いずれにせよ、得られた機械学習結果のそれぞれ、又は複数に基づいて評価情報を更新することにより、評価情報は速やかに更新されていくことになる。
【0119】
なお、すでに述べたとおり、評価情報に含まれる確率密度関数P(x)や、選択確率P’(x)の形状は、繰り返し機械学習の結果の評価が得られることにより定まっていく。そのため、機械学習モデル決定システム1の運用を開始する初期の時点では、確率密度関数P(x)や、選択確率P’(x)の形状は不明であって、任意の形状の初期形状を与えて差し支えない。そのような初期形状の一例としては、パラメータの全区間にわたり等確率となる形状が挙げられる。
【0120】
以上の説明は、テンプレート・評価情報選択部204によりテンプレートが一のみ選択され、したがって、評価情報もまた一つのみ選択される場合についてした。しかしながら、機械学習モデル決定システム1によっては、複数のテンプレートと、当該テンプレートについての複数の評価情報が選択されてもよい。複数のテンプレートの選択を認めることにより、機械学習の結果が高評価となる機械学習モデルをより広い範囲から探索することができる。以下は、テンプレート・評価情報選択部204により複数のテンプレート及び複数の評価情報が選択された場合の機械学習モデルの構築に用いられるテンプレート及びパラメータの特定の値の決定方法の説明である。
【0121】
テンプレート・評価情報選択部204は、条件入力部306より得られたユーザ指定の条件に基づいて、1又は複数のテンプレートを選択する。この際に、複数のテンプレートとして、テンプレート1、テンプレート2、・・・テンプレートnのn個のテンプレートが選択された場合に、機械学習エンジン303の学習部301において、一の機械学習モデルの構築するためには、構築に用いられるテンプレート及びパラメータの特定の値を決定しなければならない。この決定方法には種々の方法が考えられるため、それら方法の例を説明する。
【0122】
最初に説明する方法は、複数のテンプレートのうち、一のテンプレートを選択し、その後、かかるテンプレートに関する評価情報を用いてパラメータの特定の値を決定する方法である。本方法を採用する場合には、個々のテンプレート毎に、テンプレート自体の評価を示すスコアが付されていることが望ましい。
【0123】
テンプレートのスコアは、当該テンプレートを使用して構築された機械学習モデルによる機械学習の結果の評価に基づいて定められる。具体的な例としては、かかるテンプレートによる機械学習の結果の評価のうち、最も高評価のものをスコアとして採用してよい。評価が正解率であるならば、正解率の最大値をスコアとして採用する。
【0124】
なお、スコアとしては別のものを採用してもよい。例えば、直近の所定個数の学習結果の評価の平均値であったり、上位所定個数の評価の平均値をスコアとして採用したりしてもよい。いずれにせよ、スコアは、過去の実績に基づいて、当該テンプレートを使用して機械学習モデルを構築して機械学習を行った際に、高評価が得られる蓋然性が高いほど良いスコアが付されるような基準に基づいて定められる指標である。
【0125】
かかるスコアは、各テンプレートに紐づけられ、テンプレートデータベース201に記憶される。一例として、スコアは、
テンプレート1:65
テンプレート2:80
…
テンプレートn:75
のように定められる。
【0126】
使用するテンプレートを決定する手法は、
(1)最も高い(高評価の)スコアを付されたテンプレートを選択する
(2)スコアに基づいて確率的にテンプレートを選択する
といったものが考えられ、いずれを採用してもよい。(2)の手法の場合、あるテンプレートが選択される確率を、
【0127】
【0128】
また、スコアは、機械学習の結果が得られる毎に、かかる結果を反映して最新のものに更新されることが望ましい。そのため、
図3に示すように、機械学習エンジン303の評価部302により得られた機械学習の結果の評価は、テンプレートデータベース201に送信され、機械学習モデルの構築に用いられたテンプレートのスコアの更新に使用される。
【0129】
次に説明する方法は、複数のテンプレートのうち各々のテンプレートを使用する割合を割り振る方法である。前述したとおり、通常は、パラメータ決定部307では、多数の機械学習モデルを構築するため複数のパラメータの特定の値を決定する。決定されるパラメータの特定の値の数は、ユーザ4が用意する計算リソースに応じて定められ、例えば、100、1000という数が選択される。
【0130】
この数のうち、あるテンプレートを用いて構築される機械学習モデルの数を選択されたテンプレートのスコアに応じて分配する。この分配の方法をスコアに比例するものとした場合、先のスコアの例に準じると、各テンプレートを用いて構築される機械学習モデルの数の比は、テンプレート1:テンプレート2:…:テンプレートn=65:80:…:nとなるように分配される。
【0131】
そして、あるテンプレートを用いて機械学習モデルを構築する際には、かかるテンプレートに対応する選択基準を用いてパラメータの特定の値を決定するから、各テンプレートのスコアに応じた比率の回数だけ、それぞれのテンプレートに対応する選択基準を用いてパラメータの特定の値を決定することになる。
【0132】
なお、各テンプレートにスコアを付していない場合には、選択されたテンプレート毎に均等にパラメータの特定の値を決定する回数を割り振ればよい。
【0133】
最後に説明する方法は、選択された複数のテンプレートに対応する複数の選択基準について、パラメータの特定の値及び使用すべきテンプレートを直接決定する方法である。この方法では、先に説明した選択基準に含まれる確率密度関数P(x)を複数使用して、確率的にパラメータの特定の値を決定し、それに伴い、使用するテンプレートが決定される。
【0134】
説明のため、ここでは、テンプレート1及びテンプレート2が選択されたものとする。
図10は、本方法によるパラメータの特定の値の決定方法を説明する図である。
図10の(a)は、テンプレート1についての評価情報における、累積分布関数F(x)の例を示しており、
図10の(b)は、テンプレート2についての評価情報における、累積分布関数F’(x)をの例を示している。累積分布関数F(x)は区間[a,b]について定義されており、累積分布関数F(x)は区間[a’,b’]について定義されている。区間[a,b]と区間[a’,b’]は、一致していてもよいが、必ずしも一致しなくともよい。また、その終端値F(b)をS、F(b’)をS’とする。S及びS’は必ずしも一致する必要はないが、累積分布関数F(x)及びF’(x)の元となった確率密度関数P(x)及びP’(x)が正規化されているならば、S=S’=1となる。
【0135】
この2つの累積分布関数F(x)及びF’(x)を、パラメータxについて、
図10の(c)に示すように連続するように接続し、接続累積分布関数F’’(x)を得る。ここで、接続累積分布関数F’’(x)は、累積分布関数F(x)及びF’(x)の区間[a,b]及び[a’,b’]を接続した区間[a,b’]において定義される単調増加関数であり、終端値F’’(b’)をS’’とする。
【0136】
このとき、S’’は単純にS+S’としてもよいが、選択された各テンプレートにスコアが付されている場合、接続累積分布関数F’’(x)における、元となった累積分布関数F(x)及びF’(x)に対応する値域の幅を、スコアに応じたものとすることが好ましい。例えば、
図10(c)に示した、接続累積分布関数F’’(x)における、累積分布関数F(x)に対応する値域の幅(i)と、接続累積分布関数F’’(x)における、累積分布関数F’(x)に対応する値域の幅(ii)の比を、それぞれの対応するテンプレートのスコアの比に等しいものとすればよい。
【0137】
具体的に、テンプレート1のスコアが80であり、テンプレート2のスコアが60であれば、(i):(ii)=80:60となるように値域を調節して、累積分布関数F(x)及びF’(x)を接続して接続累積分布関数F’’(x)を得る。そして、パラメータ決定部307において、0からS’’を範囲とする乱数を発生させて、接続累積分布関数F’’(x)との交点を求めてパラメータの特定の値を決定し、同時に、かかるパラメータの特定の値が属する元の累積分布関数F(x)又はF’(x)に応じて、使用するテンプレートを選択すればよい。
【0138】
この方法によれば、複数のテンプレートを通じて、確率的にパラメータの特定の値が決定され、また、各テンプレートと、当該テンプレートに属するパラメータの特定の値が決定される確率が、それぞれのテンプレートに付されたスコアに応じたものとなる。なお、テンプレートにスコアを付していない場合には、接続累積分布関数F’’(x)を構成するそれぞれの累積分布関数F(x)に対応する値域の幅を等しいものとすればよい。
【0139】
以上説明した種々の手法により、機械学習モデル決定システム1はテンプレートデータベース201に記憶されたテンプレートを選択し、選択されたテンプレートに関連付けられた評価情報に基づいて評価情報に基づいてパラメータの特定の値を決定し、機械学習モデルを構築して、その学習結果を評価できる。そして、かかる学習結果の評価に基づき、評価情報は繰り返し更新され、そのパラメータの値の決定の正確性は持続的に向上していくものと見込まれる。
【0140】
ところで、先に述べたとおり、多くの場合において、パラメータの値から直接学習結果の評価を予測することは難しい。このことは、機械学習モデル決定システム1によって繰り返し機械学習モデルが構築される際に多数使用されたパラメータの特定の値とその近傍の値については、ある程度、機械学習の結果の評価の合理的な予測がつくが、そうでない値、すなわち、パラメータの特定の値として使用されていないか、使用された頻度が少ない値とその近傍の値については、機械学習の結果の評価が予測できないことを意味する場合が多いと考えられる。
【0141】
そして、上述の通り、機械学習モデル決定システム1は、すでに得られた機械学習の結果に基づいて、高評価が得られたパラメータの特定の値とその近傍の値が決定されやすくなるように評価情報を更新するものであるから、使用されていないか、使用された頻度が少ないパラメータの特定の値とその近傍の値は、機械学習モデルを構築するものとして決定される確率が低下していく。この結果、一定程度以上の高評価が得られるパラメータの特定の値がいったん判明すると、その値と異なるパラメータの値が選択されにくくなると予測される。
【0142】
しかしながら、パラメータの値と機械学習の結果の評価との関係の予測がむつかしい以上、使用されていないか、使用された頻度が少ないパラメータの特定の値とその近傍の値において、機械学習の結果として高評価が得られる可能性は残存する。そのため、機械学習モデル決定システム1は、このようなパラメータの値の領域についても機械学習モデルを作成し、その結果を評価することができる構成を有していることが望ましい。
【0143】
そのため、
図3に示すように、本実施形態に係る機械学習モデル決定システム1は、割合設定部309が設けられている。割合設定部309は、所定の割合を定めるものであり、パラメータ決定部307は、自身が複数決定するパラメータの特定の値の内、かかる所定の割合の分を、機械学習に使用されていないか、または使用された頻度が相対的に低い値を優先的に選択することになる。
【0144】
パラメータ決定部307が、機械学習に使用されていないか、または使用された頻度が相対的に低いパラメータの特定の値を決定する方法は種々のものが考えられるが、
図11に例示する方法であってよい。
図11の(a)は、そのような方法の一の例を説明する図である。この方法では、テンプレート・評価情報選択部204により選択されたテンプレートに関連付けられた評価情報に含まれる確率密度関数P(x)をそのまま使用するのではなく、反転させる。
【0145】
図11の(a)において、点線で示しているのが評価情報に含まれる元の確率密度関数P(x)である。これを、破線で示した確率密度の任意の値を中心として反転させると、実線で示した新たな確率密度関数が得られる。これを元の確率密度関数P(x)に替えて用いると、元の確率密度関数P(x)において選択される確率が低いパラメータの値が選択されやすくなり、元の確率密度関数P(x)において選択される確率が高いパラメータの値は選択されにくくなる。そして、元の確率密度関数P(x)において選択される確率が低いパラメータの値は、パラメータの特定の値として使用されていないか、その頻度が少ない値とその近傍の値であると考えられるため、かかる新たな確率密度関数を用いてパラメータの特定の値を決定することにより、パラメータの特定の値として、機械学習に使用されていないか、または使用された頻度が相対的に低い値を優先的に選択することができる。
【0146】
なお、
図11の(a)において、破線で示した確率密度の任意の値は、固定値として設定してもよいし、元の確率密度関数P(x)の平均値や、最大値に所定の係数(例えば0.5)を乗じた値としてもよい。
【0147】
あるいは、
図11の(b)に示す方法であってもよい。この方法では、
図11の(b)に示した、破線で示した確率密度の任意の値より元の確率密度関数P(x)の値が下回るパラメータxの区間に、均等に選択確率を割り振る方法である。(b)には、割り振られた後の選択確率を実線で示している。このような方法によっても、(a)にて説明した場合と同様の理由により、パラメータの特定の値として、機械学習に使用されていないか、または使用された頻度が相対的に低い値を優先的に選択することができる。また、破線で示した確率密度の任意の値は、固定値として設定してもよいし、元の確率密度関数P(x)の平均値や、最大値に所定の係数(例えば0.3)を乗じた値としてもよい点についても同様である。
【0148】
割合設定部309は、パラメータの特定の値を決定する中で、上説明した、機械学習に使用されていないか、または使用された頻度が相対的に低い値を優先的に選択する方法を使用する割合を設定することになる。ここで、機械学習に使用されていないか、または使用された頻度が相対的に低いパラメータの値は、その学習の結果が高評価となる可能性もあるものの、多くの場合はそうでないと考えられる。一方で、すでに機械学習に使用され、高評価が得られたパラメータの値その近傍の値は、過去の例と同様に高評価が得られる蓋然性が高いと考えられる。そのため、通常は、パラメータの特定の値として、大部分は通常の方法、すなわち、機械学習に使用されていないか、または使用された頻度が相対的に低い値を優先的に選択する方法を使用しない方法により決定し、一部分を機械学習に使用されていないか、または使用された頻度が相対的に低い値を優先的に選択する方法とするのが通常であると考えられる。
【0149】
この割合は、機械学習の結果として高評価が得られる可能性が必ずしも高くない、機械学習に使用されていないか、または使用された頻度が相対的に低い値を優先的に選択する方法にどれだけの計算リソースを割けるかにより定められる。一つの方法として、この割合をユーザ4が自ら人為的に定めるようにしてよい。その場合、ユーザ4は、割合設定部309が有する適宜のGUIを用いて、この割合を例えば、5%のように指定する。
【0150】
別の方法として、この割合は、パラメータ決定部307が決定するパラメータの特定の値の数に応じて設定してもよい。この割合は、決定されるパラメータの特定の値の数が多いほど大きい値となるようにすることが望ましい。具体的な例としては、例えば、決定されるパラメータの特定の値の数が100ならば5%、1000ならば10%、10000ならば20%といった具合である。
【0151】
この理由は、通常の方法によってパラメータの特定の値を決定する場合においても、機械学習に使用されるパラメータの特定の値の数がある程度なければ、十分に高評価が得られる機械学習モデルが得られる確率が低くなると考えられるため、決定するパラメータの特定の値の数が小さい場合には、通常の方法により決定されるパラメータの特定の値を十分確保する必要があるためである。一方で、決定するパラメータの特定の値の数が大きい場合には、通常の方法により十分に高評価が得られる機械学習モデルが得られる確率は高いと考えられるため、パラメータの特定の値として、機械学習に使用されていないか、または使用された頻度が相対的に低い値を優先的に選択する余裕が存在するため、かかる方法により決定されるパラメータの特定の値の数を増やすことができるからである。
【0152】
また、割合設定部309は、上に述べた2通りの方法をユーザ4が選択できるようにしてもよい。すなわち、ユーザ4は、上述の割合を人為的に設定するか、決定するパラメータの特定の値の数に応じて設定するかを任意に選択できてよい。
【0153】
以上説明した構成により、機械学習モデル決定システム1は、複数のユーザ4がクライアント端末3を用いて、それぞれの用途に用いるべく、機械学習モデルを構築すればするほど、好成績が得られる機械学習モデルをより効率的かつ高精度に決定することができるようになっていくことになる。
【0154】
しかしながら、このことは逆の見方をすると、ユーザ4が機械学習モデルの構築とその検証を行っていない場合には、サーバ2の評価情報データベース202に記憶された評価情報の更新は行われず、従って、機械学習モデル決定システム1による機械学習モデルの構築の効率及び精度に変化はないこととなる。その場合には、クライアント端末3とサーバ4間の通信もなされず、サーバ2は、少なくとも機械学習モデル決定システム1に関して言えば、特に実行すべき情報処理は存在しないことになる。
【0155】
そのため、サーバ2は、自身が行うべき処理の負荷が小さいとき、すなわち、演算リソースが余っている場合に、かかる演算リソースを活用して、ユーザ2及びクライアント端末3を介することなく、サーバ2単独で評価情報を更新する構成を有していてよい。
【0156】
図12は、単独で評価情報を更新する構成を有するサーバ2の概略の構成を示す機能ブロック図である。ここで、テンプレートデータベース201、評価記述データベース202、及び評価基準更新部203は、
図3に示した機械学習モデル決定システム1において、サーバ2を構成するものとして示したものと同一のものであり、すでに説明したとおりである。
【0157】
サーバ2はさらに、リソース検出部205を有している。このリソース検出部205は、サーバ2の余剰演算リソースを検出するものであり、サーバ2の負荷があらかじめ設定した閾値を下回っており、サーバ2単独で評価情報を更新するに足る演算処理の余裕があることを検出する。
【0158】
リソース検出部205が、サーバ2に十分な演算リソースがあることを検出すると、サーバ側テンプレート・評価情報決定部206が、テンプレートデータベース201に記憶されたテンプレートのいずれかを決定すると同時に、決定されたテンプレートに対応する評価情報を決定する。この決定において選択されるテンプレートは、後述する共通教師データ及び共通検証データが用意されているテンプレートである。該当するテンプレートが複数存在する場合には、確率的に、又は順番にテンプレートを選択してよい。
【0159】
サーバ側パラメータ決定部212は、選択された評価基準に基づいて、パラメータの特定の値を決定する。このサーバ側パラメータ決定部212は、先に説明した、クライアント端末3のパラメータ決定部307と同等の機能をもち、同一の動作を行う。
【0160】
選択されたテンプレート及び決定されたパラメータの特定の値に基づいて、サーバ側機械学習エンジン207の学習部208において機械学習モデルが構築される。そして、サーバ2の共通教師データ記憶部210に、あらかじめ用意され記憶された共通教師データにより、機械学習が行われる。
【0161】
共通教師データは、単独でなく、複数の学習用データを含むものであってよく、選択されたテンプレートを用いて構築された機械学習モデルに適したものが選択される。適した学習データが複数存在する場合には、それらのうちの1セットを任意に選択すればよい。
【0162】
学習がなされた機械学習モデルは、サーバ側機械学習エンジン207の評価部209において、サーバ2の共通検証データ記憶部211に、あらかじめ用意され記憶された共通検証データにより、機械学習の結果の評価が行われる。共通検証データについても、単独でなく、複数の検証用データを含むものであってよく、選択されたテンプレートを用いて構築された機械学習モデルに適したものが選択される。
【0163】
ここで説明したサーバ側機械学習エンジン207と学習部208、評価部209は、先に説明した、クライアント端末3の機械学習エンジン303、学習部301及び302と同等の機能をもち、同一の動作を行うものである。また、共通教師データ及び共通検証データは、サーバ2の管理者により用意されてもよいし、機械学習モデル決定システム1を利用するユーザ4の許可を得て、その特定の用途に適した機械学習モデルを得るために使用した特定の教師データ及び特定の検証データを、共通教師データ及び共通検証データとして用いるようにしてもよい。その際、本実施形態に係る機械学習モデル決定システム1においては、共通教師データ記憶部210及び共通検証データ記憶部211に記憶された共通教師データ及び共通検証データにはユーザ4はアクセスすることができず、あるユーザ4により提供された共通教師データ及び共通検証データを、他のユーザ4が入手することはできないようになっている。
【0164】
評価部209により得られた機械学習の結果の評価は、評価基準更新部203において使用され、評価基準データベース202に記憶された評価基準の更新に用いられる。
【0165】
以上の説明より明らかなように、
図12に示したサーバ2では、
図3において示した構成にてサーバ2とクライアント端末3が互いに通信することにより行っていた、テンプレート及び評価情報の選択、パラメータの特定の値の決定、機械学習モデルの構築と学習、学習結果の評価及び、学習結果の評価に基づく評価情報の更新の一連の処理を、サーバ2単独で実施することができ、かかる一連の処理は、サーバ2の演算リソースに余剰がある場合に、その余剰を活用してなされる。
【0166】
サーバ2をかかる構成とすることで、評価情報の更新のためにより演算性能が高いコンピュータを用意するなどの追加のコストをかけることなく、また、サーバ2の通常の情報処理に影響を及ぼすことなく、余剰の演算リソースを有効利用して評価情報を更新し、機械学習モデルの構築及び選択をより効率的かつ高精度に実施できるようになる。
【0167】
ところで、以上の説明においては、クライアント端末3の機械学習エンジン303の評価部302及び、サーバ2のサーバ側機械学習エンジン207の評価部209における評価の例として、検証データ(サーバ側機械学習エンジン207の評価部209の場合、共通検証データ)に対する正解率をそのまま用いていた。
【0168】
これに対し、評価部302及び評価部209における機械学習の結果の評価として、構築された機械学習モデルの演算や推論の負荷を考慮した指標を用いるようにしてもよい。
【0169】
機械学習の結果の評価に演算や推論の負荷を考慮する理由は次の通りである。すなわち、ユーザ4が特定の用途に機械学習モデルを用いる際に、十分な演算能力を有するコンピュータを用意できるのであれば、単純に、かかる機械学習モデルにより得られる結果の精度が高いほうが良いと考えられる。この場合、機械学習の結果の評価に演算や推論の負荷を考慮する必要はさほどない。
【0170】
しかしながら、コンピュータの演算能力は、コストや、コンピュータの設置条件などの種々の条件とのトレードオフの関係にあることが多く、ユーザ4の想定する用途によっては、必ずしも十分な演算能力を有するコンピュータが利用できるとは限らない。
【0171】
また、機械学習の結果に影響を及ぼすパラメータの中には、ニューラルネットワークの隠れ層の層数や各層のノード数のように、最終的に得られた機械学習モデルの演算や推論の負荷に影響を与えるものが存在する。その結果、機械学習モデル決定システム1により構築され学習される機械学習モデルの中には、結果の精度が最もよいが演算や推論の負荷の大きな機械学習モデルと、結果の精度はやや劣るが演算や推論の負荷の小さな機械学習モデルの両方が含まれる場合が想定される。
【0172】
このとき、結果の精度が、ユーザ4の想定する用途に照らし、両モデルにおいて実用上の差異をもたらさない場合には、より演算や推論の負荷の小さな機械学習モデルのほうが総合的には優れていると判断される場合が有り得る。このような場合には、機械学習の結果の評価に演算や推論の負荷を考慮した指標を用いることが適切となると考えられる。
【0173】
そのような指標Iの例としては、例えば、機械学習の結果の精度に関する指標(例えば検証データに対する正解率)をa、構築された機械学習モデルの演算や推論の負荷をLとし、重み係数をm,nとして、
【0174】
【0175】
また、機械学習の結果の評価の方法は、機械学習モデルを利用しようとする用途に応じて異なる可能性がある。そのため、評価部302及び評価部209における機械学習の結果の評価の指標として、単一のものを用いるのではなく、テンプレート毎に異なった評価の指標を用いるようにしてもよい。
【符号の説明】
【0176】
1 機械学習モデル決定システム、2 サーバ、3 クライアント端末、4 ユーザ、201 テンプレートデータベース、202 評価情報データベース、203 評価情報更新部、204 テンプレート・評価情報選択部、205 リソース検出部、206 サーバ側テンプレート・評価情報決定部、207 サーバ側機械学習エンジン、208 学習部、209 評価部、210 共通教師データ記憶部、211 共通検証データ記憶部、212 サーバ側パラメータ決定部、301 学習部、302 評価部、303 機械学習エンジン、304 教師データ入力部、305 検証データ入力部、306 条件入力部、307 パラメータ決定部、308 パラメータ指定部、309 割合設定部、310 モデル決定部、501 CPU、502 RAM、503 外部記憶装置、504 GC、505 入力デバイス、506 I/O、507 データバス、508 並列演算器。