(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-19
(45)【発行日】2024-12-27
(54)【発明の名称】データ管理システム、データ管理方法、および機械学習データ管理プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241220BHJP
【FI】
G06N20/00
(21)【出願番号】P 2020172818
(22)【出願日】2020-10-13
【審査請求日】2023-05-31
(73)【特許権者】
【識別番号】508014464
【氏名又は名称】株式会社ブルーブックス
(74)【代理人】
【識別番号】100135781
【氏名又は名称】西原 広徳
(72)【発明者】
【氏名】志茂 英之
【審査官】大倉 崚吾
(56)【参考文献】
【文献】特開2020-021301(JP,A)
【文献】特開2020-156903(JP,A)
【文献】米国特許出願公開第2020/0034848(US,A1)
【文献】特許第6501855(JP,B1)
【文献】国際公開第2020/157939(WO,A1)
【文献】特開2019-016235(JP,A)
【文献】特開2020-092695(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G16H 50/00-50/80
A61B 5/00
(57)【特許請求の範囲】
【請求項1】
機械学習に用いる学習用データを取得する学習用データ取得手段と、
前記学習用データを記憶する第1記憶手段と、
医療分野における同じ種類または同じ目的の学習用データを利用して、互いに異なるバリエーションの複数の学習済モデルを生成する学習済モデル生成手段と、
前記複数の学習済モデルのデータのそれぞれを、機械学習で用いた前記学習用データと紐づけて、区別可能に記憶する第2記憶手段を備え
、
前記学習済モデル生成手段は、或る診断の前の学習用データを利用した診断前の学習済モデルと、当該診断の後の学習用データを利用した診断後の学習済モデルとを、異なるバリエーションの学習済モデルとして生成する
データ管理システム。
【請求項2】
前記学習済モデルを検索するためのモデル検索条件の指定を受け付けるモデル検索条件指定手段と、
前記第2記憶手段に記憶されている学習済モデルのデータから前記モデル検索条件に該当する学習済モデルを検索するモデル検索手段と、
前記モデル検索手段における検索によりヒットした学習済モデルの情報をユーザに提示するモデル情報提示手段を備える
請求項1記載のデータ管理システム。
【請求項3】
前記複数の学習済モデルのデータのそれぞれは、学習履歴のデータおよび機械学習で用いた学習用データを含み、
前記モデル情報提示手段は、検索によりヒットした学習済モデルの学習履歴のデータおよび機械学習で用いた学習用データの情報をユーザに提示する
請求項2記載のデータ管理システム。
【請求項4】
前記学習用データ取得手段は、互いに異なるバリエーションの複数の前記学習用データを取得し、
前記第1記憶手段は、前記複数の学習用データのそれぞれを区別可能に記憶し、
前記学習済モデル生成手段は、前記複数の学習用データのうち少なくとも1つを用いて、前記学習済モデルを生成し、
前記第2記憶手段は、前記複数の学習済モデルのデータのそれぞれを、機械学習で用いた学習用データと紐づけて、区別可能に記憶する
請求項1、2または3記載のデータ管理システム。
【請求項5】
前記学習用データを検索するための学習用データ検索条件の指定を受け付ける学習用データ検索条件指定手段と、
前記第1記憶手段に記憶されている前記複数の学習用データから前記学習用データ検索条件に該当する学習用データを検索する学習用データ検索手段と、
前記学習用データ検索手段における検索によりヒットした前記学習用データの情報をユーザに提示する学習用データ情報提示手段を備える
請求項4記載のデータ管理システム。
【請求項6】
前記学習用データ取得手段で前記学習用データが取得されたときに、当該学習用データが前記第1記憶手段に記憶されている前記学習用データに対応する更新データかどうかを判断する判断手段、
前記学習用データ取得手段で取得された前記学習用データが前記更新データであると判断された場合に、当該更新データに対応する前記学習用データを用いて生成された更新前の学習済モデルを当該更新データで再学習する再学習手段を備える
請求項4または5記載のデータ管理システム。
【請求項7】
機械学習に用いる学習用データを取得し、
前記学習用データを記憶部に記憶させ、
医療分野における同じ種類または同じ目的の学習用データを利用して、互いに異なるバリエーションの複数の学習済モデルを生成し、
或る診断の前の学習用データを利用した診断前の学習済モデルと、当該診断の後の学習用データを利用した診断後の学習済モデルとを、異なるバリエーションの学習済モデルとして生成し、
前記複数の学習済モデルのデータのそれぞれを、機械学習で用いた前記学習用データと紐づけて、区別可能に前記記憶部に記憶させる
データ管理方法。
【請求項8】
コンピュータを、
機械学習に用いる学習用データを取得する学習用データ取得手段と、
前記学習用データを記憶部に記憶させる第1記憶手段と、
医療分野における同じ種類または同じ目的の学習用データを利用して、互いに異なるバリエーションの複数の学習済モデルを生成する学習済モデル生成手段と、
前記複数の学習済モデルのデータのそれぞれを、機械学習で用いた前記学習用データと紐づけて、区別可能に前記記憶部に記憶する第2記憶手段として機能させ
、
前記学習済モデル生成手段は、或る診断の前の学習用データを利用した診断前の学習済モデルと、当該診断の後の学習用データを利用した診断後の学習済モデルとを、異なるバリエーションの学習済モデルとして生成する
データ管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、例えば、機械学習を用いた学習済モデルのデータおよび学習済モデルの機械学習に用いる学習用データを管理するような、データ管理システム、データ管理方法、および機械学習データ管理プログラムに関する。
【背景技術】
【0002】
近年、人間の行い得る推論等の知的活動をコンピュータ等に行わせる一連のソフトウェア技術として、いわゆるAI技術を利用した学習済モデルが提案されている。
このような学習済モデルは、一般的に、多量の教師データ(学習用データ)を用いた機械学習が行われることによって生成される。
【0003】
この種の背景技術の一例が特許文献1に開示される。背景技術の学習装置では、環境や使用状況の変化に対して追加学習が自動で行われ、学習済モデルを常に最新の状態にすることによって、学習済モデルの精度が維持される。
このように、背景技術の学習装置では、或る目的の学習済モデルについて、最新状態の学習済モデルしか提供されない。
したがって、背景技術の学習装置では、複数の観点で或る事象を検証したいという要望に対しては充分な対応ができず、利便性の観点で問題がある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
この発明は、上述の問題に鑑みて、ユーザの多様なニーズに対応できるように学習済モデルのデータを管理することができる、データ管理システム、データ管理方法、および機械学習データ管理プログラムを提供し、ユーザの利便性を向上させることを目的とする。
【課題を解決するための手段】
【0006】
この発明は、機械学習に用いる学習用データを取得する学習用データ取得手段と、学習用データを記憶する第1記憶手段と、学習用データを用いて、互いに異なる学習条件で機械学習した、互いに異なるバリエーションの複数の学習済モデルを生成する学習済モデル生成手段と、複数の学習済モデルのデータのそれぞれを、機械学習で用いた学習用データと紐づけて、区別可能に記憶する第2記憶手段を備えたデータ管理システム、データ管理方法、および機械学習データ管理プログラムであることを特徴とする。
【発明の効果】
【0007】
この発明により、ユーザの多様なニーズに対応できるように学習済モデルのデータを管理し、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【0008】
【
図1】この発明のデータ管理システムの構成の一例を示す説明図。
【
図2】仮想マシンサーバの構成の一例を示す説明図。
【
図3】管理サーバの補助記憶部に記憶されるデータの一例を示す説明図。
【
図4】学習済モデルデータのデータ構造の一例を示す説明図。
【
図5】管理サーバの主記憶部のメモリマップの一例を示す説明図。
【
図12】学習済モデル検索画面等の画面構成の説明図。
【
図13】バージョン確認登録画面等の画面構成の説明図。
【
図14】モデル変更履歴確認画面等の画面構成の説明図。
【
図15】データ変更履歴確認画面等の画面構成の説明図。
【
図16】変更データ確認画面等の画面構成の説明図。
【
図17】アノテーション管理画面等の画面構成の説明図。
【
図20】学習用データ管理画面等の画面構成の説明図。
【
図23】学習済モデル登録画面等の画面構成の説明図。
【
図25】管理サーバの制御プログラムのデータ管理動作のフローチャート図。
【発明を実施するための形態】
【0009】
以下、この発明の一実施形態を図面と共に説明する。
<システム構成>
【0010】
図1は、演算処理システム1のシステム構成の一例を示すブロック図である。演算処理システム1は、AI技術を利用した学習済モデルに従って所定形式の演算用データの演算を実行するための演算処理システムである。
【0011】
ただし、演算処理システム1は、AI技術を利用した学習済モデルのデータおよび学習済モデルの機械学習に用いる教師データ(学習用データ)を管理するためのデータ管理システムでもある。
【0012】
図1に示すように、演算処理システム1は、管理サーバ2、複数のユーザ端末3および仮想マシンサーバ4を含み、管理サーバ2と複数のユーザ端末3とは、インターネットのような公衆回線(公衆ネットワーク)5を介して、相互に通信可能に接続される。また、管理サーバ2と仮想マシンサーバ4とは、有線または無線で、直接通信可能に接続される。なお、管理サーバ2と仮想マシンサーバ4とは、公衆回線5を介して接続されてもよい。
【0013】
管理サーバ2および仮想マシンサーバ4は、汎用のサーバコンピュータで構成されており、ユーザ端末3は、タブレットPC、デスクトップPC、ノート(ラップトップ)PCまたはスマートフォンなどの汎用のコンピュータ(端末)で構成される。なお、管理サーバ2および仮想マシンサーバ4は、1台のサーバコンピュータで構成されてもよいし、複数のサーバコンピュータで構成されてもよい。
【0014】
管理サーバ2は、制御部21、入力部22、表示部23、通信部24、および補助記憶部25を備える。入力部22、表示部23、通信部24、および補助記憶部25のそれぞれは、通信線(バス)を介して制御部21に接続される。
【0015】
ユーザ端末3は、制御部31、入力部32、表示部33、通信部34、および補助記憶部35を備える。入力部32、表示部33、通信部34、および補助記憶部35のそれぞれは、通信線を介して制御部31に接続される。
【0016】
制御部21は、プロセッサ26および主記憶部27を含み、管理サーバ2における各種演算および制御動作を実行する。制御部31は、プロセッサ36および主記憶部37を含み、ユーザ端末3における各種演算および制御動作を実行する。
【0017】
プロセッサ(26、36)は、CPUまたはMPUなどを含む演算処理部である。主記憶部27、37は、RAM(DRAM)およびROMなどを含む。RAMは、プロセッサ(26、36)のワーク領域およびバッファ領域として用いられる。ROMは、管理サーバまたはユーザ端末3の起動プログラムや各種情報についてのデフォルト値等を記憶する。
【0018】
入力部(22、32)は、利用者(ユーザ)の操作入力を受け付ける入力部品および入力部品とプロセッサ(26、36)との間に介在する入力検出回路を含む。入力部品は、たとえばキーボードまたは/およびコンピュータマウスであり、入力部品がキーボードである場合には、ハードウェアの操作ボタンないし操作キーが含まれる。また、入力部品としては、タッチパネルが用いられても良い。タッチパネルとしては、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。入力検出回路は、各入力部品の操作に応じた操作信号ないし操作データをプロセッサ(26、36)に出力する。
【0019】
表示部(23、33)は、ディスプレイおよびディスプレイとプロセッサ(26、36)との間に介在する表示制御回路を含む。ディスプレイとしては、たとえばLCD(液晶ディスプレイ)または有機ELディスプレイなどを用いることができる。表示制御回路は、GPUおよびVRAMなどを含む。プロセッサ(26、36)の指示の下、GPUは、RAMに記憶された画像生成用のデータを用いてディスプレイに種々の画面を表示するための表示画像データをVRAMに生成し、生成した表示画像データをディスプレイに出力する。
【0020】
通信部(24、34)は、公衆回線5に接続するための通信回路を含む。通信回路は、有線通信回路または無線通信回路であり、プロセッサ(26、36)からの指示に従って、公衆回線5を介して、外部コンピュータと通信する。
【0021】
補助記憶部(25、35)は、HDD、SSD、フラッシュメモリ、EEPROMなどの他の不揮発性メモリで構成され、プロセッサ(26、36)が管理サーバ2またはユーザ端末の動作を制御するための制御プログラムおよび各種データなどを記憶する。
【0022】
ユーザ端末3の補助記憶部35は、ユーザの操作入力に応じて本システムにおけるユーザ端末3の各種動作を実行するためのユーザプログラム38と、本システムの利用に必要となるユーザデータ39とを記憶している。
【0023】
ユーザプログラム38およびユーザデータ39は、必要に応じて補助記憶部35から読み出され主記憶部37(RAM)に記憶される(展開される)。ユーザ端末3の動作は、プロセッサ36が主記憶部37(RAM)に展開されたユーザプログラム38を実行することによって実現される。
【0024】
ユーザプログラム38は、少なくとも、管理サーバ2にアクセスするプログラムを用いる構成としているが、専用のユーザプログラムを用いる構成としてもよい。ユーザデータ39は、少なくとも、本システムにおいてユーザを特定するための識別データ(ユーザIDなどのデータ)を含む。
【0025】
また、
図1に示す管理サーバ2の構成およびユーザ端末3の構成は、単なる一例であり、これに限定される必要はない。例えば、管理サーバ2およびユーザ端末3には、SDカードまたはUSBメモリなどの各種の記憶媒体(外部記憶媒体)からデータを読み出したり、外部記憶媒体にデータを書き込んだりするためのインターフェイス(外部記憶媒体接続部)が設けられていてもよい。
【0026】
図2は仮想マシンサーバ4の構成の一例を示すブロック図である。
図2に示すように、仮想マシンサーバ4は、2種類の仮想マシン41、42を含む。仮想マシン41、42は、仮想マシンサーバ4を構成するサーバコンピュータのプロセッサ、記憶部(RAMなどのメモリ)などのハードウェア要素を使用して、仮想マシンサーバ4内で稼働する仮想的な計算機システム(計算機マシン)である。
【0027】
本実施形態では、仮想マシンサーバ4は、特定のユーザのために稼働する占有仮想マシン41と、不特定のユーザのために稼働する共有仮想マシン42とを含む。なお、占有仮想マシン41は、仮想マシンサーバ4内の特定のハードウェア(占有ハードウェア)と対応することによって実現されてもよいし、ハードウェアを特定せずに、仮想マシンサーバ4内の全体のリソースのうち、占有仮想マシン41に必要なリソースが常に確保されることによって実現されてもよい。
【0028】
また、本実施形態では、占有仮想マシン41および共有仮想マシン42のそれぞれは、仮想マシンサーバ4内に複数存在しており、複数の占有仮想マシン41によって占有マシン群が形成され、複数の共有仮想マシン42によって共有マシン群が形成される。
【0029】
演算処理システム1では、仮想マシン41、42が学習済モデルに従って演算を行うことにより、推論対象としての演算用データ(入力)に対し一定の結果(推論結果)が出力される。学習済モデルとは、データを用いた帰納的アプローチによる未知の現象に対する推論をコンピュータに実施させるモデルのことであり、学習済モデルを利用することによって、人間の行い得る知的活動をコンピュータ等に行わせることができる。
【0030】
学習済モデルのアルゴリズムとしては、たとえば、「回帰」、「クラス分類」、「クラスタ分析(クラスタリング)」、「次元削減」、および「異常検出」などがある。
【0031】
「回帰」とは、過去に学習したデータから得られた「パターン」によって、未知の推論対象に対する結果を予測することをいう。「クラス分類」とは、過去に学習したデータから得られた「分類方法」によって、未知の推論対象を分類することをいう。なお、「クラス分類」には、2つのクラスに分類する「2クラス分類」と、3以上のクラスに分類する「マルチ分類」とがある。「クラスタ分析」とは、過去に学習したデータから得られた「データの類似性」によって、複数の未知の推論対象をグループ化(または複数の未知の推論対象のデータ構造を検出)することをいう。「次元削減」とは、推論対象のデータの次元を削減して、主要因子を検出すること、すなわち、データの次元数を減らすことをいう。「異常検出」とは、推論対象のデータの一部または全部が異常かどうかを検出することをいう。
【0032】
本実施形態の演算処理システム1の学習済モデルは、上述したアルゴリズムの1または複数を含み、様々な分野および様々な目的(用途)で利用することができ、一例として、医療画像診断などに利用することができる。
【0033】
医療画像診断用の学習済モデルは、多量の医用画像を学習することによって生成される。医用画像とは、X線撮影、血管造影、コンピュータ断層撮影(CT)、核磁気共鳴画像法(MRI)、シンチグラフィ、陽電子放出断層撮影法(PET)または内視鏡検査などの医療行為によって得られる画像のことをいう。医療画像診断用の学習済モデルを利用することによって、病変候補領域の検出、病変の良悪性分類、症例予測などが可能になる。
このような学習済モデルの実用過程としては、学習済モデルの生成過程(学習過程)と生成されたモデルを用いた推論過程(利用過程)とがある。
【0034】
学習済モデルの生成過程について簡単に説明する。まず、生成される学習済モデルの利用分野・利用目的に沿ったデータ(以下「元データ」ということがある。)が、機械学習に適したデータ(以下「学習用データ」ということがある。)に加工される。続いて、機械学習を受けていない(以下「未学習モデル」ということがある。)に学習用データを機械学習させることによって、学習済モデルが生成される。このように生成された学習済モデルは、機械学習によって得られたパラメータ(以下「学習済パラメータ」ということがある。)および学習済パラメータが組み込まれた推論プログラムを含み、上記のように、利用分野・利用目的に応じて利用される。
<データ構成>
【0035】
図3は管理サーバ2の補助記憶部25に記憶されるデータの一例を示す説明図である。管理サーバ2の補助記憶部25には、演算処理システム1で利用される(学習済モデルに関連する)各種データが記憶(登録)されている。
図3に示すように、管理サーバ2の補助記憶部25には、元データDB(データベース)50と、学習用データDB(データベース)51と、未学習モデルDB(データベース)52と、学習済モデルDB(データベース)53と、ユーザ管理データDB(データベース)54と、演算用データDB(データベース)55などが登録される。
【0036】
元データDB50には、学習用データの元になる複数の元データが登録される。元データは、たとえば画像データ、文書データおよび数値データなどであって、演算処理システム1のユーザまたは管理者などにより一次的に入力(アップロード)され、コンピュータで処理できるように変換・加工処理(一次加工処理)されたデータである。元データは、たとえば通信部24を介して、ユーザ端末3などの外部コンピュータから入力されたり、外部記憶媒体接続部を介して外部記憶媒体から入力されたりする。
【0037】
学習用データDB51には、機械学習に適するように、元データが加工処理(二次加工処理)され、タグ情報(正解情報)が設定された学習用データが登録される。二次加工処理としては、たとえば、元データの欠測値や外れ値を除去する処理などがある。また、タグ情報を設定するプロセスのことをアノテーション設定ということがある。さらに、学習用データには、対応する(加工元の)元データが紐づけられている。
【0038】
本実施例の演算処理システム1では、互いに異なるバリエーションの複数の学習用データが存在する。たとえば、同じ元データから生成された学習用データであっても、タグ情報が異なる(アノテーション設定が異なる)場合には、それらの学習用データは、同じ分野、同じ種類、同じ目的(用途)のデータではあるが、内容が異なるデータとなる。また、元データが追加または変更されるなどして、学習用データが更新(変更)されることがある。この場合、更新前の学習用データと、更新後の学習用データとは、互いに異なるバリエーションのデータとなる。また、更新前の学習用データには更新前の元データが紐づけられ、更新後の学習用データには更新後の元データが紐づけられる。たとえば、肺の医用画像から生成された学習用データに関して、肺の医用画像が定期的(たとえば1年毎)に撮影されている場合であって、或る時点で肺がん(と診断される)というタグ情報が設定された場合には、肺がんと診断される前の学習用データおよびこれに紐づけられる元データと、肺がんと診断された後の学習用データおよびこれに紐づけられる元データとが互いに異なるバリエーションのデータとなる。
このように、本実施形態では、互いに異なるバリエーションの複数の学習用データは、学習用データDB51に区別可能に記憶される。
【0039】
また、学習用データは、複数の学習用データを含むデータセットとして登録されており、1つのデータセットには、分野、種類、目的などに応じて、互いに関連する複数の学習用データが含まれる。たとえば、同じ医療施設において一定期間に撮影された同種の医用画像(たとえば肺のX線画像)が複数存在する場合には、それらの画像は同じデータセットとして登録される。
【0040】
未学習モデルDB52には、未学習モデルのデータが登録される。ただし、未学習モデルには、利用分野・利用目的に沿っていくつかのパラメータ(初期パラメータ)が予め組み込まれていてもよい。
学習済モデルDB53には、学習済モデルのデータが登録される。新たに登録された学習済モデルのデータは、学習済モデルDB53に登録される。
【0041】
本実施例の演算処理システム1では、互いに異なるバリエーションの複数の学習済モデルが存在する。たとえば、同じ学習用データを機械学習した場合であっても、機械学習の条件が異なる場合には、互いに異なるバリエーションの学習済モデルとなる。また、更新前の学習用データを機械学習した学習済モデルと、更新後の学習用データを機械学習した学習済モデルとは、互いに異なるバリエーションの学習済モデルとなる。このように互いに異なるバリエーションの複数の学習済モデルは、学習済モデルDB53に区別可能に記憶される。
【0042】
図4は学習済モデルのデータ(学習済モデルデータ)60のデータ構造の一例を示す説明図である。
図4に示すように、学習済モデルデータ60は、少なくとも、実行データ61、モデル情報データ62、学習用データ63、および変更履歴データ64を含む。
【0043】
実行データ61は、仮想マシン41、42において学習済モデルに従って演算を実行するためのデータである。実行データ61は、典型的には学習済パラメータが組み込まれた推論プログラムのデータであるが、仮想マシン41、42が汎用のAIプログラムに従って動作する場合には、プログラムのデータが省略され、汎用のAIプログラムで処理可能な学習済パラメータのデータであってもよい。
【0044】
モデル情報データ62は、学習済モデルの情報(モデル情報)のデータである。モデル情報は、モデル識別情報、管理ID情報、プログラム言語情報、必須ライブラリ情報、バリエーション情報、変更時期情報、および変更者情報などを含む。
【0045】
モデル識別情報は、学習済モデルを人間が識別するための情報であり、利用分野・利用目的を示す単語(語句)などが含まれる文字列として表現される。管理ID情報は、本システムにおいて学習済モデルを管理するための情報であり、文字、数字および記号を組み合わせた文字列として表現される。プログラム言語情報は、学習済モデルを実行できるプログラム言語の名称やプログラム言語のバージョンなどの情報である。必須ライブラリ情報は、学習済モデルの実行に必要なライブラリの情報である。バリエーション情報は、学習済モデルのバリエーション(バージョン)を示す情報である。たとえば、学習済モデルのバージョンは、番号(数字)で区別可能に表現される。変更時期情報は、学習済モデルが生成された後に、変更が加えられた時期(変更時期)の情報である。学習済モデルに複数の変更が加えられていた場合には、変更時期情報には、それぞれの変更時期の情報が含まれる。変更者情報は、学習済モデルに変更を加えたユーザの情報であり、たとえば、ユーザの所属組織名、氏名などの情報が含まれる。
【0046】
学習用データ63は、学習済モデルの生成過程で利用された学習用データに関する情報である。ただし、本実施形態では、学習用データに関する情報は、個別の学習用データの情報としてではなく、データセットの情報として表現される。学習用データに関する情報は、データ識別情報、発生元情報(生成元情報)、データカテゴリID情報、データ仕様情報、およびデータ件数情報を含む。なお、これらの情報に変えて、またはこれらの情報に加えて、学習用データそのものを学習用データ63としてもよい。
【0047】
変更履歴データ64は、学習済モデルの変更履歴の情報のデータである。学習済モデルの変更履歴の情報は、実行データ61の変更履歴の情報および学習用データの変更履歴の情報を含む。
【0048】
なお、学習済モデルデータ60は、実行データ61、モデル情報データ62、学習用データ63、および変更履歴データ64に加えて、学習済モデルに従って演算を実行するためのアプリケーションのデータおよび必要なライブラリデータなどを含んでコンテナ化(コンテナ型仮想化)されたデータであってもよい。
【0049】
図3に戻って、ユーザ管理データDB54には、演算処理システム1を利用するユーザを管理するためのデータ(以下「ユーザ管理データ」ということがある。)が登録される。ユーザ管理データは、ユーザ識別情報のデータ(ユーザ識別情報データ)、ユーザ認証情報のデータ(ユーザ認証情報データ)、ユーザ利用情報のデータ(ユーザ利用情報データ)、およびユーザ属性情報のデータ(ユーザ属性情報データ)などを含み、同じユーザの、ユーザ識別情報データ、ユーザ識別情報データ、ユーザ利用情報データおよびユーザ属性情報データは、互いに紐づけられている。
【0050】
ユーザ識別情報は、演算処理システム1においてユーザを特定するための情報であり、たとえば、ユーザが使用するメールアドレスや会員IDなどの情報である。ユーザ認証情報は、ユーザ識別情報と組み合わせてユーザ認証を行うための情報であり、たとえばパスワードである。ユーザ利用情報は、ユーザの過去の利用実績や、ユーザが登録した学習済モデル、ユーザが登録した学習用データ、ユーザが利用可能なリソースなどの情報である。ユーザ属性情報は、無料会員、有料会員の別を示す情報、すなわち、演算処理システム1におけるユーザの権限を示す情報である。
【0051】
演算用データDB55には、仮想マシン41、42が学習済モデルに従って演算を行う際の推論対象としての演算用データが登録される。演算用データは、元データに対応する形式のデータであり、たとえば、テキストデータ、数値データ、画像データなどである。
【0052】
なお、学習用データDB51、未学習モデルDB52、学習済モデルDB53、および演算用データDB55のそれぞれは、特定のユーザのみが利用可能な占有領域と、不特定のユーザが利用可能な共有領域とを含む。
【0053】
管理サーバ2の補助記憶部25に登録される各種データは、必要に応じて補助記憶部35から読み出され主記憶部27(RAM)に展開される。管理サーバ2の動作は、主記憶部27に展開されたデータを用いて、プロセッサ26が主記憶部27に記憶された管理サーバ2の制御プログラムを実行することによって実現される。
【0054】
図5は管理サーバ2の主記憶部27(RAM)のメモリマップ70の一例を示す説明図である。
図5に示すように、主記憶部27は、プログラム記憶領域71およびデータ記憶領域72を含む。プログラム記憶領域71には、管理サーバ2の制御プログラムが記憶される。制御プログラムは、学習用データ生成プログラム71A、学習用データ管理プログラム71B、学習済モデル生成プログラム71C、学習済モデル管理プログラム71D、学習済モデル検索プログラム71E、学習用データ検索プログラム71F、元データ検索プログラム71G、実行環境設定プログラム71Hおよび仮想マシン管理プログラム71Jを含む。
【0055】
学習用データ生成プログラム71Aは、元データに二次加工処理を施し、アノテーション設定を行い学習用データを生成する(学習用データ生成機能を発揮する)ためのプログラムである。学習用データ管理プログラム71Bは、新たな学習用データを登録したり、既に登録されている学習用データを削除したりする(学習用データ管理機能を発揮する)ためのプログラムである。
【0056】
学習済モデル生成プログラム71Cは、未学習モデルまたは既存の学習済モデルに学習用データを機械学習させることによって、学習済モデルを生成する(学習済モデル生成機能を発揮する)ためのプログラムである。
【0057】
学習済モデル管理プログラム71Dは、生成した学習済モデルを登録したり、既に登録されている学習済モデルを削除したりする(学習済モデル管理機能を発揮する)ためのプログラムである。
【0058】
学習済モデル検索プログラム71Eは、学習済モデルを検索するモデル検索条件の指定を受け付け、本システムにおいて登録されている学習済モデルの中からモデル検索条件に該当する学習済モデルを検索する(学習済モデル検索機能を発揮する)ためのプログラムである。
【0059】
学習用データ検索プログラム71Fは、学習用データを検索するための学習用データ検索条件の指定を受け付け、本システムにおいて登録されている学習用データの中から学習用データ検索条件に該当する学習用データを検索する(学習用データ検索機能を発揮する)ためのプログラムである。ただし、学習用データは、データセットの単位で検索される。
【0060】
元データ検索プログラム71Gは、元データを検索するための元データ検索条件の指定を受け付け、本システムにおいて登録されている元データの中から元データ検索条件に該当する元データを検索する(元データ検索機能を発揮する)ためのプログラムである。
【0061】
実行環境設定プログラム71Hは、仮想マシン41、42が学習済モデルに従って演算を行う際の実行環境を設定する(実行環境設定機能を発揮する)ためのプログラムである。
【0062】
仮想マシン管理プログラム71Jは、仮想マシン41、42の稼働状況を検出して、演算を行うマシンの割り当てなどを行う(仮想マシン管理機能を発揮する)ためのプログラムである。
【0063】
なお、図示は省略するが、プログラム記憶領域71には、外部のコンピュータと公衆回線5を介してデータを通信(送受信)するための通信プログラム、入力部22に対するユーザの操作入力を検出するための操作検出プログラム、RAMに記憶された画像生成用のデータを用いて表示画像データを生成し、表示部23(ディスプレイ)に出力するための表示プログラム、および管理サーバ2が備える各種の機能を実行するためのプログラムなども記憶される。
【0064】
また、データ記憶領域72には、元データ72A、学習用データ72B、未学習モデルデータ72C、学習済モデルデータ72D、ユーザ管理データ72E、および演算用データ72Fなどが記憶される。
【0065】
元データ72Aは、新たに入力された元データまたは元データDB50から読み出された元データである。学習用データ72Bは、学習用データ生成プログラム71Aに従って新たに生成された学習用データまたは学習用データDB51から読み出された学習用データである。未学習モデルデータ72Cは、新たに入力された未学習モデルデータまたは未学習モデルDB52から読み出された未学習モデルデータである。学習済モデルデータ72Dは、学習済モデル管理プログラム71Dに従って新たに生成された学習済モデルデータまたは学習済モデルDB53から読み出された学習済モデルデータである。
【0066】
ユーザ管理データ72Eは、新たに登録されたユーザ管理データ、更新されたユーザ管理データ、またはユーザ管理データDB54から読み出されたユーザ管理データである。
【0067】
演算用データ72Fは、新たに登録された演算用データ、または演算用データDB55から読み出された演算用データである。ただし、演算用データ72Fは、管理サーバ2内部のデータ管理に用いられるだけであり、演算が行われる場合には、仮想マシンサーバ40の記憶部に演算用データが展開される。
【0068】
なお、図示は省略するが、データ記憶領域72には、表示画像データを生成するための画像生成データ、ユーザの操作入力に応じた操作データ、および管理サーバ2の制御プログラムの実行に必要な他のデータが記憶される。
<システム動作例>
【0069】
以下、
図6ないし
図24を参照して演算処理システム1の動作例を説明する。ユーザの操作入力に応じてユーザ端末3が管理サーバ2にアクセスすると、ユーザ端末3の表示部33(ディスプレイ)には、種々の操作画面が表示される。以下、
図6ないし
図24を参照して説明する各操作画面は、ユーザ端末3のディスプレイに表示されるものとする。
【0070】
図6に示す初期画面100は、ユーザ端末3が管理サーバ2にアクセスした場合に、最初に表示される操作画面の一例である。初期画面100は、ユーザの情報を登録する第1ユーザ登録部(ユーザエントリー部)101と、登録済のユーザがシステムにログインするためのユーザログイン部102とを含む。第1ユーザ登録部101およびユーザログイン部102のそれぞれは、ソフトウェアキー(操作ボタン)として機能する。以下、ソフトウェアキーを「ボタン」という。
【0071】
第1ユーザ登録部101が操作されると、
図7に示すような第1会員登録画面110が表示される。第1会員登録画面110は、ユーザ識別情報の入力を受け付けるための画面であり、メールアドレスまたは任意の会員IDを入力する識別情報入力部111と、ユーザの氏名を入力する氏名入力部112と、ユーザの生年月日を入力する生年月日入力部113と、ユーザの性別を入力する性別入力部114と、登録実行ボタン115とを含む。
【0072】
識別情報入力部111、氏名入力部112、生年月日入力部113および性別入力部114は、テキストの入力を受け付けるテキストボックス(入力欄)である。ただし、生年月日入力部113および性別入力部114は、プルダウンメニューでもよい。
【0073】
第1会員登録画面110において、各入力部111~114に必要な情報が入力された状態で、登録実行ボタン115が操作されると、ユーザ識別情報を含むユーザ管理データがユーザ管理データDB54に登録される。続いて、パスワードの入力を受け付けるためのパスワード入力画面が表示され、パスワード入力画面でパスワードが入力されると、入力されたパスワードがユーザ認証情報として、ユーザ識別情報に紐づけられて登録される。ユーザ識別情報およびユーザ認証情報が登録されると、初期画面100に戻る。ユーザ識別情報およびユーザ認証情報が登録されたユーザは、本システムにおいて登録ユーザとして取り扱われる。
【0074】
初期画面100においてユーザログイン部102が操作されると、
図8に示すようなログイン画面120が表示される。ログイン画面120は、ユーザ認証をするための画面であり、ユーザ識別情報の入力を受け付ける識別情報入力部121と、ユーザ認証情報の入力を受け付ける認証情報入力部122と、ログイン実行ボタン123とを含む。
【0075】
各入力部121、122に必要な情報が入力された状態で、ログイン実行ボタン123が操作されると、ユーザ認証が行われる。ユーザ認証では、識別情報入力部121に入力されたユーザ識別情報および認証情報入力部122に入力されたユーザ認証情報の組み合わせと、ユーザ管理データDB54に登録されているユーザ識別情報およびユーザ認証情報の組み合わせとが一致する場合には、ユーザ認証が成功し、ログインが許可される。
【0076】
ログインが許可されると、
図9に示すようなメイン画面130が表示される。メイン画面130は、本システムのメインメニューおよび各メニューに対応する操作ボタンを表示し、各操作ボタンが操作されるとそれに応じた画面に移行する。
【0077】
メイン画面130は、第2ユーザ登録ボタン131と、ユーザ識別情報表示部132と、会員レベル表示部133と、ステータス表示部134と、実行環境設定ボタン135と,学習済モデル検索ボタン136と、アノテーション管理ボタン137と、学習用データ生成ボタン138と、学習済モデル登録ボタン139と、学習済モデル実行ボタン140と、計算結果比較ボタン141と、領収証発行ボタン142とを含む。
【0078】
第2ユーザ登録ボタン131が操作されると、
図10に示すような第2会員登録画面150が表示される。第2会員登録画面150は、有料会員としての情報(有料会員情報)を登録するための画面であり、決済方式選択部151と、カード種類選択部152と、カード情報入力部153と、登録実行ボタン154とを含む。
【0079】
決済方式選択部151は、月極決済(月払い)か年間決済(年払い)かを選択するためのラジオボタンを含み、ユーザはいずれか一方の決済方式を選択することができる。カード種類選択部152は、プルダウンメニューによってクレジットカードの種類(ブランド)を選択することができる。カード情報入力部153は、カード情報(カード番号)の入力を受け付けるテキストボックスである。なお、決済方法は、クレジットカード払いに限定されず、口座引き落としまたは電子マネー払い等の他の決済方法でもよい。
【0080】
第1会員登録画面110において、決済方式、カード種類およびカード情報が入力された状態で、登録実行ボタン154が操作されると、決済が可能かどうかの審査が開始され、決済が可能と判断されると(審査を通過すると)、有料会員情報がユーザ管理データDB54に登録される。
【0081】
図9に戻って、ユーザ識別情報表示部132には、ログイン中の登録ユーザ(以下、単に「ユーザ」ということがある。)の識別情報が表示される。会員レベル表示部133には、ユーザの会員レベル、すなわち無料会員、有料会員の別を示す情報が表示される。ステータス表示部134には、現在の演算処理システム1のステータス情報が表示される。ステータス情報は、仮想マシンの性能および使用時間、学習中モデルの件数、アノテーションの処理件数、ログイン中のユーザの学習済モデルの参照数および利用数、ログイン中のユーザ以外の学習済モデルの利用状況一覧などの情報を含む。
【0082】
学習済モデル検索ボタン136は、会員レベルにかかわらず(無料会員であっても)、利用可能である。一方、実行環境設定ボタン135、アノテーション管理ボタン137、学習用データ生成ボタン138、学習済モデル登録ボタン139、学習済モデル実行ボタン140、計算結果比較ボタン141、および領収証発行ボタン142は、有料会員のみ利用可能である。有料会員のみ利用可能な操作ボタン135,137~142のそれぞれには、有料会員のみが利用可能であることを示すマーク画像135A,137A~142Aが表示される。また、無料会員のメイン画面130では、有料会員のみ利用可能な操作ボタン135,137~142のそれぞれは、無効化されており、操作できないようにされる。
【0083】
実行環境設定ボタン135が操作されると、
図11に示すような実行環境設定画面160が表示される。実行環境設定画面160は、仮想マシン41、42が学習済モデルに従って演算を行う際の実行環境を設定するための画面であり、記憶領域設定部161と、演算能力設定部162と、確保条件設定部163と、登録済環境表示部164と、利用実績表示部165とを含む。
【0084】
記憶領域設定部161は、仮想マシン41、42が学習済モデルに従って演算を行う際のデータを保管する、ユーザが利用可能な記憶領域(占有領域)を設定(変更または追加)するために設けられる。記憶領域設定部161には、ユーザの現在の占有領域の容量情報と、空き領域(追加可能領域)の容量情報とが表示される。記憶領域設定部161では、追加可能領域の容量を上限として、占有領域を追加拡張する容量(追加容量)をプルダウンメニューによって選択できる。
【0085】
また、追加容量が選択されると、追加容量に応じたコストが表示される。領域追加によるコストは、月払いの場合のコストと、年払いの場合のコストとが表示され、購入単位をプルダウンメニューによって選択できるようになっている。
【0086】
記憶領域設定部161には、購入ボタン166が設けられており、追加容量および購入単位が選択された状態で購入ボタン166が操作されると、追加容量に応じて、ユーザの占有領域が追加拡張される。
【0087】
演算能力設定部162は、仮想マシン41、42が学習済モデルに従って演算を行う際の演算能力を設定するために設けられる。演算能力設定部162では、演算実行時のOS、メモリ容量、CPUのコア数および周波数、GPUのコア数および周波数のそれぞれをプルダウンメニューによって選択できる。
【0088】
確保条件設定部163は、仮想マシン41、42を確保する条件を設定するために設けられる。確保条件設定部163は、占有仮想マシン41を確保するか共有仮想マシン42を確保するかを選択するためのラジオボタンを含む。確保条件設定部163には、確保する仮想マシンの種類に応じた、月払いの場合のコストと、年払いの場合のコストとが表示され、購入単位をプルダウンメニューによって選択できるようになっている。また、確保条件設定部163には、購入ボタン167が設けられており、購入ボタン167が操作されると、選択された種類の仮想マシン41が確保される。
【0089】
登録済環境表示部164には、ユーザが登録した実行環境の情報が一覧表示される。実行環境の情報は、管理番号、演算能力(メモリ、CPUのコア数、GPUのコア数)、仮想マシンの確保条件、単価、利用状態(利用状況)、累積使用時間、および実行経過時間などの情報を含む。また、登録済環境表示部164には、利用可能な実行環境の情報を表示させるための利用可能環境表示ボタン168と、利用可能な実行環境を除く実行環境の情報(登録履歴情報)を表示させるための登録履歴情報表示ボタン169とが設けられる。
【0090】
利用実績表示部165には、ユーザの利用実績の情報が一覧表示される。利用実績の情報は、過去にシステムを利用(演算を実行)した際の、時期(年月日)、管理番号、請求費用、購入日、支払い完了日、演算時間、決済方式(月払い、年払いの別)、契約内容(月単位、年単位、従量課金の別)および単価などの情報を含む。
【0091】
図9に戻って、学習済モデル検索ボタン136が操作されると、
図12に示すような学習済モデル検索画面170が表示される。学習済モデル検索画面170は、演算処理システム1に登録されている学習済モデルを検索するための画面である。学習済モデル検索画面170は、作成者条件設定部171と、分析対象条件設定部172と、適用分野条件設定部173と、その他条件設定部174と、検索実行ボタン175と、結果表示部176と、概要表示ボタン177と、確認登録ボタン178と、詳細表示ボタン179と、検証情報表示ボタン180とを含む。
【0092】
作成者条件設定部171は、作成者に応じて、検索対象となる学習済モデルの条件(モデル検索条件)の一部である作成者条件を設定するために設けられる。この作成者条件設定部171は、作成者の属性に応じてチェックボックスが設けられる。チェックマークが表示されている場合には検索対象となり、チェックマークが表示されていない場合には検索対象外となる。作成者の属性としては、ユーザ自身、およびユーザ以外の作成者などがある。ただし、ユーザ以外の作成者が作成した学習済モデルのうち、検索対象となるのは公開されている学習済モデルに限定される。
【0093】
分析対象条件設定部172は、分析対象の種類に応じて、モデル検索条件の一部である分析対象条件を設定するために設けられ、分析対象の種類に応じてチェックボックスが設けられる。分析対象としては、画像、数値、およびテキストなどがある。
【0094】
適用分野条件設定部173は、適用分野の種類に応じて、モデル検索条件の一部である適用分野条件を設定するために設けられ、適用分野の種類に応じてチェックボックスが設けられる。適用分野としては、医療分野、画像認識分野、および汎用分野などがある。また、医療分野および汎用分野は、細分化されている。たとえば、医療分野は、肺の画像診断分野、眼底の画像診断分野、認知症予測分野、および症例予測分野を含み、汎用分野は、マルチ分類分野、および線形予測分野を含む。
【0095】
その他条件設定部174は、モデル検索条件の他の条件を設定するために設けられ、各条件をプルダウンメニューによって選択できるようになっていたり、テキストボックスが設けられていたりする。その他の条件としては、学習済モデルのOS、プログラムの種類、アルゴリズムの種類、初回リリース年、最新リリース年、および学習済モデルに関するキーワードなどがある。
【0096】
作成者条件設定部171と、分析対象条件設定部172と、適用分野条件設定部173と、その他条件設定部174は、ユーザの操作入力に従ってモデル検索条件を指定する検索条件指定手段として機能する。
検索実行ボタン175が操作されると、モデル検索条件に従って、学習済モデルが検索される。検索結果は、結果表示部176に一覧表示される。
【0097】
結果表示部176に表示される検索結果には、モデル検索条件に合致した学習済モデルの各種情報が表示される。結果表示部176に表示される学習済モデルの情報は、公開者(学習済モデルを公開したユーザ)ID、学習済モデルの名称とID、OSとプログラムの種類、アルゴリズムの種類、適用分野、ソースコードの種類、バージョン番号、およびリリース時期の情報などを含む。結果表示部176には、バリエーション違いの同じ名称の学習済モデルが表示されることがあるが、学習済モデルのID、バージョン番号、リリース時期などが異なるため、識別可能である。
【0098】
概要表示ボタン177が操作されると、結果表示部176でユーザが選択した学習済モデルの概要情報が表示され、詳細表示ボタン179が操作されると、結果表示部176でユーザが選択した学習済モデルの詳細情報(少なくとも概要情報よりも情報量が多い)が表示され、検証情報表示ボタン180が操作されると、結果表示部176でユーザが選択した学習済モデルの検証情報(検証の有無および信頼性のスコアなど)が表示される。ただし、詳細表示ボタン179、および検証情報表示ボタン180は、有料会員のみ利用可能である。
【0099】
確認登録ボタン178が操作されると、
図13に示すようなバージョン確認登録画面190が表示される。バージョン確認登録画面190は、ユーザが選択した学習済モデルのバージョン情報の確認と、バージョン毎の学習済モデルの利用登録を行うための画面である。バージョン確認登録画面190は、公開者IDを表示する公開者情報表示部191と、学習済モデルの名称を表示するモデル名称表示部192と、学習済モデルのIDを表示するモデルID表示部193と、変更履歴表示部194と、モデル変更履歴確認登録ボタン195と、データ変更履歴確認ボタン196とを含む。
【0100】
変更履歴表示部194には、学習済モデルの情報がバージョン毎に一覧表示される。変更履歴表示部194に表示される学習済モデルの情報は、バージョン番号、プログラムの変更内容、利用した学習用データの識別情報、登録状況、および価格の情報などを含む。
【0101】
変更履歴表示部194でいずれかのバージョンが選択された状態で、モデル変更履歴確認登録ボタン195が操作されると、
図14に示すようなモデル変更履歴確認画面200が表示される。
【0102】
モデル変更履歴確認画面200は、選択されたバージョンの学習済モデルの変更履歴の確認および利用登録を行うための画面である。モデル変更履歴確認画面200は、バージョン番号を表示するバージョン番号表示部201と、当該バージョン生成時の変更内容の概要を表示する概要表示部202と、当該バージョンの学習済モデルの価格を表示する価格表示部203と、詳細表示部204と、使用許諾確認ボタン205と、利用登録ボタン206とを含む。
【0103】
詳細表示部204には、当該バージョン生成時の具体的な変更内容が表示される。詳細表示部204には、たとえば、変更前のバージョンに対する差異点(変更した点、追加した点、削除した点)の説明文または登録者のコメントなどが表示される。
【0104】
使用許諾確認ボタン205が操作されると、当該バージョンの学習済モデルの使用許諾情報が表示される。利用登録ボタン206が操作されると、当該バージョンの学習済モデルが利用登録される。このように、本実施形態の演算処理システム1では、最新のバージョンだけでなく、多様なバリエーション(バージョン)の学習済モデルを検索し、利用登録することができ、ユーザの多様なニーズに対応することができる。
【0105】
図13に戻って、変更履歴表示部194でいずれかのバージョンが選択された状態で、データ変更履歴確認ボタン196が操作されると、
図15に示すようなデータ変更履歴確認画面210が表示される。
【0106】
データ変更履歴確認画面210は、選択されたバージョンの学習済モデルの生成時に利用された学習用データの変更履歴を確認するための画面である。データ変更履歴確認画面210は、学習用データの名称を表示するデータ名表示部211と、学習用データの識別情報(識別ID)を表示するデータ識別情報表示部212と、学習用データの種別を表示するデータ種別表示部213と、変更履歴表示部214と、詳細確認ボタン215とを含む。
【0107】
変更履歴表示部214には、学習用データの変更時の情報がバージョン毎に一覧表示される。たとえば、学習用データの変更時の情報は、バージョン番号、解像度、時間または枚数、データ変更の態様(初版、追加、削除の別)、および登録日(生成日または更新日)の情報などを含む。
【0108】
変更履歴表示部214でいずれかのバージョンが選択された状態で、詳細確認ボタン215が操作されると、
図16に示すような変更データ確認画面220が表示される。
【0109】
変更データ確認画面220は、選択されたバージョンの学習用データの生成時の変更内容を確認するための画面である。変更データ確認画面220は、バージョン番号を表示するバージョン番号表示部221と、具体的な変更内容を示す変更内容表示部222とを含む。変更内容表示部222には、たとえば、変更前のバージョンに対する差異点(変更した点、追加した点、削除した点)の説明文または登録者のコメントなどが表示される。
【0110】
以上のように、図12~図16では、演算処理システム1に登録されている学習済モデルを検索する方法を説明したが、これと同様に、演算処理システム1に登録されている学習用データも検索することができる。簡単に説明すると、学習用データの検索画面を表示して、学習用データを検索するための学習用データ検索条件の指定を受け付け、登録されている複数の学習用データから学習用データ検索条件に該当する学習用データを検索し、ヒットした学習用データの情報が表示される。このとき、ヒットした学習用データのバリエーションのデータが存在する場合には、ヒットした学習用データに加えて、バリエーションのデータの情報も表示される。
【0111】
図9に戻って、アノテーション管理ボタン137が操作されると、
図17に示すようなアノテーション管理画面230が表示される。アノテーション管理画面230は、学習用データ(データセット毎)に設定されるタグ情報を管理するための画面である。アノテーション管理画面230は、未設定データ表示部231と、編集中データ表示部232と、設定済データ表示部233と、セルフ設定ボタン234と、外部委託ボタン235とを含む。
【0112】
未設定データ表示部231には、未設定データの情報が一覧表示される。未設定データとは、元データに二次加工処理が施されたデータのうち、タグ情報が設定されていないデータのことをいう。未設定データの情報は、たとえば、データ名称、データID、およびデータボリューム(データサイズ)の情報などを含む。また、未設定データ表示部231に対応してデータ確認ボタン236が表示されている。未設定データ表示部231でいずれかの未設定データが選択された状態でデータ確認ボタン236が操作されると、未設定データの具体的な内容が表示される。
【0113】
編集中データ表示部232は、タグ情報の編集中の学習用データ(編集中データ)の情報が一覧表示される。編集中データの情報は、たとえば、データ名称、データID、データボリューム、編集区分(自身、外部委託の別)、および委託先の情報などを含む。また、編集中データ表示部232に対応して状態確認ボタン237が表示されている。編集中データ表示部232でいずれかの編集中データが選択された状態で状態確認ボタン237が操作されると、編集中データの状態(編集作業の進捗状況など)が表示される。
【0114】
設定済データ表示部233には、タグ情報が設定済のデータ(設定済データ)、すなわち学習用データの情報が一覧表示される。設定済データの情報は、たとえば、データ名称、データID、データボリューム、編集区分、および委託先の情報などを含む。また、設定済データ表示部233に対応してデータ確認ボタン238が表示されている。設定済データ表示部233でいずれかの設定済データが選択された状態でデータ確認ボタン238が操作されると、設定済データの具体的な内容が表示される。なお、設定済データは、学習用データとして学習用データDB51に登録される。
【0115】
セルフ設定ボタン234が操作されると、
図18に示すようなセルフ編集画面240が表示される。セルフ編集画面240は、ユーザ自身で学習用データのアノテーションの設定を行うための画面であり、未設定データ表示部241と、編集中データ表示部242と、設定済データ表示部243とを含む。
【0116】
未設定データ表示部241には、未設定データの情報が一覧表示され、編集中データ表示部242には、編集中データの情報が一覧表示され、設定済データ表示部243には、設定済データの情報が一覧表示される。各データ表示部241,242,243に表示されるデータは、個別に選択することができ、いずれかのデータを選択することによって、データの内容が表示されたり、アノテーション設定を行うための作業画面(アノテーション付与画面)が表示されたりする。
【0117】
また、設定済データ表示部243に表示される設定済データについて、再度アノテーション設定を行うこともできる。この場合、再度のアノテーション設定を行う前後の設定済データは、別のデータとして扱われる。
【0118】
図17に戻って、外部委託ボタン235が操作されると、
図19に示すような外部委託管理画面250が表示される。外部委託管理画面250は、アノテーション設定を外部委託した学習用データを管理するための画面である。外部委託管理画面250は、未設定データ表示部251と、委託先選択部252と、見積依頼データ表示部253と、発注済データ表示部254と、納品済データ表示部255と、記憶領域確認部256とを含む。
【0119】
未設定データ表示部251には、未設定データの情報が一覧表示される。また、未設定データ表示部251に対応してデータ確認ボタン257が表示されている。未設定データ表示部251でいずれかの未設定データが選択された状態でデータ確認ボタン257が操作されると、未設定データの具体的な内容が表示される。
【0120】
委託先選択部252には、委託可能な委託先(外部事業者)候補の情報が一覧表示される。委託先候補の情報は、たとえば、委託先ID、委託先名称(事業者名)、サービス名称、および価格の情報などを含む。また、委託先選択部252に対応して、仕様記入欄258および見積依頼ボタン259が表示されている。未設定データが選択され、かつ、委託先選択部252で委託先候補のいずれかが選択された状態で、プルダウンメニューから希望納期を選択し、見積依頼ボタン259が操作されると、選択された委託先候補に見積依頼を行う。このとき、仕様記入欄258には、見積りの作成に関する仕様情報(申し送り情報)を記入することができる。
【0121】
見積依頼データ表示部253には、見積依頼中の案件の情報が一覧表示される。見積依頼中の案件の情報は、たとえば、委託先名称、仕様、未設定データID、見積期限、ステータス、および価格の情報などを含む。また、見積依頼データ表示部253に対応して、見積処理部260が設けられる。見積処理部260は、各案件の見分内容を確認するための見分内容確認ボタンと、各案件の見分を取り消す取消ボタンと、納期を設定するプルダウンメニューと、アノテーション設定を発注する発注ボタンとを含む。見積依頼中の案件が選択された状態で、発注ボタンが操作されると、選択された委託先にアノテーション設定の依頼を行う。
【0122】
発注済データ表示部254には、アノテーション設定の依頼中(発注済)の案件の情報が一覧表示される。発注済の案件の情報は、たとえば、委託先名称、仕様、未設定データID、納期、ステータス(発注済、キャンセル中の別)、および価格の情報などを含む。また、発注済データ表示部254に対応して、発注処理部261が設けられる。発注処理部261は、各案件の発注内容を確認するための発注内容確認ボタンと、各案件の依頼を取り消す取消ボタンとを含む。
【0123】
納品済データ表示部255には、納品済の案件の情報が一覧表示される。納品済の案件の情報は、たとえば、委託先名称、仕様、データID、納期、納品日、および価格の情報などを含む。また、納品済データ表示部255に対応して、納品処理部262が設けられる。納品処理部262は、タグ情報が設定された学習用データを含む納品済のデータの内容を確認するための納品内容確認ボタンと、納品済の案件の明細を確認する明細確認ボタンと、納品済の案件の検収・決済を行う検収・決済ボタンとを含む。納品済の案件の検収が行われると、納品済のデータに含まれる学習用データが、学習用データDB51に登録される。
【0124】
記憶領域確認部256には、ユーザの占有領域の情報が表示される。また、記憶領域確認部256に対応して、ユーザの占有領域の容量を変更するための容量変更ボタン263が設けられる。
【0125】
図9に戻って、学習用データ生成ボタン138が操作されると、
図20に示すような学習用データ管理画面270が表示される。学習用データ管理画面270は、学習用データDB51に登録されている学習用データを管理するための画面である。学習用データ管理画面270は、学習用データ表示部271と、利用者確認ボタン272とを含む。
【0126】
学習用データ表示部271には、学習用データDB51に登録されている学習用データの情報が一覧表示される。学習用データの情報は、たとえば、データ名称、データID、データボリューム、アノテーション設定区分(自身、外部委託の別)、公開区分(公開、非公開の別)、利用回数、および価格の情報などを含む。学習用データ表示部271で公開区分が「公開」の学習用データが選択された状態で利用者確認ボタン272が操作されると、
図21に示すような利用者確認画面280が表示される。
【0127】
利用者確認画面280は、公開した学習用データの利用者を確認するための画面である。利用者確認画面280は、学習用データの名称およびIDを含む学習用データの識別情報を表示するデータ識別情報表示部281と、利用情報表示部282と、利用者連絡ボタン283とを含む。
【0128】
利用情報表示部282には、学習用データの利用情報が一覧表示される。学習用データの利用情報は、利用機会毎に表示され、利用者のID、利用日、評価スコア、用途、およびコメントの有無の情報などを含む。利用情報表示部282でコメントが「有」の利用機会が選択された状態で利用者連絡ボタン283が操作されると、
図22に示すような連絡画面290が表示される。
【0129】
連絡画面290は学習用データの利用者とコミュニケーションをとるための画面である。連絡画面290は、学習用データの利用者の氏名またはIDなどを含む利用者の識別情報を表示する利用者情報表示部291と、メッセージ表示部292と、メッセージ入力部293と、メッセージ送信ボタン294とを含む。
【0130】
メッセージ表示部292は、利用者からのメッセージと、ログイン中のユーザ(学習用データの提供元のユーザ)からのメッセージとをチャット形式で表示する。メッセージ入力部293は、新たに送信するメッセージの入力を受け付けるテキストボックスである。メッセージ送信ボタン294が操作されると、メッセージ入力部293に入力されているメッセージが送信され、メッセージ表示部292に追加表示される。
【0131】
図9に戻って、学習済モデル登録ボタン139が操作されると、
図23に示すような学習済モデル登録画面300が表示される。学習済モデル登録画面300は、学習済モデルを登録するための画面である。学習済モデル登録画面300は、登録部301と、登録モデル表示部302と、検証部303とを含む。
【0132】
登録部301は、所望の学習済モデルの学習条件(生成条件)を設定し、学習条件に従って生成した学習済モデルを登録するために設けられる。登録部301では、学習済モデルの名称の入力を受け付けるテキストボックスが設けられており、また、複数の学習条件をプルダウンメニューによって選択できるようになっている。学習条件としては、OS、プログラムタイプ、適用分野、ソースコード、バージョン番号、価格、公開区分、およびデータ学習モードなどがある。
【0133】
これに加えて、利用する学習用データを検索して登録するための学習用データ検索ボタンが設けられていてもよい。学習用データ検索ボタンが操作されると、学習用データの検索画面が表示され、学習用データ検索条件を指定して学習用データを検索することができる。学習用データの検索画面には、ヒットした学習用データに加えて、バリエーションのデータの情報も表示され、各学習用データを個別に利用登録することができる。たとえば、肺がんと診断された後の学習用データが検索でヒットした場合には、これのバリエーションとして肺がんと診断される前の学習用データが表示されることがあり、肺がんと診断される前の学習用データを利用登録して、肺がんの兆候の有無を検出する学習済モデルを生成することができる。
【0134】
また、登録部301は、プログラムを外部コンピュータまたは外部記憶媒体などからアップロードするためのアップロードボタン304と、登録部301で設定された学習条件で学習済モデルを生成して登録する登録ボタン305とを含む。
【0135】
登録モデル表示部302には、学習済モデルDB53に登録されている学習済モデルのうち、ユーザが利用登録した学習済モデル(登録済の学習済モデル)の情報が一覧表示される。登録済の学習済モデルの情報は、モデルID、モデル名称、OS、プログラムタイプ、アルゴリズムの種類、適用分野、ソースコード、バージョン番号、登録日、検証日、検証結果、自動バージョンアップ内容、および学習用データIDなどの情報を含む。登録モデル表示部302に表示される登録済の学習済モデルは、個別に選択することができる。また、登録モデル表示部302に対応して、登録モデル処理部306が設けられる。登録モデル処理部306は、登録済の学習済モデルの詳細内容を確認するための詳細内容確認ボタンと、登録済の学習済モデルを削除(登録を解除)する削除ボタンと、登録済の学習済モデルに紐づけられた学習用データの内容を表示する学習用データ表示ボタンと、登録済の学習済モデルのエラー確認を行うためのエラー確認ボタンとを含む。
【0136】
検証部303は、登録済の学習済モデルを検証するために設けられる。検証部303は、検証を実行する検証実行部307と、各種データを確認するためのデータ確認部308とを含む。検証実行部307は、登録済の学習済モデルの検証を実行する実行ボタンと、検証結果を表示する検証結果参照ボタンとを含む。データ確認部308は、登録済の学習済モデルに紐づけられた学習用データの内容を表示する学習用データ表示ボタンと、検証済のデータ(検証データ)を表示する検証データ表示ボタンとを含む。
【0137】
図9に戻って、学習済モデル実行ボタン140が操作されると、
図24に示すような演算処理画面310が表示される。演算処理画面310は、学習済モデルを利用した演算に関する各種処理を行うための画面である。演算処理画面310は、演算用データ表示部311と、登録済モデル表示部312と、利用可能マシン表示部313と、待機ジョブ表示部314と、処理中ジョブ表示部315と、処理結果表示部316と、処理結果確認ボタン317と、学習済モデル登録ボタン318とを含む。
【0138】
演算用データ表示部311には、演算用データDB55に登録されている演算用データの情報が一覧表示される。演算用データの情報は、データID、データ名称、データ種別、データ件数、およびデータサイズなどの情報を含む。また、演算用データ表示部311に対応して、演算用データ処理部319が設けられる。演算用データ処理部319は、ユーザの占有領域を変更するための記憶領域変更ボタンと、演算用データを外部コンピュータまたは外部記憶媒体などからアップロードするためのアップロードボタンと、演算に用いる演算用データを選択するための選択ボタンとを含む。
【0139】
登録済モデル表示部312には、ユーザが利用登録している登録済の学習済モデルの情報が一覧表示される。学習済モデルの情報は、モデルID、モデル名称、学習済モデルのOS、プログラムの種類、アルゴリズムの種類、適用分野、バージョン番号、および学習用データIDなどの情報を含む。また、登録済モデル表示部312に対応して、登録済モデル処理部320が設けられる。登録済モデル処理部320は、登録済の学習済モデルの詳細内容を表示するための詳細内容表示ボタンと、演算に用いる学習済モデルを選択するための選択ボタンとを含む。
【0140】
利用可能マシン表示部313には、現在利用可能な仮想マシン41、42の情報が一覧表示される。仮想マシン41、42の情報は、マシン番号、メモリ容量、CPUのコア数、確保条件(月または年の別)、稼働状態(待機中、未使用など)、累積使用時間、および実行経過時間などの情報を含む。利用可能マシン表示部313に表示される仮想マシン41、42は、個別に選択することができる。また、利用可能マシン表示部313に対応して、演算予約ボタン321が設けられており、プルダウンメニューから実行日および実行時間を指定して、演算予約ボタン321が操作されると、選択された学習済モデルに従って、選択された演算用データを用いて演算を行う演算ジョブが予約される。
【0141】
待機ジョブ表示部314には、予約済であって未実行の演算ジョブの情報が表示される。また、処理中ジョブ表示部315には、実行中の演算ジョブの情報が表示される。演算ジョブの情報は、演算用データ識別情報(演算用データの名称)、実行予定日時、仮想マシン識別情報(実行予定マシン番号)、および学習済モデル識別情報(学習済モデルID)などの情報を含む。また、待機ジョブ表示部314に対応して、未実行の演算ジョブの予約を取り消すための取消ボタン322が設けられる。
【0142】
処理結果表示部316は、実行済の演算ジョブの処理結果の情報が一覧表示される。演算ジョブの処理結果の情報は、演算用データ識別情報(演算用データの名称)、実行予定日時、仮想マシン識別情報(実行予定マシン番号)、学習済モデル識別情報(学習済モデルID)、および処理結果の概要(正常終了またはエラー発生の別)などの情報を含む。処理結果表示部316に表示される処理結果は、演算ジョブ毎に個別に選択することができ、処理結果が選択された状態で、処理結果確認ボタン317が操作されると、処理結果の具体的な内容が表示される。
学習済モデル登録ボタン318が操作されると、
図23に示すような学習済モデル登録画面300が表示される。
【0143】
図9に戻って、計算結果比較ボタン141が操作されると、演算処理結果の比較を行うことができる。また、領収証発行ボタン142が操作されると、本システムの利用に係る領収証を発行することができる。
<更新データ登録時の再学習>
【0144】
上述したように、学習用データの登録、学習済モデルの登録については、基本的にはユーザが手動で行うことになる。ただし、学習用データが登録されたときに、その学習用データの前のバージョンの学習用データ(更新前データ)が学習済モデルDB53に既に登録されていることがある。この場合、登録される学習用データは、既に登録されている更新前データに対する更新データとなる。更新データが登録された場合には、更新前データと更新データとは区別可能に登録される。
【0145】
また、更新前データを利用した学習済モデル(更新前の学習済モデル)が存在する場合には、更新前の学習済モデルが更新データで自動的に再学習され、更新後の学習済モデルが自動生成される。
図25は管理サーバ2の再学習動作のフローチャート図である。以下、
図25を参照して再学習動作を説明する。
【0146】
まず、新たに学習用データが登録されると(ステップS1)、学習用データDB51が参照されて(ステップS2)、ステップS1で登録された学習用データが更新データかどうかが判断される(ステップS3)。すなわち、ステップS1で登録された学習用データの前のバージョンの学習用データが存在するかどうかが判断される。
【0147】
ステップS1で登録された学習用データが更新データでなければ(ステップS3:NO)、新規な学習用データとして学習用データDB51に登録される(ステップS4)。一方、ステップS1で登録された学習用データが更新データであれば(ステップS3:YES)、更新前データの利用実績があるか、すなわち、更新前データを利用した更新前の学習済モデルが存在するかどうかが判断される(ステップS5)。
【0148】
更新前データの利用実績がある場合には(ステップS5:YES)、更新前データを利用した更新前の学習済モデルのデータを読み出し(ステップS6)、更新データを利用して更新前の学習済モデルに自動再学習処理が実行され(ステップS7)、自動再学習処理によって生成された新たな学習済モデルが更新前の学習済モデルとは区別されて学習済モデルDB53に登録され(ステップS8)、更新データが更新前データとは区別されて学習用データDB51に登録され(ステップS9)、再学習動作が終了する。また、更新前データの利用実績が無い場合には(ステップS5:NO)、更新データが更新前データとは区別されて学習用データDB51に登録され(ステップS9)、再学習動作が終了する。
【0149】
以上の構成および動作により、互いに異なる条件で機械学習した複数の学習済モデルが生成され、複数の学習済モデルのデータのそれぞれが、機械学習で用いた学習用データと紐づけられて、区別可能に登録されるので、ユーザの多様なニーズに対応できるように学習済モデルのデータを管理し、ユーザの利便性を向上させることができる。
【0150】
また、区別可能に登録された複数の学習済モデルのデータのそれぞれを、ユーザが指定したモデル検索条件に従って検索することができるので、ユーザの利便性を向上させることができる。
【0151】
さらに、複数の学習済モデルのデータのそれぞれは、学習履歴のデータおよび機械学習で用いた学習用データを含むので、検索によりヒットした学習済モデルの学習履歴のデータおよび機械学習で用いた学習用データの情報をユーザに提示することができ、ユーザの利便性を向上させることができる。
【0152】
さらにまた、学習用データは、互いに異なる条件で複数生成されており、複数の学習用データのそれぞれが区別可能に登録され、学習済モデルは、複数の学習用データのうち少なくとも1つを用いて生成され、複数の学習済モデルのデータのそれぞれが、機械学習で用いた学習用データと紐づけられて、区別可能に登録されるので、ユーザの多様なニーズに対応できるように学習済モデルのデータを管理し、ユーザの利便性を向上させることができる。
【0153】
また、区別可能に登録された複数の学習用データのそれぞれを、ユーザが指定した学習用データ検索条件に従って検索することができるので、ユーザの利便性を向上させることができる。
【0154】
新たに登録された学習用データが、既に登録されている学習用データに対応する更新データである場合に、更新データに対応する学習用データを用いて生成された更新前の学習済モデルを当該更新データで再学習するので、最新のバージョンの学習済モデルを自動的に生成し、ユーザの利便性を向上させることができる。
【0155】
この発明は本実施形態に限られず他の様々な実施形態とすることができる。また、上述の実施形態で挙げた画面および具体的な構成等は一例であり、実際の製品に応じて適宜変更することが可能である。
【0156】
たとえば、上述の実施形態では、演算処理システム1の各種操作画面は、ユーザ端末3の表示部33に表示されるようにしたが、各種操作画面は、管理サーバ2の表示部23に表示されるようにしてもよい。
【産業上の利用可能性】
【0157】
この発明は、機械学習を用いた学習済モデルを用いて演算を行うことにより、入力に対し一定の結果を出力するような産業に利用することができる。
【符号の説明】
【0158】
1…データ管理システム
2…管理サーバ
21…制御部
22…入力部
23…表示部
24…通信部
25…補助記憶部
3…ユーザ端末
31…制御部
32…入力部
33…表示部
4…仮想マシンサーバ
41…占有仮想マシン
42…共有仮想マシン
5…公衆回線
50…元データDB
51…学習用データDB
52…未学習モデルDB
53…学習済モデルデータDB
54…ユーザ管理データDB
60…学習済モデルデータ
61…実行データ
62…モデル情報データ
63…学習用データ
64…変更履歴データ