(57)【要約】【課題】機械学習の成果を利用したサービスの迅速な開発を支援することのできるサービス構築装置、サービス構築方法及びサービス構築プログラムを提供する。【解決手段】サービス構築装置１０は、学習条件の設定を行う設定部１２と、学習条件に従って学習された学習済みモデルを取得する学習済みモデル取得部１３と、学習済みモデルをモデルデータベースＭＤＢに登録する登録部１４と、モデルデータベースＭＤＢから特定の学習済みモデルを呼び出す処理を含む１又は複数の処理に対応する１又は複数のブロックの配置を受け付ける配置受付部１５と、１又は複数のブロックに対応する１又は複数の処理が、１又は複数のブロックの配置に応じた順序で実行されるように制御し、予測を行うための入力データに基づいて特定の学習済みモデルにより予測結果が出力されるように制御する処理制御部１６と、を備える。【選択図】図２
2018097671.tif 000002
【特許請求の範囲】
【請求項１】
ユーザより入力された第１学習条件を含む学習条件の設定を行う設定部と、
前記設定部によって設定された学習条件に従って学習された学習済みモデルを取得する学習済みモデル取得部と、
前記学習済みモデル取得部によって取得された学習済みモデルをモデルデータベースに登録する登録部と、
前記モデルデータベースから特定の学習済みモデルを呼び出す処理を含む１又は複数の処理に対応する１又は複数のブロックの配置を受け付ける配置受付部と、
前記１又は複数のブロックに対応する１又は複数の処理が、前記１又は複数のブロックの配置に応じた順序で実行されるように制御する処理制御部と、
を備えるサービス構築装置。
【請求項２】
予め定められた複数の学習タイプのうちから１の学習タイプの選択を受け付けるタイプ受付部をさらに備え、
前記設定部は、前記タイプ受付部により受け付けた前記１の学習タイプに応じて、前記学習条件の設定を行う、
請求項１に記載のサービス構築装置。
【請求項３】
前記設定部は、予め定められた１又は複数のパラメータの数値の設定を前記ユーザから受け付けて、前記第１学習条件の設定を行う、
請求項１又は２に記載のサービス構築装置。
【請求項４】
前記学習を行うための学習用のデータを収集する学習データ収集部をさらに備え、
前記学習データ収集部は、
前記学習用のデータをデータ出力源から継続的に収集する継続取得部と、
前記学習用のデータを一括して収集する一括取得部と、を含む、
請求項１から３のいずれか１項に記載のサービス構築装置。
【請求項５】
前記配置受付部は、前記１又は複数のブロックの直列的な配置を受け付ける、
請求項１から４のいずれか１項に記載のサービス構築装置。
【請求項６】
ユーザより入力された第１学習条件を含む学習条件の設定を行う第１ステップと、
前記第１ステップによって設定された学習条件に従って学習された学習済みモデルを取得する第２ステップと、
前記第２ステップによって取得された学習済みモデルをモデルデータベースに登録する第３ステップと、
前記モデルデータベースから特定の学習済みモデルを呼び出す処理を含む１又は複数の処理に対応する１又は複数のブロックの配置を受け付ける第４ステップと、
前記１又は複数のブロックに対応する１又は複数の処理が、前記１又は複数のブロックの配置に応じた順序で実行されるように制御する第５ステップと、
を含むサービス構築方法。
【請求項７】
コンピュータを、
ユーザより入力された第１学習条件を含む学習条件の設定を行う設定部と、
前記設定部によって設定された学習条件に従って学習された学習済みモデルを取得する学習済みモデル取得部と、
前記学習済みモデル取得部によって取得された学習済みモデルをモデルデータベースに登録する登録部と、
前記モデルデータベースから特定の学習済みモデルを呼び出す処理を含む１又は複数の処理に対応する１又は複数のブロックの配置を受け付ける配置受付部と、
前記１又は複数のブロックに対応する１又は複数の処理が、前記１又は複数のブロックの配置に応じた順序で実行されるように制御する処理制御部と、
として機能させるサービス構築プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス構築装置、サービス構築方法及びサービス構築プログラムに関する。
【背景技術】
【０００２】
近年、コンピュータにタスクを実行させる場合に、コンピュータによって自律的にタスクの実行性能を向上させる機械学習と呼ばれる技術が研究されている。機械学習は、例えば、画像を分類したり、商品の需要予測を行ったりするために用いられている。
【０００３】
例えば、特許文献１には、画像認識に関し、第１の学習処理において学習対象データから複数の学習対象データ群を設定し、第２の学習処理において第１の学習処理とは異なる組み合わせで複数の学習対象データ群を設定して、学習処理部によって複数の学習対象データ群それぞれに対して１単位の認識処理を行って認識処理部の処理パラメータを学習する学習装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１４３３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
機械学習の成果は、タスク（予測を行うための処理）を実行するための学習済みモデルによって提供される場合がある。学習済みモデルは、所定の条件を満たす予測を行うための入力データに対してタスクの実行結果である予測の結果を出力するものであり、例えば、天気や曜日等を含む予測を行うための入力データが入力された場合に、商品需要の予測結果を出力する需要予測モデルが挙げられる。学習済みモデルは、内部的な処理の詳細を把握していない者であっても容易に利用することができ、他のアプリケーションから呼び出されて使用される場合もある。
【０００６】
しかしながら、学習済みモデルを生成するためには、機械学習に関する理論やプログラミング言語に習熟する必要があり、相当の時間を費やして開発にあたる場合があった。また、仮に機械学習に関する理論やプログラミング言語に習熟している場合であっても、タスクをより効率良く高精度で実行する学習済みモデルを生成するためには、どのような因子が影響しているのか分析するために相当の試行錯誤が避けられない場合がある。そのため、機械学習の成果を利用したサービスを行おうとするユーザは、迅速なサービス開発が困難となり、時機を逸するおそれがあった。
【０００７】
そこで、本発明は、機械学習の成果を利用したサービスの迅速な開発を支援することのできるサービス構築装置、サービス構築方法及びサービス構築プログラムを提供する。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るサービス構築装置は、ユーザより入力された第１学習条件を含む学習条件の設定を行う設定部と、設定部によって設定された学習条件に従って学習された学習済みモデルを取得する学習済みモデル取得部と、学習済みモデル取得部によって取得された学習済みモデルをモデルデータベースに登録する登録部と、モデルデータベースから特定の学習済みモデルを呼び出す処理を含む１又は複数の処理に対応する１又は複数のブロックの配置を受け付ける配置受付部と、１又は複数のブロックに対応する１又は複数の処理が、１又は複数のブロックの配置に応じた順序で実行されるように制御する処理制御部と、を備える。
【０００９】
この態様によれば、学習条件の設定と学習済みモデルの確認を繰り返すことで、不可避な試行錯誤を効率的に行うことができる。また、処理に対応するブロックの配置を受け付けることで、学習済みモデルによって実行されるタスクを他の処理と容易に組み合わせることができる。そのため、機械学習の成果を利用したサービスの迅速な開発を支援することができる。
【００１０】
上記態様において、予め定められた複数の学習タイプのうちから１の学習タイプの選択を受け付けるタイプ受付部をさらに備え、設定部は、タイプ受付部により受け付けた１の学習タイプに応じて、学習条件の設定を行ってもよい。
【００１１】
この態様によれば、ユーザは、用意された学習タイプのうちから実行させようとしているタスクに適した学習タイプを容易に見出すことができ、学習タイプの選定に伴う負担を軽減することができる。また、受け付けた学習タイプに応じて学習条件の設定が行われるため、どのような学習条件を定めなければならないのか学習タイプ毎に確認する負担が軽減される。
【００１２】
上記態様において、設定部は、予め定められた１又は複数のパラメータの数値の設定をユーザから受け付けて、第１学習条件の設定を行ってもよい。
【００１３】
この態様によれば、ユーザによって設定可能な学習条件が絞られるため、学習条件の設定変更を行う場合の方向性が明確となり、不可避な試行錯誤を効率的に行うことができる。
【００１４】
上記態様において、学習を行うための学習用のデータを収集する学習データ収集部をさらに備え、学習データ収集部は、学習用のデータをデータ出力源から継続的に収集する継続取得部と、学習用のデータを一括して収集する一括収集部と、を含んでもよい。
【００１５】
この態様によれば、時々刻々と変化する動的なデータを収集することができ、蓄積された統計データ等の静的なデータを一括して収集することができる。ユーザは、収集する学習用のデータのデータ形式に適した方法で学習用のデータの収集を行うことができ、学習用のデータの収集が効率化される。
【００１６】
上記態様において、配置受付部は、１又は複数のブロックの直列的な配置を受け付けてもよい。
【００１７】
この態様によれば、ブロックの接続順序によって処理の流れが表され、ブロックの配置によって処理の大枠を容易に捉えられるようになる。
【００１８】
本発明の一態様に係るサービス構築方法は、ユーザより入力された第１学習条件を含む学習条件の設定を行う第１ステップと、第１ステップによって設定された学習条件に従って学習された学習済みモデルを取得する第２ステップと、第２ステップによって取得された学習済みモデルをモデルデータベースに登録する第３ステップと、モデルデータベースから特定の学習済みモデルを呼び出す処理を含む１又は複数の処理に対応する１又は複数のブロックの配置を受け付ける第４ステップと、１又は複数のブロックに対応する１又は複数の処理が、１又は複数のブロックの配置に応じた順序で実行されるように制御する第５ステップと、を含む。
【００１９】
この態様によれば、学習条件の設定と学習済みモデルの確認を繰り返すことで、不可避な試行錯誤を効率的に行うことができる。また、処理に対応するブロックの配置を受け付けることで、学習済みモデルによって実行されるタスクを他の処理と容易に組み合わせることができる。そのため、機械学習の成果を利用したサービスの迅速な開発を支援することができる。
【００２０】
本発明の一態様に係るサービス構築プログラムは、コンピュータを、ユーザより入力された第１学習条件を含む学習条件の設定を行う設定部と、設定部によって設定された学習条件に従って学習された学習済みモデルを取得する学習済みモデル取得部と、学習済みモデル取得部によって取得された学習済みモデルをモデルデータベースに登録する登録部と、モデルデータベースから特定の学習済みモデルを呼び出す処理を含む１又は複数の処理に対応する１又は複数のブロックの配置を受け付ける配置受付部と、１又は複数のブロックに対応する１又は複数の処理が、１又は複数のブロックの配置に応じた順序で実行されるように制御する処理制御部と、として機能させる。
【００２１】
この態様によれば、学習条件の設定と学習済みモデルの確認を繰り返すことで、不可避な試行錯誤を効率的に行うことができる。また、処理に対応するブロックの配置を受け付けることで、学習済みモデルによって実行されるタスクを他の処理と容易に組み合わせることができる。そのため、機械学習の成果を利用したサービスの迅速な開発を支援することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態に係るサービス構築装置のネットワーク構成図である。
【図２】本発明の実施形態に係るサービス構築装置の機能ブロック図である。
【図３】本発明の実施形態に係るサービス構築装置による学習タイプの選択受付の例を示す図である。
【図４】本発明の実施形態に係るサービス構築装置による第１学習条件の設定の例を示す図である。
【図５】本発明の実施形態に係るサービス構築装置によって実行される学習済みモデル登録処理を示すフローチャートである。
【図６】本発明の実施形態に係るサービス構築装置によるブロックの配置受付の例を示す図である。
【図７】本発明の実施形態に係るサービス構築装置によって実行されるフロー実行処理を示すフローチャートである。
【発明を実施するための形態】
【００２３】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００２４】
図１は、本発明の実施形態に係るサービス構築装置１０のネットワーク構成図である。サービス構築装置１０は、少なくとも演算回路、通信インターフェース及び記憶部を備え、ユーザ端末装置２０から受け付けた入力データに基づいて、サービスの構築を行う。サービスは、機械学習の学習済みモデルを利用した分析処理や予測処理を含む１又は複数の処理により提供される。例えば、サービス構築装置１０は、ユーザ端末装置２０より画像データを受け付けて、画像分類や画像認識等の画像解析結果を、任意のデータベースに登録するサービスを構築する。また、サービス構築装置１０は、ユーザ端末装置２０より音声データを受け付けて、音声解析により音声データをテキストデータに変換し、テキストデータについてキーワード抽出等のテキスト解析を行った結果を所望のデータベースに登録するサービスを構築することもできる。また、サービス構築装置１０は、後述するデータ収集機能部１０ｃにより天気や曜日等のデータを収集し、商品需要の予測結果を任意のデータベースに登録するサービスを構築することもできるし、その他任意のサービスを構築することができる。サービス構築装置１０は、通信ネットワークＮに接続され、ユーザ端末装置２０、学習済みモデル生成装置３１、データ処理装置３２及びセンサ４０と、通信ネットワークＮを介して接続される。
【００２５】
通信ネットワークＮは、有線又は無線の電気通信回線であり、例えばインターネットである。通信ネットワークＮは、ＬＡＮ（Local Area Network）等であってもよい。
【００２６】
ユーザ端末装置２０は、少なくとも演算回路、通信インターフェース、入力部、出力部及び記憶部を備え、ユーザにより操作される装置である。ユーザ端末装置２０は、例えばパーソナルコンピュータやスマートフォンにより構成されてよい。
【００２７】
学習済みモデル生成装置３１は、少なくとも演算回路、通信インターフェース及び記憶部を備え、サービス構築装置１０からの指令に従って、学習を行うための入力データ（学習用のデータ）に基づき学習済みモデルを生成し、出力する。学習済みモデルは、例えば、予測を行うための入力データとして画像データを受け付けて、予測結果データとして画像分類結果や画像認識結果を出力するものである。学習済みモデルの生成は、例えば、用意されたトレーニングデータを再現するように学習モデルを学習させ、学習モデルによる分析性能の優劣を検証データによって検証し、学習モデルを逐次改良していくことによって行われる。学習済みモデル生成装置３１により生成された学習済みモデルは、モデルデータベースＭＤＢに格納される。なお、学習を行うための入力データは、学習用のデータであり、後述するサービス構築装置１０のデータ収集機能部１０ｃにより収集されるものであってよい。
【００２８】
データ処理装置３２は、少なくとも演算回路、通信インターフェース及び記憶部を備え、サービス構築装置１０からの指令に基づいて、学習済みモデルに入力される予測を行うための入力データの処理を行ったり、学習済みモデルにより出力される予測結果データの処理を行ったりする。トレーニングデータ及び検証データは、センサ４０から出力されたセンシングデータや統計データを含む。トレーニングデータ及び検証データは、それぞれ独立に収集されたものであってもよいし、一群のセンシングデータや統計データから選び出されたものであってよい。例えば、一群のセンシングデータや統計データのうちからランダムに選び出した８割のデータをトレーニングデータとして、残り２割のデータを検証データとしてもよい。データ処理装置３２は、学習データデータベースＬＤＢに格納されたデータから必要なデータを抽出したり、整形したり、新たなデータを学習データデータベースＬＤＢに格納したりする。
【００２９】
学習済みモデル生成装置３１、データ処理装置３２、モデルデータベースＭＤＢ及び学習データデータベースＬＤＢは、例えばクラウドサービスとして提供されるものであってよい。学習済みモデル生成装置３１及びデータ処理装置３２は、演算能力を提供するクラウドサービスにより実現されてよいし、モデルデータベースＭＤＢ及び学習データデータベースＬＤＢは、データの格納場所を提供するクラウドサービスにより実現されてよい。具体的には、学習済みモデル生成装置３１、データ処理装置３２、モデルデータベースＭＤＢ及び学習データデータベースＬＤＢは、Ｇｏｏｇｌｅ社のＧｏｏｇｌｅ  Ｃｌｏｕｄ  Ｐｌａｔｆｏｒｍにより実現されてよい。より詳細には、学習済みモデル生成装置３１はＣｌｏｕｄ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ  Ｐｌａｔｆｏｒｍにより実現されてよく、データ処理装置３２は、ＢｉｇＱｕｅｒｙにより実現されてよい。また、モデルデータベースＭＤＢ及び学習データデータベースＬＤＢは、Ｃｌｏｕｄ  Ｓｔｒａｇｅにより実現されてよい。本実施形態に係るサービス構築装置１０によれば、既存のクラウドサービスによって提供される高度な演算能力や豊富な記憶容量をプログラミングせずに利用できるようになり、サービス開発の時間を短縮することができる。
【００３０】
センサ４０は、対象となる物理量を検出してセンシングデータを出力する装置であり、例えば、画像データを出力するカメラ、音声データを出力するマイクロフォン、ＧＰＳ（Global Positioning System）を用いて位置データを出力する位置センサである。センサ４０から出力されるセンシングデータは、学習済みモデルの生成に用いるトレーニングデータ及び検証データや、学習済みモデルによる予測を行うための入力データとして学習データデータベースＬＤＢに格納されてよい。
【００３１】
図２は、本発明の実施形態に係るサービス構築装置１０の機能ブロック図である。サービス構築装置１０は、学習機能部１０ａ、サービス構築機能部１０ｂ、データ収集機能部１０ｃ及び表示制御部１９を備える。学習機能部１０ａは、タイプ受付部１１、設定部１２、学習済みモデル取得部１３及び登録部１４を含む。サービス構築機能部１０ｂは、配置受付部１５及び処理制御部１６を含む。データ収集機能部１０ｃは、学習データ収集部１８を含む。データ収集機能部１０ｃは、学習用のデータと、予測を行うための入力データとを収集する機能を有する。学習機能部１０ａは、データ収集機能部１０ｃにより収集された学習用データを用いて学習された学習済みモデルを、学習済みモデル生成装置３１に生成させ、出力させる機能を有する。また、サービス構築機能部１０ｂは、データ収集機能部１０ｃにより収集された予測を行うための入力データを学習済みモデルに入力させ、学習済みモデルによる予測結果を出力させる機能を有する。
【００３２】
タイプ受付部１１は、予め定められた複数の学習タイプのうちから１の学習タイプの選択を受け付ける。タイプ受付部１１は、ユーザ端末装置２０から学習タイプの選択を受け付ける。本実施形態において、予め定められた複数の学習タイプは、数値型分類タイプ、数値型回帰タイプ、画像型分類タイプ及び文字型分類タイプを含む。予め定められた複数の学習タイプは、これら以外のものを含んでもよく、任意のタイプを加えることができる。
【００３３】
設定部１２は、ユーザより入力された第１学習条件を含む学習条件の設定を行う。ここで、第１学習条件は、ユーザから明示の指定を受けた学習条件であり、図４を用いて説明するように、学習の最大試行回数やトレーニングデータの指定を含む。また、学習条件は、第１学習条件以外の第２学習条件を含む。第２学習条件は、ユーザから明示の指定を受けていない学習条件であって、サービス構築装置１０により自動的に設定される学習条件である。第２学習条件は、例えば、ニューラルネットワークのレイヤー数を含む。設定部１２は、予め定められた１又は複数のパラメータの数値の設定をユーザから受け付けて、第１学習条件の設定を行う。設定部１２は、タイプ受付部１１により受け付けた１の学習タイプに応じて、学習条件の設定を行う。
【００３４】
学習済みモデル取得部１３は、設定部１２によって設定された学習条件に従って学習された学習済みモデルを取得する。学習済みモデルは、設定部１２によって設定された学習条件に従って、学習を行うための入力データ（学習用のデータ）に基づき生成され、出力されるものである。学習済みモデル取得部１３は、設定部１２によって設定された学習条件を学習済みモデル生成装置３１に送信し、学習済みモデル生成装置３１は、受信した学習条件に従って、学習済みモデルを生成し、出力する。学習済みモデル取得部１３は、生成された学習済みモデルを学習済みモデル生成装置３１より取得する。
【００３５】
登録部１４は、学習済みモデル取得部１３によって取得された学習済みモデルをデプロイして、デプロイされた学習済みモデルとしてモデルデータベースＭＤＢに登録する。ここで学習済みモデルのデプロイとは、学習済みモデルを他のアプリケーションから呼び出せるデータ形式に変換し、予測に利用できる状態にすることをいう。学習済みモデルは、バージョン情報と共にモデルデータベースＭＤＢに登録されてもよい。バージョン情報は、学習済みモデルの生成に用いられたトレーニングデータや検証データ毎に付されるものであってよい。ユーザは、設定部１２によりトレーニングデータ及び検証データの指定を含む学習条件の設定を行い、学習済みモデル取得部１３により取得された学習済みモデルを確認し、設定部１２により学習条件の再設定（トレーニングデータ及び検証データの再設定）を行い、学習済みモデルの改良を行う。ユーザは、学習済みモデルを完成させた場合、登録部１４により当該学習済みモデルをデプロイされた学習済みモデルとしてモデルデータベースＭＤＢに登録する。なお、登録部１４によるデプロイされた学習済みモデルの登録は、学習済みモデル生成装置３１へ登録指令を送信することにより行ってよい。
【００３６】
配置受付部１５は、特定の学習済みモデルをモデルデータベースＭＤＢから呼び出す処理を含む１又は複数の処理に対応する１又は複数のブロックの配置を受け付ける。本実施形態において、ブロックは、一単位の処理に対応するものであり、例えばデプロイされた学習済みモデルの呼び出しや、予測のための入力データの読み出し、予測結果データの出力等を表す。本実施形態において、ブロックは、特定の図形として表されるが、ブロックの表し方は任意であり、一単位の処理に対応することが示されればどのような表し方であっても構わない。配置受付部１５は、ユーザ端末装置２０よりブロックの配置の指令を受け付ける。配置受付部１５は、１又は複数のブロックの直列的な配置を受け付けてよい。
【００３７】
処理制御部１６は、１又は複数のブロックに対応する１又は複数の処理が、１又は複数のブロックの配置に応じた順序で実行されるように制御する。処理制御部１６は、配置受付部１５により受け付けた１又は複数のブロックの配置を参照して、データ処理装置３２に対して、１又は複数のブロックの配置に応じた順序で処理の実行指令を送信する。データ処理装置３２は、処理制御部１６より受け付けた指令に従って、適宜モデルデータベースＭＤＢに格納されたデプロイされた学習済みモデルの呼び出しを行って、学習データデータベースＬＤＢに格納された予測のための入力データの取得を行い、学習済みモデルに基づき予測結果を出力する。
【００３８】
学習データ収集部１８は、学習済みモデルを生成するために用いられる学習用のデータ（トレーニングデータ及び検証データ）を収集する。また、学習データ収集部１８は、学習済みモデルに入力される予測のための入力データを収集する。学習データ収集部１８は、センサ４０やユーザ端末装置２０から学習用のデータ及び予測を行うための入力データを収集する。学習データ収集部１８は、継続収集部１８ａと、一括収集部１８ｂとを含む。継続収集部１８ａは、学習用のデータ及び予測のための入力データをデータ出力源（センサ４０等）から継続的に収集する。継続収集部１８ａによれば、時々刻々と変化する動的なデータを収集することができる。一括収集部１８ｂは、学習用のデータ及び予測を行うための入力データを一括して収集する。一括収集部１８ｂによれば、蓄積された統計データ等の静的なデータを一括して収集することができる。学習データ収集部１８が継続収集部１８ａと、一括収集部１８ｂとを含むことで、ユーザは、収集する学習用のデータ及び予測を行うための入力データのデータ形式に適した方法でデータの収集を行うことができ、データの収集が効率化される。
【００３９】
学習済みモデル生成装置３１によって学習済みモデルを生成するためには、学習過程において使用されるトレーニングデータや検証データ等の学習用のデータを収集する必要がある。学習済みモデルによるタスクの実行性能は、豊富なトレーニングデータや検証データに基づく学習によって向上する傾向にあるが、トレーニングデータや検証データは必ずしも十分に用意されているとは限らない。学習データ収集部１８によれば、動的な学習用のデータと静的な学習用のデータを効率良く収集することができ、ひいては学習済みモデルによるタスクの実行性能を向上させることができる。
【００４０】
表示制御部１９は、学習機能部１０ａ、サービス構築機能部１０ｂ及びデータ収集機能部１０ｃより受け付けたデータを、ユーザ端末装置２０の表示部に表示させる制御を行う。ユーザは、ユーザ端末装置２０によりサービス構築装置１０を操作して、学習済みモデルの確認やブロックの配置等を行い、サービスを構築する。
【００４１】
図３は、本発明の実施形態に係るサービス構築装置１０による学習タイプの選択受付の例を示す図である。同図では、ユーザ端末装置２０の表示部に表示される学習モデル選択画面ＤＰ１を示している。学習モデル選択画面ＤＰ１は、数値型分類タイプの選択を受け付ける第１アイコンＩＣ１と、数値型回帰タイプの選択を受け付ける第２アイコンＩＣ２と、画像型分類タイプの選択を受け付ける第３アイコンＩＣ３と、文字型分類タイプの選択を受け付ける第４アイコンＩＣ４と、を含む。ここで、数値型分類タイプは、数値データを幾つかの種類に分類する学習タイプであり、例えば、数値データをＤＮＮ（Deep Neural Network）により分類する学習タイプであってよい。数値型回帰タイプは、数値データから従属変数と独立変数の関係を求める学習タイプであり、例えば、数値データをＤＮＮにより回帰分析する学習タイプであってよい。画像型分類タイプは、画像データを幾つかの種類に分類する学習タイプであり、例えば、画像データをＣＮＮ（Convolutional Neural Network）により分類する学習タイプであってよい。文字型分類タイプは、文字データを幾つかの種類に分類する学習タイプであり、例えば、文字データをＮＮ（Neural Network）により分類する学習タイプであってよい。なお、文字型分類タイプは、いわゆる「Sequence to Sequence Learning with Neural Networks」と呼ばれる学習タイプであってよい。第１アイコンＩＣ１、第２アイコンＩＣ２、第３アイコンＩＣ３及び第４アイコンＩＣ４は、タイプ受付部１１として機能する。
【００４２】
ユーザは、予め定められた複数の学習タイプに対応する第１アイコンＩＣ１、第２アイコンＩＣ２、第３アイコンＩＣ３及び第４アイコンＩＣ４のうちから１のアイコンをポインタＰＴによりクリックすることで１の学習タイプを選択する。なお、アイコンの選択は、タッチパネルのタッチや他の入力方法により行われてもよい。以下では、ユーザにより第１アイコンＩＣ１が選択され、ＤＮＮによる数値分類の学習タイプが選択された場合について説明する。
【００４３】
図４は、本発明の実施形態に係るサービス構築装置１０による学習条件の設定の例を示す図である。同図では、ユーザ端末装置２０の表示部に表示される学習条件設定画面ＤＰ２を示している。学習条件設定画面ＤＰ２は、ＤＮＮの入力ノード数に相当する入力値の種類を設定する第１パラメータＰＲ１と、ＤＮＮ分類によりデータを分類する際のクラスタ数に相当する出力値の分類数を設定する第２パラメータＰＲ２と、パラメータを自動変更して学習を繰り返す学習の最大試行回数を設定する第３パラメータＰＲ３と、学習の制限時間を設定する第４パラメータＰＲ４と、を含む。本例では、入力値の種類（第１パラメータＰＲ１）が「４」、出力値の分類数（第２パラメータＰＲ２）が「３」、学習の最大試行回数（第３パラメータＰＲ３）が「１０」、学習の制限時間（第４パラメータＰＲ４）が「９０」と設定されている。ここで、学習の制限時間（第４パラメータＰＲ４）の単位は「分」である。設定部１２は、これらのパラメータの数値により、第１学習条件の設定を行う。同図に示す第１パラメータＰＲ１、第２パラメータＰＲ２、第３パラメータＰＲ３及び第４パラメータＰＲ４は、予め定められた１又は複数のパラメータである。なお、第１パラメータＰＲ１、第２パラメータＰＲ２、第３パラメータＰＲ３及び第４パラメータＰＲ４は、予め定められた１又は複数のパラメータの例示であり、設定部１２は、これら以外の種類のパラメータの設定を行ってもよいことは言うまでもない。なお、設定部１２は、１又は複数のパラメータについてデフォルト値を示して、ユーザから特段の修正が無い場合、デフォルト値によって第１学習条件の設定を行ってよい。
【００４４】
このように、予め定められた１又は複数のパラメータの数値の設定により、第１学習条件の設定を行うことで、ユーザにより設定可能な学習条件が絞られるため、学習条件の設定変更を行う場合の方向性が明確となり、不可避な試行錯誤を効率的に行うことができる。また、多数のパラメータが存在する場合に、設定すべきパラメータを厳選してユーザによる入力を受け付ける第１学習条件として提示し、ユーザによる入力を受け付けない第２学習条件に含まれるパラメータについては設定部１２により自動設定することで、ユーザによるパラメータ設定作業を簡略化することができる。例えば、設定部１２は、ニューラルネットワークのレイヤー数を自動で設定してよい。レイヤー数の設定は、トレーニングデータの内容に応じて決定されてもよい。
【００４５】
学習条件設定画面ＤＰ２は、学習におけるトレーニングデータの格納場所を設定する第１入力データＩＮ１と、学習における検証データの格納場所を設定する第２入力データＩＮ２と、予測結果データの格納場所を設定する出力データＯＴと、を含む。本例では、第１入力データＩＮ１が「ＵＲＬ１」、第２入力データＩＮ２が「ＵＲＬ２」、出力データＯＴが「ＵＲＬ３」にそれぞれ格納されるよう設定されている。設定部１２は、第１入力データＩＮ１及び第２入力データＩＮ２のＵＲＬ（Uniform Resource Locator）により指定される場所に格納されたトレーニングデータ及び検証データを第１学習条件として設定し、出力データＯＴのＵＲＬにより指定される場所を予測結果データの格納場所として設定する。
【００４６】
タイプ受付部１１によって、予め定められた複数の学習タイプのうちから１の学習タイプの選択を受け付けることで、ユーザは、用意された学習タイプのうちから実行させようとしているタスクに適した学習タイプを容易に見出すことができ、学習タイプの選定に伴う負担を軽減することができる。また、設定部１２によって、タイプ受付部１１により受け付けた１の学習タイプに応じて、学習条件の設定を行うことで、受け付けた学習タイプに応じて学習条件の設定が行われるため、どのような学習条件を定めなければならないのか学習タイプ毎に確認する負担が軽減される。
【００４７】
図５は、本発明の実施形態に係るサービス構築装置１０によって実行される学習済みモデル登録処理を示すフローチャートである。タイプ受付部１１は、予め定められた複数の学習タイプのうちから１の学習タイプの選択を受け付ける（Ｓ１０）。設定部１２は、タイプ受付部１１により受け付けた１の学習タイプに応じて、学習条件の設定を行う。設定部１２は、予め定められた１又は複数のパラメータの数値の設定をユーザから受け付けて、学習条件（第１学習条件）の設定を行う（Ｓ１１）。また、設定部１２は、トレーニングデータ、検証データ及び予測結果データの格納場所の設定を行う（Ｓ１２）。設定部１２は、この他に、ユーザから明示の指定を受け付けていない学習条件（第２学習条件）について自動で設定を行う。
【００４８】
学習済みモデル取得部１３は、学習済みモデル生成装置３１に対して、設定部１２により設定された学習条件に従って、学習済みモデルの生成を行うよう指示を行う（Ｓ１３）。学習済みモデル取得部１３は、学習済みモデル生成装置３１より生成された学習済みモデルを受信して、ユーザ端末装置２０に表示させる。
【００４９】
トレーニングデータや検証データの修正を行う場合（Ｓ１４：Ｙｅｓ）、設定部１２は、トレーニングデータや検証データの再設定を行う（Ｓ１５）。トレーニングデータや検証データの再設定は、新たなトレーニングデータや検証データの格納先を再設定することにより行われてもよいし、既に設定された格納場所に格納されたトレーニングデータや検証データを更新することにより行われてもよい。学習済みモデル取得部１３は、学習済みモデル生成装置３１に対して、設定部１２により再設定されたトレーニングデータ及び検証データに従って、学習済みモデルの生成を行うよう指示を行う（Ｓ１３）。ユーザは、学習条件の修正と学習済みモデルの確認を繰り返して、学習済みモデルを改良していく。なお、設定部１２は、トレーニングデータや検証データ以外の学習条件の再設定を行ってもよい。例えば、設定部１２は、学習の最大試行回数の再設定をユーザから受け付けたり、学習の制限時間の再設定をユーザから受け付けたりしてもよい。
【００５０】
トレーニングデータや検証データの修正を行わない場合（Ｓ１４：Ｎｏ）、登録部１４は、学習済みモデル取得部１３により取得された学習済みモデルをデプロイして、デプロイされた学習済みモデルとしてモデルデータベースＭＤＢに登録する（Ｓ１６）。以上により、学習済みモデル登録処理が終了する。
【００５１】
図６は、本発明の実施形態に係るサービス構築装置１０によるブロックの配置受付の例を示す図である。同図では、ユーザ端末装置２０の表示部に表示されるブロック配置画面ＤＰ３を示している。ブロック配置画面ＤＰ３は、データ処理装置３２に行わせる処理に対応する第１ブロックＢ１、第２ブロックＢ２、第３ブロックＢ３、第４ブロックＢ４及び第５ブロックＢ５を含む。第１ブロックＢ１、第２ブロックＢ２、第３ブロックＢ３、第４ブロックＢ４及び第５ブロックＢ５は、配置受付部１５により配置を受け付けたブロックである。また、ブロック配置画面ＤＰ３は、配置することのできるブロックのリストを表示するブロックリストＬＴと、選択されたブロックの設定を表示するプロパティＰＰと、実行ボタンＢＴと、を含む。
【００５２】
本例において、第１ブロックＢ１は、１又は複数の処理を順次行う「フロー」を開始させる処理に対応する。第２ブロックＢ２は、予測を行うための入力データを学習データデータベースＬＤＢから取得するようデータ処理装置３２に指示する処理に対応する。なお、予測を行うための入力データは、学習データデータベースＬＤＢ以外から取得されるものであってもよい。第３ブロックＢ３は、モデルデータベースＭＤＢよりデプロイされた学習済みモデルを呼び出し、予測を行うための入力データを入力として、デプロイされた学習済みモデルによる予測結果データを出力させる処理に対応する。第４ブロックＢ４は、デプロイされた学習済みモデルによる予測結果データを指定されたデータベースに登録する処理に対応する。第５ブロックＢ５は、「フロー」を終了させる処理に対応する。配置受付部１５は、これら以外のブロックの配置を受け付けてもよいことは言うまでもない。
【００５３】
配置受付部１５は、１又は複数のブロックの直列的な配置を受け付ける。すなわち、配置受付部１５は、分岐を含むブロックの配置を受け付けない。ブロックの直列的な配置を受け付けることで、ブロックの接続順序によって処理の流れが表され、ブロックの配置によって処理の大枠を容易に捉えられるようになる。
【００５４】
ブロックリストＬＴは、配置することのできるブロックのリストを表示しており、ユーザは、ポインタＰＴによりブロックリストＬＴに表示された所望のブロックを選択し、既に配置されたブロックに重なるようにドラックアンドドロップして、ブロックの列を形成し、フローを構築することができる。本例では、ブロックリストＬＴに「フローの開始」及び「データ取得」と示された２つのブロックを表示しているが、ブロックリストＬＴには、配置可能な全てのブロックの一覧が表示されてよい。
【００５５】
プロパティＰＰは、選択されたブロックの設定を表示しており、本例では、「学習済みモデルで予測」のブロックを選択した場合を示している。具体的には、プロパティＰＰは、選択されたブロックの名称であるブロック名と、デプロイされた学習済みモデルに付されたモデル名と、デプロイされた学習済みモデルの入力変数と、デプロイされた学習済みモデルの出力変数と、デプロイされた学習済みモデルのバージョンと、を含む。本例では、ブロック名として「学習済みモデルで予測」が表示され、モデル名として「Ｍｏｄｅｌ  Ａ」が表示され、入力変数として「Ｘ」が表示され、出力変数として「Ｙ」が表示され、バージョンとして「２．０」が表示されている。ユーザは、選択したブロックのプロパティＰＰを編集することで、当該ブロックに対応する処理の詳細を設定することができる。例えば、モデル名を編集することで、呼び出し対象となるデプロイされた学習済みモデルを変更することができ、バージョンを変更することで、異なるトレーニングデータ及び検証データにより学習され、デプロイされた学習済みモデルを呼び出すことができる。
【００５６】
ブロックの配置とプロパティＰＰの設定を完了した場合、実行ボタンＢＴを押下することで、構築したフローを実行することができる。本例の場合、所定のデータが取得され、取得したデータについてデプロイされた学習済みモデルによる予測が行われ、予測結果データが所定の出力先に出力されるというフローが実行される。完成したフローは、サービスとして提供される。このようにして、本実施形態に係るサービス構築装置１０によりサービスを構築することができる。なお、フローの実行タイミングは、実行ボタンＢＴが押下された際に限られない。例えば、フローは、定期的に実行されてもよいし、他のアプリケーションから呼び出された場合に実行されてもよい。
【００５７】
設定部１２及び学習済みモデル取得部１３によって、学習条件の設定と学習済みモデルの確認を繰り返すことで、不可避な試行錯誤を効率的に行うことができる。また、配置受付部１５によって、処理に対応するブロックの配置を受け付けることで、デプロイされた学習済みモデルによって実行されるタスクを他の処理と容易に組み合わせることができる。そのため、本実施形態に係るサービス構築装置１０によれば、機械学習の成果を利用したサービスの迅速な開発を支援することができる。
【００５８】
図７は、本発明の実施形態に係るサービス構築装置１０によって実行されるフロー実行処理を示すフローチャートである。配置受付部１５は、デプロイされた学習済みモデルをモデルデータベースＭＤＢから呼び出す処理を含む１又は複数の処理に対応する１又は複数のブロックの配置を受け付ける（Ｓ２０）。サービス構築装置１０は、配置されたブロックについて、プロパティの設定を行う（Ｓ２１）。そして、１又は複数のブロックに対応するフローの実行指示（ユーザによる指示及び定期的な実行指示を含む。また、他のアプリケーションによる呼び出しを含む。）を受け付ける（Ｓ２２）。
【００５９】
処理制御部１６は、１又は複数のブロックに対応する１又は複数の処理が、１又は複数のブロックの配置に応じた順序で実行されるように、データ処理装置３２に対して指示する（Ｓ２３）。配置されたブロックに対応する全ての処理が完了していない場合（Ｓ２４：Ｎｏ）、処理制御部１６は、データ処理装置３２に対する指示を継続する。一方、配置されたブロックに対応する全ての処理が完了した場合（Ｓ２４：Ｙｅｓ）、フローの実行処理が終了する。
【００６０】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【００６１】
１０…サービス構築装置、１０ａ…学習機能部、１０ｂ…サービス構築機能部、１０ｃ…データ収集機能部、１１…タイプ受付部、１２…設定部、１３…学習済みモデル取得部、１４…登録部、１５…配置受付部、１６…処理制御部、１８…学習データ収集部、１８ａ…継続収集部、１８ｂ…一括収集部、１９…表示制御部、２０…ユーザ端末装置、３１…学習済みモデル生成装置、３２…データ処理装置、４０…センサ、Ｂ１…第１ブロック、Ｂ２…第２ブロック、Ｂ３…第３ブロック、Ｂ４…第４ブロック、Ｂ５…第５ブロック、ＤＰ１…学習モデル選択画面、ＤＰ２…学習条件設定画面、ＤＰ３…ブロック配置画面、ＢＴ…実行ボタン、ＩＣ１…第１アイコン、ＩＣ２…第２アイコン、ＩＣ３…第３アイコン、ＩＣ４…第４アイコン、ＩＮ１…第１入力データ、ＩＮ２…第２入力データ、ＬＤＢ…学習データデータベース、ＬＴ…ブロックリスト、ＭＤＢ…モデルデータベース、ＯＴ…出力データ、ＰＰ…プロパティ、ＰＲ１…第１パラメータ、ＰＲ２…第２パラメータ、ＰＲ３…第３パラメータ、ＰＲ４…第４パラメータ、ＰＴ…ポインタ。
【図１】
2018097671.tif 000003
【図２】
2018097671.tif 000004
【図３】
2018097671.tif 000005
【図４】
2018097671.tif 000006
【図５】
2018097671.tif 000007
【図６】
2018097671.tif 000008
【図７】
2018097671.tif 000009