(57)【要約】  バージョン管理部（１７）が、データセット、学習済みＭＬモデル、学習済みＭＬモデルの評価結果を１つの版の学習履歴情報として複数の版の学習履歴情報を記憶して管理する。そして、フロントエンド部（１１）が、複数の版のうちの１つの版の選択指示をユーザから受け付けると、アセット管理部（１６）が、指定された版の学習履歴情報をバージョン管理部（１７）から取得して、版情報記憶部（１５）の情報を取得した版の学習履歴情報で入れ替える。そして、フローエディタ（１２）が、入れ替えられた版の学習履歴情報に基づいてフロー図を表示装置に表示する。
2020157939.tif 000002
【特許請求の範囲】
【請求項１】
学習済み学習モデルの作成及び評価に用いられたデータセットと、該学習済み学習モデル及び該学習済み学習モデルの評価結果とを含めた学習履歴情報を版数管理する版管理部と、
版数毎の前記学習履歴情報を記憶する記憶部と、
前記版管理部が管理する複数の版のうちの１つの版の指定を受け付ける受付部と、
前記受付部により受け付けられた１つの版に含まれる学習履歴情報を前記記憶部から取得して該学習履歴情報を表示装置に出力する出力部と
を有することを特徴とする情報処理装置。
【請求項２】
前記受付部は、前記複数の版の学習履歴情報を表示装置にグラフ表示させ、該グラフ表示における複数の版のうち１の版のユーザによる選択指示を受け付け、受け付けられた該版の学習履歴情報を表示装置に表示させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記受付部は、前記評価結果に含まれる精度の情報を日付に対応付けて前記複数の版について前記表示装置にグラフ表示させることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記受付部は、前記評価結果に含まれる精度の情報をエポック数に対応付けて前記複数の版について前記表示装置にグラフ表示させることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記版管理部は、前記学習履歴情報を含むフロー図の情報をさらに管理し、
前記出力部は、前記フロー図を表示装置に出力することを特徴とする請求項２、３又は４に記載の情報処理装置。
【請求項６】
前記受付部は、前記フロー図において実行履歴の表示が選択されると前記複数の版の学習履歴情報を表示装置にグラフ表示させることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記学習モデルの実行の際にデータ蓄積部から前記データセットを取得する取得部をさらに有することを特徴とする請求項１〜４のいずれか１つに記載の情報処理装置。
【請求項８】
前記取得部は、前記データ蓄積部が記憶するデータセットの一部をキャッシュし、キャッシュしたデータセットと該データセットの版の情報とを対応付けて管理を行うデータ版管理装置を介して、前記データセット及び対応付けられた版の情報を取得し、
前記版管理部は、前記データセットを対応付けられた版の情報を用いて管理することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
学習モデルを使用して学習を実行した学習履歴を管理する学習履歴管理システムであって、
前記学習モデルの作成及び評価に用いられるデータセットを記憶するデータ蓄積部と、
学習履歴情報を管理する管理装置と、を備え、
前記管理装置は、
前記学習モデルの実行の際に前記データ蓄積部から前記データセットを取得する取得部と、
学習済み学習モデルの作成及び評価に用いられたデータセットと、該学習済み学習モデル及び該学習済み学習モデルの評価結果とを含めた学習履歴情報を版数管理する版管理部と、
版数毎の前記学習履歴情報を記憶する記憶部と、
前記版管理部が管理する複数の版のうちの１つの版の指定を受け付ける受付部と、
前記受付部により受け付けられた１つの版に含まれる学習履歴情報を前記記憶部から取得して該学習履歴情報を表示装置に出力する出力部と、
を有することを特徴とする学習履歴管理システム。
【請求項１０】
前記受付部は、前記複数の版の学習履歴情報を表示装置にグラフ表示させ、該グラフ表示における複数の版のうち１の版のユーザによる選択指示を受け付け、受け付けられた該版の学習履歴情報を表示装置に表示させることを特徴とする請求項９に記載の学習履歴管理システム。
【請求項１１】
前記版管理部は、前記学習履歴情報を含むフロー図の情報をさらに管理し、
前記出力部は、前記フロー図を表示装置に出力することを特徴とする請求項９又は１０に記載の学習履歴管理システム。
【請求項１２】
コンピュータに、
学習済み学習モデルの作成及び評価に用いられるデータセットと、該学習済み学習モデル及び該学習済み学習モデルの評価結果とを含めた学習履歴情報を版数毎に記憶部に記憶して管理し、
前記記憶部が記憶する複数の版のうちの１つの版の指定を受け付け、
受け付けた１つの版に含まれる学習履歴情報を前記記憶部から取得して該学習履歴情報を表示装置に出力する
処理を実行させることを特徴とする学習履歴管理プログラム。
【請求項１３】
前記１つの版の指定を受け付ける処理は、前記複数の版の学習履歴情報を表示装置にグラフ表示させ、該グラフ表示における複数の版のうち１の版のユーザによる選択指示を受け付け、受け付けられた該版の学習履歴情報を表示装置に表示させることを特徴とする請求項１２に記載の学習履歴管理プログラム。
【請求項１４】
前記管理する処理は、前記学習履歴情報を含むフロー図の情報をさらに管理し、
前記出力する処理は、前記フロー図を表示装置に出力することを特徴とする請求項１２又は１３に記載の学習履歴管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、学習履歴管理システム及び学習履歴管理プログラムに関する。
【背景技術】
【０００２】
ＡＩ開発では、データセットと学習モデルを用いた学習、学習済みモデルの検証及び評価等が行われる。図２１は、ＡＩ（Artificial  Intelligence）開発のフローの例を示す図である。図２１に示すように、ＡＩ開発では、まず、データセットに対して前処理が行われ、データセットが学習用と検証及び評価用とに分割される。前処理では、データセットに対してラベリング、アノテーション、形式変換等が行われる。ここで、ラベリングとは、データに正解を付与することである。アノテーションとは、データに意味づけを与えることであり、例えば、人の顔の画像に目、鼻、口の位置を付与することである。形式変換とは、データの形式を変換することである。【０００３】
また、ＡＩ開発では、学習に用いられるＭＬ（Machine  Learning）モデルの定義が行われる。ＭＬモデルとしては、例えば、ＤＮＮ（Deep  Neural  Network）、ＣＮＮ（Convolutional  Neural  Network）、ＲＮＮ（Recursive  Neural  Network）、Ｕ−ｎｅｔ、Ａｕｔｏ  Ｅｎｃｏｄｅｒ、ＧＡＮ、統計的モデル等がある。そして、定義されたＭＬモデルと学習用のデータセットを用いて学習が行われ、学習済みＭＬモデルが作成される。【０００４】
そして、学習済みＭＬモデルと検証及び評価用のデータセットとハイパーパラメータを用いて学習済みＭＬモデルの検証及び評価が行われ、学習済みＭＬモデルの評価結果が出力される。学習済みＭＬモデルの検証及び評価では、ハイパーパラメータを変化させた最適化が行われる。ここで、ハイパーパラメータとは、機械学習において人間によるチューニングが必要なパラメータであり、バッチサイズ、エポック数、プーリング層のサイズ、畳み込み層のパラメータ、活性化層関数等がある。【０００５】
バッチサイズは、ＮＮ（Neural  Network）において１回の学習に用いられるデータのサイズである。データセットは複数のサブセットに分割され、サブセットを用いて１回の学習が行われる。エポック数は、ＮＮにおいて、Ｎ個のサブセットを用いてＮ回学習を行うことを繰り返す数である。【０００６】
プーリング層は、ＣＮＮにおいてレイヤを縮小するレイヤである。畳み込み層は、ＣＮＮにおいて畳み込みを行う層である。畳み込み層のパラメータには、サイズ、ストライド、パディング数、層数がある。サイズは、畳み込み層のサイズである。ストライドは、フィルタを移動する数である。パディング数は、周辺をゼロで埋める数である。層数は、ＣＮＮの層の数である。活性化層関数は、活性化層の関数であり、例えばランプ関数である。【０００７】
前処理、モデル定義、学習、検証及び評価は、スクリプトが実行されることにより行われる。ここで、スクリプトは、簡易なプログラムである。スクリプトの作成には、例えばｐｙｔｈｏｎ（登録商標、以下同様）が用いられる。【０００８】
なお、従来技術として、オブジェクトライブラリ管理システム、グラフィカルユーザインタフェース、分散分析モジュールを用いて機械学習モデルのトレーニング及びテストを管理するシステムがある。【０００９】
また、複数モデルのニューラルネットワークによる学習結果を比較し、学習結果に係る比較情報をグラフで提示することで、ニューラルネットワークの開発効率を向上させる従来技術がある。【００１０】
また、従来技術として、データソース、統計、特徴処理レシピ、モデル、及びエイリアス等のいくつかのエンティティタイプ上の様々な動作のためのプログラム的インタフェースを実装する機械学習サービスがある。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特表２０１８−５１４８４０号公報
【特許文献２】国際公開第２０１７／１４１５１７号
【特許文献３】特表２０１７−５２４１８３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ＡＩ開発では、スクリプト、ＭＬモデル、ハイパーパラメータ等を変えながら学習と、検証及び評価とが繰り返される。このため、スクリプト、ＭＬモデル、ハイパーパラメータ、入力データセット、学習済みＭＬモデル、精度及び評価結果、実行環境等の１つの組み合わせを１つの版として版数管理する必要がある。しかしながら、これらのアセットは個別に管理されるため、アセットの組み合わせを版として版数管理することができない。【００１３】
例えば、スクリプト、ＭＬモデルの版はＧｉｔ等により管理される。ハイパーパラメータ、学習済みモデルの版はＭＬｆｌｏｗ（Machine  Learning  Data  Flow）、ｃｏｍｅｔ等により管理される。実行環境はｃｏｎｄａ（登録商標、以下同様）、ｐｙｅｎｖ等により管理される。【００１４】
アセットを個別に管理すると、以前に行ったアセットの組み合わせを再度実現する場合に、多くの時間を要するという問題がある。また、１つの版を流用する際にも多くの時間を要する。【００１５】
本発明は、１つの側面では、以前に行った学習の再現を簡単に行うことを目的とする。
【課題を解決するための手段】
【００１６】
１つの態様では、情報処理装置は、版管理部と記憶部と受付部と出力部とを有する。前記版管理部は、学習済み学習モデルの作成及び評価に用いられたデータセットと、該学習済み学習モデル及び該学習済み学習モデルの評価結果とを含めた学習履歴情報を版数管理する。前記記憶部は、版数毎の前記学習履歴情報を記憶する。前記受付部は、前記版管理部が管理する複数の版のうちの１つの版の指定を受け付ける。前記出力部は、前記受付部により受け付けられた１つの版に含まれる学習履歴情報を前記記憶部から取得して該学習履歴情報を表示装置に出力する。
【発明の効果】
【００１７】
１つの側面では、本発明は、以前に行った学習の再現を簡単に行うことができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、実施例１に係るＡＩ開発管理装置によるアセット管理を説明するための図である。
【図２】図２は、他の可視化例を示す図である。
【図３】図３は、特定の版の選択例を示す図である。
【図４】図４は、実施例１に係るＡＩ開発管理装置の機能構成を示す図である。
【図５】図５は、フローの編集画面の一例を示す図である。
【図６】図６は、図５に示したフローの一部を拡大した図である。
【図７】図７は、スクリプト編集画面の一例を示す図である。
【図８】図８は、実行履歴の表示画面の一例を示す図である。
【図９】図９は、版の選択を示す図である。
【図１０】図１０は、選択された版のフローを表示する画面の例を示す図である。
【図１１】図１１は、版情報記憶部が記憶する項目の一例を示す図である。
【図１２】図１２は、版の枝分かれを説明するための図である。
【図１３】図１３は、ＡＩ開発管理装置によるフロー実行処理の手順を示すフローチャートである。
【図１４】図１４は、ＡＩ開発管理装置による版変更処理の手順を示すフローチャートである。
【図１５】図１５は、フロー図を用いないＡＩ開発管理装置のスクリプト編集画面の一例を示す図である。
【図１６】図１６は、実施例２に係るＡＩ開発管理装置の機能構成を示す図である。
【図１７】図１７は、実施例１及び２に係るＡＩ開発管理プログラムを実行するコンピュータのハードウェア構成を示す図である。
【図１８】図１８は、データ利活用システムの構成を示す図である。
【図１９】図１９は、同じデータの利用を説明するための図である。
【図２０】図２０は、データ版管理装置を説明するための図である。
【図２１】図２１は、ＡＩ開発のフローの例を示す図である。
【発明を実施するための形態】
【００１９】
以下に、本願の開示する情報処理装置、学習履歴管理システム及び学習履歴管理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例１】
【００２０】
まず、実施例１に係るＡＩ開発管理装置によるアセット管理について説明する。図１は、実施例１に係るＡＩ開発管理装置によるアセット管理を説明するための図である。図１に示すように、実施例１に係るＡＩ開発管理装置は、アセットの１つの組み合せを１つのフローに紐づけて１つの版として管理する。【００２１】
版に関する情報には、ｉｄと、日付又は日時と、データセットと、スクリプトと、評価結果と、学習済みＭＬモデルと、ハイパーパラメータ等が含まれる。ここで、ｉｄは、版を識別する番号である。日付又は日時は、フローが実行された年月日又は年月日時である。なお、「フローを実行する」とは、フローに含まれるスクリプトを実行することである。【００２２】
図１では、例えば、「００１０」で識別される版については、データセット＃１とデータセット＃２を用いて、ハイパーパラメータのａｌｐｈａを０．５として、フローの実行が２０１８年９月２１日に行われた。その際の実行環境としては、ｐｙｔｈｏｎ版数が３．６．５であり、ライブラリ（ｌｉｂ）版数がｓｃｉｋｉｔ−ｌｅａｒｎ０．１９．１である。評価結果として、予測値と正解値のｍｓｅ（Mean  Square  Error）は０．９であり、ｒｍｓｅ（Root  Mean  Squared  Error）は０．８である。【００２３】
また、実施例１に係るＡＩ開発管理装置は、複数の版について評価結果をグラフ等で可視化する。図１では、各版の精度が実行日時に対応付けて表示される。ここで、精度とは、評価結果のうちの１つであり、例えばｍｓｅである。【００２４】
図２は、他の可視化例を示す図である。図２（ａ）では、２つの精度が実行日時に対応付けて表示される。図２（ｂ）では、ロス（ｌｏｓｓ）がエポック数に対応付けて表示される。ここで、ロスは、予測値と正解値の誤差である。また、フロー＃１及びフロー＃２で表される２つのフロー（版）が表示される。各フローについて、学習時のロス（ｔｒａｉｎ  ｌｏｓｓ）と検証及び評価時のロス（ｖａｌ  ｌｏｓｓ）とが表示される。この例では、学習時にも評価が行われる。【００２５】
ユーザは、グラフ表示から特定の版を選択することで、過去に検証及び評価を行った学習済みＭＬを再利用することができる。図３は、特定の版の選択例を示す図である。図３では、９／１８に１回目のフロー実行が行われ、９／１９に２回目のフロー実行が行われている。９／２０に実行されたフローのうち最初に実行されたフロー（１番精度が良かったときのフロー）が選択され、選択されたフローが表示される。ユーザは、表示されたフローに基づいて新たなフローを作成して実行することができる。【００２６】
次に、実施例１に係るＡＩ開発管理装置の機能構成について説明する。図４は、実施例１に係るＡＩ開発管理装置の機能構成を示す図である。図４に示すように、実施例１に係るＡＩ開発管理装置１は、フロントエンド部１１と、フローエディタ１２と、エディタ１３と、フロー実行エンジン１４と、版情報記憶部１５と、アセット管理部１６と、バージョン管理部１７とを有する。【００２７】
フロントエンド部１１は、ユーザとの対話に関する処理を行う。例えば、フロントエンド部１１は、ユーザからフローの作成指示及び編集指示を受け付けてフローの作成指示及び編集指示をフローエディタ１２に渡す。また、フロントエンド部１１は、フローエディタ１２の指示に基づいてフローの作成画面及び編集画面を表示装置に表示する。【００２８】
図５は、フローの編集画面の一例を示す図である。図５に示すように、ユーザは、スクリプトと各スクリプトの入出力ファイルを画面に配置し、各スクリプトと入出力ファイルを線で結ぶことによってフローを作成する。入出力ファイルは、データセット、ＭＬモデル、学習済みＭＬモデル、学習済みＭＬモデルの評価結果、ハイパーパラメータ等である。【００２９】
ユーザは、フロー編集画面においてＲｕｎボタン２０を押下することでフローを実行することができる。ユーザが、Ｒｕｎボタン２０を押下すると、フロントエンド部１１は、フローエディタ１２にＲｕｎボタン２０の押下を通知する。フローエディタ１２は、Ｒｕｎボタン２０の押下を通知されると、フロー実行エンジン１４にフローの実行を指示する。【００３０】
また、ユーザは、フロー編集画面からスクリプトの編集や確認と実行履歴の確認を行うことができる。図６は、図５に示したフローの一部を拡大した図である。図６に示すように、スクリプトを示すスクリプトシンボル２１には、スクリプト編集ボタン２２と実行履歴確認ボタン２３が付加される。ユーザは、スクリプト編集ボタン２２を押下することによって、スクリプトの編集や確認を行う。【００３１】
図７は、スクリプト編集画面の一例を示す図である。ユーザがスクリプト編集ボタン２２を押下すると図７に示すスクリプト編集画面が表示される。ユーザは、スクリプト編集画面においてスクリプトの編集を行う。フロントエンド部１１は、ユーザがスクリプト編集ボタン２２を押下するとエディタ１３にスクリプトの編集処理を依頼し、スクリプト編集画面でのユーザの操作情報をエディタ１３に渡す。また、フロントエンド部１１は、エディタ１３の出力をスクリプト編集画面に表示する。【００３２】
スクリプトでは、ユーザはログを取りたい変数を指定する。図７では、一例として、ハイパーパラメータのバッチサイズ（ｂａｔｃｈ＿ｓｉｚｕ）がログとして取られる。【００３３】
図８は、実行履歴の表示画面の一例を示す図である。ユーザが実行履歴確認ボタン２３を押下すると図８に示す実行履歴の表示画面に遷移する。図８に示すように、実行履歴の表示画面には、実行履歴を示す表３１と評価結果を示すグラフ３２が表示される。【００３４】
実行履歴を示す表３１には、ＲＵＮ−ＩＮＦＯと、ＤＡＴＡＳＥＴと、ＳＯＵＲＣＥと、ＰＡＲＡＭＥＴＥＲと、ＭＥＴＲＩＣＳとが含まれる。ＲＵＮ−ＩＮＦＯは、実行を識別する情報である。ＲＵＮ−ＩＮＦＯには、ＲＵＮ−ＩＤとＳＴＡＲＴ−ＴＩＭＥが含まれる。ＲＵＮ−ＩＤは、実行を識別する識別子である。ＳＴＡＲＴ−ＴＩＭＥは、実行開始時刻である。【００３５】
ＤＡＴＡＳＥＴは、入力されたデータセットのファイル名である。ＳＯＵＲＣＥは、スクリプトのファイル名である。ＰＡＲＡＭＥＴＥＲは、ハイパーパラメータとデータセットの編集パラメータである。データセットの編集パラメータには、例えば、外れ値を除外するか否か、空白を０埋めするか否か、画像編集関連のパラメータ、音声のフーリエ変換関連のパラメータがある。ＭＥＴＲＩＣＳは、評価結果である。【００３６】
例えば、「１ｆ８３０ｄ」で識別されるフロー実行は、「２：２４：５２」に開始され、「ａａａ．ｂｂｂ」がデータセットのファイルとして用いられ、「ｄｄｄ．ｅｅｅ」がスクリプトのファイルとして用いられた。また、ハイパーパラメータとしては「ａｌｐｈａ＝０．５」、「ｌ１＿ｒａｔｉｏ＝０．５」が用いられ、評価結果として「ｍａｅ（Mean  Absolute  Error）＝０．３２１」、「ｒｍｓｅ＝０．５５８」が得られた。【００３７】
ユーザは、実行履歴の表示画面から版を選択することで以前の版に戻すことができる。図９は、版の選択を示す図である。図９に示すように、ユーザは、実行履歴を示す表３１の特定の行を例えばマウスクリックにより選択することで、特定の版に戻すことができる。あるいは、ユーザは、評価結果を示すグラフ３２の特定の値を例えばマウスクリックにより選択することで、特定の版に戻すことができる。【００３８】
ユーザにより特定の版が選択されると、フロントエンド部１１は、ユーザの操作情報をアセット管理部１６に渡す。また、フロントエンド部１１は、アセット管理部１６の処理に基づいて、選択された版のフローを表示する。図１０は、選択された版のフローを表示する画面の例を示す図である。ユーザは、表示された画面から改めてフローやスクリプトの編集を行うことができる。【００３９】
図４に戻って、フローエディタ１２は、フロー編集画面でのユーザの操作に基づいてフローを編集する処理を行い、編集したフローの情報を版情報記憶部１５に格納する。また、フローエディタ１２は、アセット管理部１６により版情報記憶部１５の情報が入れ替えられた場合に、入れ替えられた情報に基づいてフロー図をフロントエンド部１１に表示させる。【００４０】
エディタ１３は、スクリプト編集画面でのユーザの操作に基づいてスクリプトを編集する処理を行い、編集したスクリプトの情報を版情報記憶部１５に格納する。【００４１】
フロー実行エンジン１４は、フローを実行し、前処理と、モデル定義と、学習と、検証及び評価とを行う。フロー実行エンジン１４は、スクリプトにおいてログ取得対象として指定された変数の値を版情報記憶部１５に格納する。ログ取得対象には、ハイパーパラメータを含むパラメータ、評価結果等がある。【００４２】
版情報記憶部１５は、実行対象の版に関する情報を記憶する。図１１は、版情報記憶部１５が記憶する項目の一例を示す図である。図１１に示すように、版情報記憶部１５は、ｆｌｏｗと、ｄａｔａと、ｎｏｔｅｓと、ｌｏｇとを記憶する。【００４３】
ｆｌｏｗは、フロー図に関する情報である。ｄａｔａは、データセットの情報である。ｎｏｔｅｓは、スクリプトの情報である。ｌｏｇは、ノート（スクリプト）にログとして記述された情報である。ｌｏｇはノート毎の情報である。例えば、１つのノート「ｎｏｔｅＡ」の情報としては、ｐａｒａ、ｍｅｔｒｉｃｓ、ａｒｔｉｆａｃｔｓ、ｇｒａｐｈ−ｒｅｓｕｌｔがある。【００４４】
ｐａｒａは、ハイパーパラメータを含むパラメータの情報である。ｍｅｔｒｉｃｓは、ＭＬモデルの評価結果の情報である。ａｒｔｉｆａｃｔｓは、ＭＬモデルの情報である。ｇｒａｐｈ−ｒｅｓｕｌｔは、評価結果のグラフの情報である。ｇｒａｐｈ−ｒｅｓｕｌｔには、最初の版から編集中の版までのＭＬモデルの評価結果が含まれる。【００４５】
アセット管理部１６は、版情報記憶部１５が記憶する情報をバージョン管理部１７にコミットすることで新たな版の情報としてバージョン管理部１７に記憶させる。また、アセット管理部１６は、図８に例示した実行履歴の表示画面をフロントエンド部１１に表示させる。また、アセット管理部１６は、ユーザの版選択に対応して、選択された版の情報をバージョン管理部１７から取得し、取得した版の情報で版情報記憶部１５が記憶する版の情報を入れ替える。【００４６】
バージョン管理部１７は、版情報記憶部１５が記憶する情報を１つの版の学習履歴情報として複数の版の学習履歴情報を記憶し、複数の版の学習履歴情報を管理する。【００４７】
なお、ＡＩ開発管理装置１は、データセット、スクリプト、ログ等をそれぞれ別に版管理し、ｄａｔａ、ｎｏｔｅｓ、ｌｏｇを版数の情報としてもよい。【００４８】
また、バージョン管理部１７は、版の枝分かれを管理する。図１２は、版の枝分かれを説明するための図である。図１２において、○内の数字は版数を表す。図１２に示すように、版「１」、版「２」、版「３」、版「４」、版「５」の順で開発が行われた後、版「３」に戻され、版「４」とは異なる版が作成されて、バージョン管理部１７にコミットされると、版「３」から枝分かれした版「６」が作成される。このように、バージョン管理部１７は、版の枝分かれを管理することによって、以前の開発順路に沿った版の情報を記憶する。したがって、ユーザは、過去のいずれの状態にも簡単に状態を戻すことができる。【００４９】
次に、ＡＩ開発管理装置１によるフロー実行処理の手順について説明する。図１３は、ＡＩ開発管理装置１によるフロー実行処理の手順を示すフローチャートである。図１３に示すように、ＡＩ開発管理装置１は、ユーザの編集操作に基づいて、フロー、ノートの編集処理を行う（ステップＳ１）。【００５０】
そして、ＡＩ開発管理装置１は、ユーザによるＲｕｎボタン２０の押下を受け付け（ステップＳ２）、フローを実行する（ステップＳ３）。そして、ＡＩ開発管理装置１は、ハイパーパラメータを含むパラメータの情報、ＭＬモデルの評価結果の情報、ＭＬモデルの情報を版情報記憶部１５に格納する（ステップＳ４）。【００５１】
そして、ＡＩ開発管理装置１は、評価結果を版情報記憶部１５のｇｒａｐｈ＿ｒｅｓｕｌｔに追記し（ステップＳ５）、バージョン管理部１７にコミットする（ステップＳ６）。【００５２】
このように、ＡＩ開発管理装置１は、版の情報を版情報記憶部１５に記憶し、版情報記憶部１５の情報をバージョン管理部１７にコミットするので、複数の版の情報を管理することができる。【００５３】
次に、ＡＩ開発管理装置１による版変更処理の手順について説明する。図１４は、ＡＩ開発管理装置１による版変更処理の手順を示すフローチャートである。図１４に示すように、ＡＩ開発管理装置１は、ユーザが実行履歴確認ボタン２３を押下すると、実行履歴を表示する（ステップＳ１１）。【００５４】
そして、ＡＩ開発管理装置１は、ユーザによる版の選択を受け付け（ステップＳ１２）、版を変更する（ステップＳ１３）。版を変更する処理として、ＡＩ開発管理装置１は、版情報記憶部１５が記憶する情報を選択された版の情報に変更し、選択された版のフロー図を表示する。【００５５】
このように、ＡＩ開発管理装置１が版を変更する処理を行うので、ユーザはＡＩ開発の以前の状態に戻って開発をやり直すことができる。【００５６】
上述してきたように、実施例１では、バージョン管理部１７が、フロー図、データセット、スクリプト、パラメータ、ＭＬモデル、学習済みＭＬモデル、学習済みＭＬモデルの評価結果を１つの版の学習履歴情報として複数の版の学習履歴情報を記憶して管理する。そして、フロントエンド部１１が、複数の版のうちの１つの版の指定をユーザから受け付けると、アセット管理部１６が、指定された版の情報をバージョン管理部から取得して、版情報記憶部の情報を取得した版の情報で入れ替える。そして、フローエディタ１２が、入れ替えられた版の情報に基づいてフロー図を表示装置に表示する。したがって、ＡＩ開発管理装置１は、以前に行ったアセットの組み合わせの再現を簡単に行うことができる。【００５７】
また、実施例１では、フロントエンド部１１は、アセット管理部１６の指示に基づいて、評価結果を示すグラフ３２を含む実行履歴の表示画面を表示し、評価結果を示すグラフ３２からユーザによる版の指定を受け付ける。したがって、ユーザは、以前の版を簡単に指定することができる。
【実施例２】
【００５８】
ところで、上記実施例１では、フロー図を用いてＡＩ開発を行う場合について説明したが、フロー図を用いることなくＡＩ開発を行うこともできる。そこで、実施例２では、フロー図を用いない場合について説明する。【００５９】
図１５は、フロー図を用いないＡＩ開発管理装置のスクリプト編集画面の一例を示す図である。図１５に示すように、スクリプト編集画面は、Ｒｕｎボタン２６と実行履歴確認ボタン２７を有する。ユーザは、Ｒｕｎボタン２６を押下することでスクリプトを実行することができる。また、ユーザは、実行履歴確認ボタン２７を押下することで実行履歴の確認と以前の開発状態への移動を行うことができる。【００６０】
図１６は、実施例２に係るＡＩ開発管理装置の機能構成を示す図である。図１６に示すように、実施例２に係るＡＩ開発管理装置４は、フロントエンド部４１と、エディタ４３と、実行エンジン４４と、版情報記憶部４５と、アセット管理部４６と、バージョン管理部４７とを有する。【００６１】
フロントエンド部４１は、ユーザとの対話に関する処理を行う。具体的には、フロントエンド部４１は、ユーザからスクリプト編集依頼を受け付けて、エディタ４３にスクリプトの編集処理を依頼し、スクリプト編集画面でのユーザの操作情報をエディタ４３に渡す。また、フロントエンド部４１は、エディタ４３の出力をスクリプト編集画面に表示する。【００６２】
ユーザが、Ｒｕｎボタン２６を押下すると、フロントエンド部４１は、実行エンジン４４にフローの実行を指示する。ユーザが実行履歴確認ボタン２７を押下すると、フロントエンド部４１は、図８に示した実行履歴の表示画面を表示するための処理を行うようにアセット管理部４６に指示する。【００６３】
エディタ４３は、スクリプト編集画面でのユーザの操作に基づいてスクリプトを編集する処理を行い、編集したスクリプトの情報を版情報記憶部４５に格納する。【００６４】
実行エンジン４４は、スクリプトを実行し、前処理と、モデル定義と、学習と、検証及び評価とを行う。実行エンジン４４は、スクリプトにおいてログ取得対象として指定された変数の値を版情報記憶部４５に格納する。ログ取得対象には、ハイパーパラメータを含むパラメータ、評価結果等がある。【００６５】
版情報記憶部４５は、実行対象の版に関する情報を記憶する。ただし、版情報記憶部４５は、実施例１に係る版情報記憶部１５と異なり、フロー図の情報は記憶しない。【００６６】
アセット管理部４６は、版情報記憶部４５が記憶する情報をバージョン管理部４７にコミットすることで新たな版の情報としてバージョン管理部４７に記憶させる。また、アセット管理部４６は、図８に例示した実行履歴の表示画面をフロントエンド部４１に表示させる。また、アセット管理部４６は、ユーザの版選択に対応して、選択された版の情報をバージョン管理部４７から取得し、取得した版の情報で版情報記憶部４５が記憶する版の情報を入れ替える。【００６７】
バージョン管理部４７は、版情報記憶部４５が記憶する情報を１つの版の学習履歴情報として複数の版の学習履歴情報を記憶し、複数の版の学習履歴情報を管理する。【００６８】
上述してきたように、実施例２では、ＡＩ開発管理装置４はスクリプト編集画面にＲｕｎボタン２６と実行履歴確認ボタン２７を表示するので、ユーザはフロー図を作成することなくＡＩ開発を行うことができる。【００６９】
なお、実施例１及び２では、ＡＩ開発管理装置について説明したが、ＡＩ開発管理装置が有する構成をソフトウェアによって実現することで、同様の機能を有するＡＩ開発管理プログラムを得ることができる。そこで、ＡＩ開発管理プログラムを実行するコンピュータについて説明する。【００７０】
図１７は、実施例１及び２に係るＡＩ開発管理プログラムを実行するコンピュータのハードウェア構成を示す図である。図１７に示すように、コンピュータ５０は、メインメモリ５１と、プロセッサの一例であるＣＰＵ（Central  Processing  Unit）５２と、ＬＡＮ（Local  Area  Network）インタフェース５３と、ＨＤＤ（Hard  Disk  Drive）５４とを有する。また、コンピュータ５０は、スーパーＩＯ（Input  Output）５５と、ＤＶＩ（Digital  Visual  Interface）５６と、ＯＤＤ（Optical  Disk  Drive）５７とを有する。【００７１】
メインメモリ５１は、プログラムやプログラムの実行途中結果等を記憶するメモリである。ＣＰＵ５２は、メインメモリ５１からプログラムを読み出して実行する中央処理装置である。ＣＰＵ５２は、メモリコントローラを有するチップセットを含む。【００７２】
ＬＡＮインタフェース５３は、コンピュータ５０をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。ＨＤＤ５４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ５５は、マウスやキーボード等の入力装置を接続するためのインタフェースである。ＤＶＩ５６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ５７は、ＤＶＤ、ＣＤ−Ｒの読み書きを行う装置である。【００７３】
ＬＡＮインタフェース５３は、ＰＣＩエクスプレス（ＰＣＩｅ）によりＣＰＵ５２に接続され、ＨＤＤ５４及びＯＤＤ５７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ５２に接続される。スーパーＩＯ５５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ５２に接続される。【００７４】
そして、コンピュータ５０において実行されるＡＩ開発管理プログラムは、コンピュータ５０により読み出し可能な記録媒体の一例であるＣＤ−Ｒに記憶され、ＯＤＤ５７によってＣＤ−Ｒから読み出されてコンピュータ５０にインストールされる。あるいは、ＡＩ開発管理プログラムは、ＬＡＮインタフェース５３を介して接続された他のコンピュータシステムのデータベース等に記憶され、これらのデータベースから読み出されてコンピュータ５０にインストールされる。そして、インストールされたＡＩ開発管理プログラムは、ＨＤＤ５４に記憶され、メインメモリ５１に読み出されてＣＰＵ５２によって実行される。【００７５】
また、実施例１及び２では、ＡＩ開発管理装置について説明したが、ＡＩ開発管理装置は、社内に蓄えられたデータやツールの共有を促すデータ利活用システムの一部として機能する。そこで、データ利活用システムについて説明する。【００７６】
図１８は、データ利活用システムの構成を示す図である。図１８に示すように、データ利活用システム６は、ＡＩ開発管理装置１と、データレイク６１と、分析装置６２と、準備装置６３と、取り込み装置６４とを有する。なお、データ利活用システム６は、ＡＩ開発管理装置１の代わりにＡＩ開発管理装置４を有してもよい。【００７７】
データレイク６１は、社内に蓄えられたデータやツールのレポジトリーである。データレイク６１に蓄えられたデータやツールは社内で共有され、活用される。ＡＩ開発管理装置１は、取得部１８を有する。取得部１８は、データセットをデータレイク６１から取得する。【００７８】
分析装置６２は、データレイク６１に蓄積されたデータを分析して分析結果を出力する。準備装置６３は、データの利用に必要なフォーマットの変換やデータの合成等のデータの利用に必要な準備処理を行う。取り込み装置６４は、サイロ化されたデータやオープンデータをデータレイク６１に取り込む。【００７９】
また、ＡＩ開発管理装置１は、複数のＡＩ開発プロジェクトについて、アセット管理を行う。このため、版情報記憶部１５は複数のプロジェクトの情報を記憶し、バージョン管理部１７は、複数のプロジェクトの情報を記憶して管理する。各プロジェクトは、データセットをデータレイク６１からコピーして利用する。このとき、複数のプロジェクトで同じデータを利用する場合がある。【００８０】
図１９は、同じデータの利用を説明するための図である。図１９では、プロジェクトＡとプロジェクトＢが同じデータを利用する。この場合、版情報記憶部１５とバージョン管理部１７は同じデータを複数記憶するため、無駄が生じる。このような無駄をなくすため、データ利活用システム６は、データセットを管理するデータ版管理装置を有してもよい。【００８１】
図２０は、データ版管理装置を説明するための図である。図２０に示すように、データ版管理装置６５は、ＡＩ開発管理装置１が利用するデータをデータレイク６１からスナップショットとして取り出して管理する。ＡＩ開発管理装置１がデータレイク６１に対してデータの読み出しを指示すると、読み出し指示はデータ版管理装置６５に送信される。【００８２】
データ版管理装置６５は、読み出し指示されたデータが自装置にキャッシュされていれば、ＡＩ開発管理装置１にデータに対応する版の情報をデータとともに送信する。一方、読み出し指示されたデータが自装置にキャッシュされていなければ、データ版管理装置６５は、データレイク６１からデータを読み出して、データをキャッシュする。そして、データ版管理装置６５は、キャッシュしたデータに版を対応付けて版の情報をデータとともにＡＩ開発管理装置１に送信する。また、データ版管理装置６５は、ＡＩ開発管理装置１からコミット指示を受け取ると、コミットされたデータを新たな版として管理する。ＡＩ開発管理装置１は、データを記憶する代わりに版の情報を記憶する。【００８３】
このように、データ版管理装置６５を利用することで、ＡＩ開発管理装置１は、同じデータを複数記憶する無駄をなくすことができる。また、ＡＩ開発管理装置１は、データレイク６１に透過的にアクセスすることができる。
【符号の説明】
【００８４】
１，４    ＡＩ開発管理装置
６    データ利活用システム
１１，４１    フロントエンド部
１２    フローエディタ
１３，４３    エディタ
１４    フロー実行エンジン
１５，４５    版情報記憶部
１６，４６    アセット管理部
１７，４７    バージョン管理部
１８    取得部
２０，２６    Ｒｕｎボタン
２１    スクリプトシンボル
２２    スクリプト編集ボタン
２３，２７    実行履歴確認ボタン
３１    実行履歴を示す表
３２    評価結果を示すグラフ
４４    実行エンジン
５０    コンピュータ
５１    メインメモリ
５２    ＣＰＵ
５３    ＬＡＮインタフェース
５４    ＨＤＤ
５５    スーパーＩＯ
５６    ＤＶＩ
５７    ＯＤＤ
６１    データレイク
６２    分析装置
６３    準備装置
６４    取り込み装置
６５    データ版管理装置
【図１】
2020157939.tif 000003
【図２】
2020157939.tif 000004
【図３】
2020157939.tif 000005
【図４】
2020157939.tif 000006
【図５】
2020157939.tif 000007
【図６】
2020157939.tif 000008
【図７】
2020157939.tif 000009
【図８】
2020157939.tif 000010
【図９】
2020157939.tif 000011
【図１０】
2020157939.tif 000012
【図１１】
2020157939.tif 000013
【図１２】
2020157939.tif 000014
【図１３】
2020157939.tif 000015
【図１４】
2020157939.tif 000016
【図１５】
2020157939.tif 000017
【図１６】
2020157939.tif 000018
【図１７】
2020157939.tif 000019
【図１８】
2020157939.tif 000020
【図１９】
2020157939.tif 000021
【図２０】
2020157939.tif 000022
【図２１】
2020157939.tif 000023
【手続補正書】
【提出日】令和3年4月28日(2021.4.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
学習済み学習モデルの作成及び評価に用いられたデータセットと、該学習済み学習モデル及び該学習済み学習モデルの評価結果とを含めた学習履歴情報を版数管理する版管理部と、
版数毎の前記学習履歴情報を記憶する記憶部と、
前記版管理部が管理する複数の版のうちの１つの版の指定を受け付ける受付部と、
前記受付部により受け付けられた１つの版に含まれる学習履歴情報を前記記憶部から取得して該学習履歴情報を表示装置に出力する出力部と
を有することを特徴とする情報処理装置。
【請求項２】
前記受付部は、前記複数の版の学習履歴情報を表示装置にグラフ表示させ、該グラフ表示における複数の版のうち１の版のユーザによる選択指示を受け付け、受け付けられた該版の学習履歴情報を表示装置に表示させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記受付部は、前記評価結果に含まれる精度の情報を日付に対応付けて前記複数の版について前記表示装置にグラフ表示させることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記受付部は、前記評価結果に含まれる精度の情報をエポック数に対応付けて前記複数の版について前記表示装置にグラフ表示させることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記版管理部は、前記学習履歴情報を含むフロー図の情報をさらに管理し、
前記出力部は、前記フロー図を表示装置に出力することを特徴とする請求項２、３又は４に記載の情報処理装置。
【請求項６】
前記受付部は、前記フロー図において実行履歴の表示が選択されると前記複数の版の学習履歴情報を表示装置にグラフ表示させることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記学習モデルの実行の際にデータ蓄積部から前記データセットを取得する取得部をさらに有することを特徴とする請求項１〜４のいずれか１つに記載の情報処理装置。
【請求項８】
前記取得部は、前記データ蓄積部が記憶するデータセットの一部をキャッシュし、キャッシュしたデータセットと該データセットの版の情報とを対応付けて管理を行うデータ版管理装置を介して、前記データセット及び対応付けられた版の情報を取得し、
前記版管理部は、前記データセットを対応付けられた版の情報を用いて管理することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
学習モデルを使用して学習を実行した学習履歴を管理する学習履歴管理システムであって、
前記学習モデルの作成及び評価に用いられるデータセットを記憶するデータ蓄積部と、
学習履歴情報を管理する管理装置と、を備え、
前記管理装置は、
前記学習モデルの実行の際に前記データ蓄積部から前記データセットを取得する取得部と、
学習済み学習モデルの作成及び評価に用いられたデータセットと、該学習済み学習モデル及び該学習済み学習モデルの評価結果とを含めた学習履歴情報を版数管理する版管理部と、
版数毎の前記学習履歴情報を記憶する記憶部と、
前記版管理部が管理する複数の版のうちの１つの版の指定を受け付ける受付部と、
前記受付部により受け付けられた１つの版に含まれる学習履歴情報を前記記憶部から取得して該学習履歴情報を表示装置に出力する出力部と、
を有することを特徴とする学習履歴管理システム。
【請求項１０】
コンピュータに、
学習済み学習モデルの作成及び評価に用いられるデータセットと、該学習済み学習モデル及び該学習済み学習モデルの評価結果とを含めた学習履歴情報を版数毎に記憶部に記憶して管理し、
前記記憶部が記憶する複数の版のうちの１つの版の指定を受け付け、
受け付けた１つの版に含まれる学習履歴情報を前記記憶部から取得して該学習履歴情報を表示装置に出力する
処理を実行させることを特徴とする学習履歴管理プログラム。
【国際調査報告】
2020157939.tif 000024
2020157939.tif 000025