JP2024012087A - 機械学習モデルのデータ管理システム及びデータ管理方法 - Google Patents

機械学習モデルのデータ管理システム及びデータ管理方法 Download PDF

Info

Publication number
JP2024012087A
JP2024012087A JP2023083326A JP2023083326A JP2024012087A JP 2024012087 A JP2024012087 A JP 2024012087A JP 2023083326 A JP2023083326 A JP 2023083326A JP 2023083326 A JP2023083326 A JP 2023083326A JP 2024012087 A JP2024012087 A JP 2024012087A
Authority
JP
Japan
Prior art keywords
data
flag
model
management table
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023083326A
Other languages
English (en)
Inventor
いつみ 土屋
Itsumi Tsuchiya
聡一 高重
Soichi Takashige
達広 松井
Tatsuhiro Matsui
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to US18/216,647 priority Critical patent/US20240020577A1/en
Publication of JP2024012087A publication Critical patent/JP2024012087A/ja
Pending legal-status Critical Current

Links

Images

Abstract

Figure 2024012087000001
【課題】
機械学習モデルのデータ管理において、不要なデータの削除を効率的に運用する。
【解決手段】
機械学習モデルのデータ管理システム1において、フラグ管理情報(フラグ重要度管理テーブル32)は、ライフサイクルに含まれる複数の処理のうちの1以上の所定の処理について、各処理に対応して定義されたフラグを管理し、運用部27は、モデルの運用時の所定の処理への関与に応じて、当該モデルの入力データ及び出力データに、フラグ管理情報に定義されたフラグを付与し、データ管理部25は、それぞれの入力データ及び出力データについて、運用部27によって当該データに付与されたフラグに基づいて、当該データの保存の要否を判定する。
【選択図】図1

Description

本発明は、機械学習モデルのデータ管理システム及びデータ管理方法に関し、機械学習のライフサイクルに合わせて機械学習の入出力データの要否の判定を支援する機械学習モデルの実績データ管理システム及び実績データ管理方法に適用して好適なものである。
機械学習では、モデルの精度を維持または向上するために、推論及び評価を含むライフサイクルを繰り返すことが効果的である。この際、推論時のデータを蓄積し、蓄積したデータを監視及び分析することが必要となり、それらの機能を提供する基盤への要求が高まっている。
機械学習のライフサイクルに関して、例えば特許文献1には、入力データから生成されたモデルの学習を繰り返し、確度の高いモデルに差し替えていくことを支援する、機械学習を用いた運用支援システムが開示されている。
特開2021-60940号公報
しかし、上記した従来技術では、機械学習のモデルにおける入力データ及び出力データについて、以降の機械学習において必要なデータであるか否かを考慮した運用が考案されていない。その結果、ライフサイクルを回していくと、データが蓄積される一方となり、システムのランニングコストが高くなっていくという問題があった。
本発明は以上の点を考慮してなされたもので、不要なデータの削除を効率的に運用することが可能な機械学習モデルのデータ管理システム及びデータ管理方法を提案しようとするものである。
かかる課題を解決するため本発明においては、機械学習のライフサイクルに沿ってモデルを運用しながら、前記モデル及びその関連データを管理する機械学習モデルのデータ管理システムであって、前記ライフサイクルに含まれる複数の処理のうちの1以上の所定の処理について、各処理に対応して定義されたフラグを管理するフラグ管理情報と、前記ライフサイクルに沿ってモデルを運用する運用部と、前記モデルの入力データ及び出力データを管理するデータ管理部と、を備え、前記運用部は、前記モデルの運用時の前記所定の処理への関与に応じて、当該モデルの入力データ及び出力データに、前記フラグ管理情報に定義されたフラグを付与し、前記データ管理部は、それぞれの前記入力データ及び前記出力データについて、前記運用部によって当該データに付与されたフラグに基づいて、当該データの保存の要否を判定することを特徴とする機械学習モデルのデータ管理システムが提供される。
また、かかる課題を解決するため本発明においては、機械学習のライフサイクルに沿ってモデルを運用しながら、前記モデル及びその関連データを管理する機械学習モデルのデータ管理システムによるデータ管理方法であって、前記データ管理システムは、前記ライフサイクルに含まれる複数の処理のうちの1以上の所定の処理について、各処理に対応して定義されたフラグを管理するフラグ管理情報と、前記ライフサイクルに沿ってモデルを運用する運用部と、前記モデルの入力データ及び出力データを管理するデータ管理部と、を有し、前記運用部が、前記モデルの運用時の前記所定の処理への関与に応じて、当該モデルの入力データ及び出力データに、前記フラグ管理情報に定義されたフラグを付与する運用ステップと、前記データ管理部が、それぞれの前記入力データ及び前記出力データについて、前記運用ステップで当該データに付与されたフラグに基づいて、当該データの保存の要否を判定する要否判定ステップと、を備えることを特徴とする機械学習モデルのデータ管理方法が提供される。
本発明によれば、機械学習モデルのデータ管理において、不要なデータの削除を効率的に運用することができる。
本発明の一実施形態に係るデータ管理システム1の構成例を示すブロック図である。 データ管理テーブル31の一例を示す図である。 フラグ重要度管理テーブル32の一例を示す図である。 再学習見込み管理テーブル33の一例を示す図である。 再学習見込み履歴管理テーブル34の一例を示す図である。 監視画面管理テーブル35の一例を示す図である。 監視画面履歴管理テーブル36の一例を示す図である。 学習処理管理テーブル37の一例を示す図である。 評価処理管理テーブル38の一例を示す図である。 全体処理の処理手順例を示すフローチャートである。 データ入力処理の処理手順例を示すフローチャートである。 学習処理の処理手順例を示すフローチャートである。 監視画面110の一例を示す図である。 再学習画面120の一例を示す図である。 評価処理の処理手順例を示すフローチャートである。 評価画面130の一例を示す図である。 モデル更新処理の処理手順例を示すフローチャートである。 データ管理処理の処理手順例を示すフローチャートである。 結果表示処理の処理手順例を示すフローチャートである。 データ管理結果画面140の一例を示す図である。 データ管理システム1の変形例であるデータ管理システム1Aの構成例を示すブロック図である。 データ管理テーブル31Aの一例を示す図である。 フラグ重要度管理テーブル32Aの一例を示す図である。 インシデント管理テーブル51の一例を示す図である。 誤報管理テーブル52の一例を示す図である。 インシデント収集処理の処理手順例を示すフローチャートである。 インシデント評価処理の処理手順例を示すフローチャートである。
以下、図面を参照して、本発明の実施形態を詳述する。
なお、以下の記載及び図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされている。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。本発明が実施形態に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。本発明は、当業者であれば本発明の範囲内で様々な追加や変更等を行うことができる。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は複数でも単数でも構わない。
以下の説明では、「テーブル」、「表」、「リスト」、「キュー」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、少なくとも1以上のプロセッサ(例えばCPU)によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又はインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノード、ストレージシステム、ストレージ装置、サーバ、管理計算機、クライアント、又は、ホストであってもよい。プログラムを実行して行う処理の主体(例えばプロセッサ)は、処理の一部又は全部を行うハードウェア回路を含んでもよい。例えば、プログラムを実行して行う処理の主体は、暗号化及び復号化、又は圧縮及び伸張を実行するハードウェア回路を含んでもよい。プロセッサは、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。プロセッサを含む装置及びシステムは、これらの機能部を含む装置及びシステムである。
プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ(例えばCPU)と記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムとを記憶してよい。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布してよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
(1)システム構成
図1は、本発明の一実施形態に係るデータ管理システム1の構成例を示すブロック図である。データ管理システム1は、CPU10、主記憶装置20、及び補助記憶装置30を有して構成される計算機である。図1の場合、データ管理システム1の外部にネットワーク4を介して入力装置2及び表示装置3が接続されているが、入力装置2及び表示装置3は、データ管理システム1の内部構成であってもよい。
CPU10はプロセッサの一例であり、CPU(Central Processing Unit)に限定されるものではなく、GPU(Graphics Processing Unit)等であってもよい。
主記憶装置20は、DRAM(Dynamic RAM)等のメモリであって、プログラム及びデータを記憶する。図1には、主記憶装置20が、データ入力部21、学習処理部22、評価処理部23、モデル更新処理部24、データ管理部25、及び情報表示部26を有する構成を示しているが、これらの各機能部21~26は、CPU10が主記憶装置20(メモリ)にプログラムを読み出して実行することにより、各機能が実現される。プログラム本体は、主記憶装置20または補助記憶装置30等に格納される。各機能部21~26が提供する機能(プログラムが実行する処理)の詳細は、図面を参照しながら後述する。なお、上記の機能部21~24は、機械学習のライフサイクルに沿ってモデルを運用する機能を有することから、これらをまとめて運用部27と称する。
補助記憶装置30は、データ及びプログラムを記憶する記憶装置であって、具体的にはHDD(Hard Disk Drive)やSSD(Solid State Drive)等であるが、これらに限定されるものではなく、クラウド等を利用してもよい。図1によれば、補助記憶装置30には、データ管理テーブル31、フラグ重要度管理テーブル32、再学習見込み管理テーブル33、再学習見込み履歴管理テーブル34、監視画面管理テーブル35、監視画面履歴管理テーブル36、学習処理管理テーブル37、及び評価処理管理テーブル38が格納されている。各管理テーブル31~38の詳細は、図面を参照しながら後述する。また、補助記憶装置30は、不図示のモデル記憶部において、データ管理システム1が使用するモデルを格納する。
入力装置2は、ユーザが操作する入力デバイスであって、具体的には例えば、マウスまたはキーボード等である。
表示装置3は、ユーザが使用する出力デバイスであって、具体的には例えば、ディスプレイである。表示装置3は、情報表示部26によって生成される各種の表示画面(後述する監視画面110、再学習画面120、評価画面130、及びデータ管理結果画面140)を表示する。なお、本実施形態におけるデータ管理システム1からの情報の出力形式は表示に限定されるものではなく、記録媒体へのデータ出力、または印刷など、一般的に知られた様々な出力形式を採用可能である。
(2)データ構成
以下では、補助記憶装置30が保持する各種の管理テーブル31~38について、具体例を示しながら詳しく説明する。
(2-1)データ管理テーブル31
図2は、データ管理テーブル31の一例を示す図である。データ管理テーブル31は、機械学習のモデルにおける入出力データを管理する情報である。図2に示すデータ管理テーブル31は、データID311、日付312、データ313、データ種別314、モデルバージョン(モデルVer.)315、重要度316、及び削除推奨317の項目を有して構成され、データID311が主キーとなる。
データID311は、当該レコードで管理する入出力データ(以後の図2の説明においては「当該データ」と称する)を識別可能な識別子であり、データ管理システム1が保持しているデータごとに異なるIDが採番される。日付312は、当該データが生成された日付を示す(日時を示すものであってもよい)。データ313は、実測値等の当該データそのものを示す。データ種別314は、当該データの種別を示し、具体的には、当該データが入力データである場合は「入力」、当該データが出力データである場合は「出力」とする。モデルバージョン315は、当該データが入力または出力されたモデルのバージョンを示す。
重要度316は、当該データに付与されたフラグに基づいて、データ管理システム1が保持するデータとしての重要度を示す。保持するデータとして重要であるものは大きな数値が登録され、重要ではないものは小さな数値が登録される。本実施形態に係るデータ管理システム1では、個々の入出力データは、機械学習のライフサイクルを回すなかで当該データが関与し得る処理に応じて(すなわち、データがどのような処理に使用されたか、またはどのような処理に使用され得るかによって)、当該処理に対応するフラグ(フラグID)が付与される。後述する図3のフラグ重要度管理テーブル32に示すように、各フラグ(フラグID321)には重要度323が対応づけられており、重要度316に登録される値は、当該データに付与されているフラグの重要度323に基づいて算出される。具体的には例えば、当該データに付与されているすべてのフラグの重要度323を加算して重要度316としてもよいし、他にも例えば、当該データに付与されているフラグの重要度323のうちで最も値が大きい重要度323を選択して重要度316とする等としてもよい。
削除推奨317は、当該データの削除を推奨するか否かの評価値を示す。削除推奨317に格納する評価値は、当該データの重要度316に基づいて決定されるが、その決定方法は特段の方法に限定されない。本例では、当該データの重要度316が所定の閾値以下の場合は、当該データの削除を推奨することを意味する「1」を、当該データの重要度316が所定の閾値を超える場合は、当該データの削除を推奨しないことを意味する「0」を格納する。決定方法のバリエーションとして、複数段階の閾値を設け、削除推奨のレベル(評価値)を複数段階で算出する等としてもよい。
上記したデータ管理テーブル31の各項目の値は、データ入力処理(図10のステップS1)、評価処理(図10のステップS3)、及びデータ管理処理(図10のステップS5)の実行中に、適宜、レコード単位で登録または更新される。
(2-2)フラグ重要度管理テーブル32
図3は、フラグ重要度管理テーブル32の一例を示す図である。フラグ重要度管理テーブル32は、フラグの重要度を管理する情報である。図2の重要度316において説明したように、フラグは、機械学習のライフサイクルを回すなかで、入出力データが関与し得る処理に応じて各入出力データに付与される。したがって、1つの入力データまたは出力データには、複数のフラグが付与され得る。図3に示すフラグ重要度管理テーブル32は、フラグID321、フラグ種別322、及び重要度323の項目を有して構成され、フラグID321が主キーとなる。
フラグID321は、当該レコードで管理するフラグ(以後の図3の説明においては「当該フラグ」と称する)を識別可能な識別子であって、フラグごとに異なるIDが採番される。フラグ種別322は、当該フラグの名称を示す。図3の場合、フラグ種別322の値には、当該フラグを付与する入出力データが関与する(または関与し得る)処理または結果表示画面の名称が使用されているが、関与する処理または結果表示画面について複数段階に分けてフラグを設定するようにしてもよい。
重要度323は、当該フラグを付与したデータをデータ管理システム1で維持する(すなわち、削除しない)ことに対する優先度を示す。重要度323が大きいほど重要なフラグとなり、当該フラグが付与された入出力データをデータ管理システム1で維持すべきである(削除すべきではない)ことを意味する。
上記したフラグ重要度管理テーブル32の各項目の値は、レコード単位で事前に登録される。さらに、フラグ重要度管理テーブル32は、各項目の登録後も、必要に応じて、重要度323の変更、及びフラグ(レコード)の追加または削除等を行うことができる。また、フラグ重要度管理テーブル32で管理するフラグの種類は、上記例に限定されるものではない。
(2-3)再学習見込み管理テーブル33
図4は、再学習見込み管理テーブル33の一例を示す図である。再学習見込み管理テーブル33は、今後も学習処理(図10のステップS2)を実施する可能性があるデータ(再学習の見込みがあるデータ)を管理する情報である。本実施形態では、ある入力データを使用してモデルから出力データを生成したときに、出力データが異常検知された場合、または入力データの希少度が高い場合に、当該入力データを再学習の見込みがあるデータと判断する。図4に示す再学習見込み管理テーブル33は、再学習見込みID331、フラグID332、データID333、及び登録日時334の項目を有して構成され、再学習見込みID331が主キーとなる。
再学習見込みID331は、当該レコードで管理するデータを識別可能な識別子であり、再学習の見込みがあるデータごとに異なるIDが採番される。フラグID332は、図3のフラグ重要度管理テーブル32のフラグID321に基づいて、再学習見込みに関するフラグのIDを示す。具体的には、図3のフラグ重要度管理テーブル32においてフラグ種別322が「再学習見込み」であるレコードのフラグID321は「F0001」となっており、この「F0001」がフラグID332に登録される。再学習に使用する見込みがあるデータは、データ管理システム1から削除しない方が良いと想定されるデータである(削除すると再学習に使用できなくなる)ことから、再学習見込み管理テーブル33で管理するデータに付与されるフラグ「F0001」には比較的高い重要度「4」が設定されている(図3参照)。データID333は、図2のデータ管理テーブル31に基づいて、当該レコードで管理するデータに付与された識別子(データID311)を示す。登録日時334は、当該レコード(再学習の見込みがあるデータ)を再学習見込み管理テーブル33に登録した日時を示す。
上記した再学習見込み管理テーブル33の各項目の値は、データ入力処理(図10のステップS1)においてレコード単位で登録され、登録されていたデータが学習処理(図10のステップS2)に使用された場合に、当該学習処理のなかでレコードが削除される。そして、再学習見込み管理テーブル33からレコードが削除されたデータは、図5に示す再学習見込み履歴管理テーブル34及び図8に示す学習処理管理テーブル37に登録される。
(2-4)再学習見込み履歴管理テーブル34
図5は、再学習見込み履歴管理テーブル34の一例を示す図である。再学習見込み履歴管理テーブル34は、再学習見込み管理テーブル33に登録された後に学習処理に使用されたデータ(入力データ)を管理する情報である。図5に示す再学習見込み履歴管理テーブル34は、再学習見込み履歴ID341、フラグID342、データID343、及び登録日時344の項目を有して構成され、再学習見込み履歴ID341が主キーとなる。
再学習見込み履歴ID341は、当該レコードで管理するデータを識別可能な識別子であり、再学習見込み管理テーブル33に登録後に学習処理に使用された(再学習に使用された)入力データごとに異なるIDが採番される。フラグID332は、図3のフラグ重要度管理テーブル32のフラグID321に基づいて、再学習見込み履歴に関するフラグのIDを示す。具体的には、図3のフラグ重要度管理テーブル32においてフラグ種別322が「再学習見込み履歴」であるレコードのフラグID321は「F0002」となっており、この「F0002」がフラグID342に登録される。再学習に使用された後の再学習見込みデータは、以降の重要度はそれほど高くないと考えられることから、再学習見込み履歴管理テーブル34で管理するデータに付与されるフラグ「F0002」には比較的低い重要度「2」が設定されている(図3参照)。データID343は、図2のデータ管理テーブル31に基づいて、当該レコードで管理するデータに付与された識別子(データID311)を示す。登録日時344は、当該レコード(再学習されたデータ)を再学習見込み履歴管理テーブル34に登録した日時を示す。
上記した再学習見込み履歴管理テーブル34の各項目の値は、再学習見込み管理テーブル33に登録されているデータが学習処理(図10のステップS2)で使用された場合に、当該学習処理のなかでレコード単位で登録される。
(2-5)監視画面管理テーブル35
図6は、監視画面管理テーブル35の一例を示す図である。監視画面管理テーブル35は、監視画面に表示するデータを管理する情報である。図6に示す監視画面管理テーブル35は、監視画面ID351、フラグID352、データID353、及び登録日時354の項目を有して構成され、監視画面ID351が主キーとなる。
監視画面ID351は、当該レコードで管理するデータを識別可能な識別子であり、監視画面に表示するデータごとに異なるIDが採番される。フラグID352は、図3のフラグ重要度管理テーブル32のフラグID321に基づいて、監視画面に関するフラグのIDを示す。具体的には、図3のフラグ重要度管理テーブル32においてフラグ種別322が「監視画面」であるレコードのフラグID321は「F0003」となっており、この「F0003」がフラグID352に登録される。監視画面に表示するデータは、データ管理システム1から削除してはいけないデータである(削除すると監視画面に表示できなくなる)ことから、監視画面管理テーブル35で管理するデータに付与されるフラグ「F0003」には最も高い重要度「6」が設定されている(図3参照)。データID353は、図2のデータ管理テーブル31に基づいて、当該レコードで管理するデータに付与された識別子(データID311)を示す。登録日時354は、当該レコード(監視画面に表示するデータ)を監視画面管理テーブル35に登録した日時を示す。
上記した監視画面管理テーブル35の各項目の値は、モデル更新処理(図10のステップS4)のなかでレコード単位で登録される。また、モデル更新処理において新しいモデルバージョンのデータが監視画面管理テーブル35に登録された場合には、データが監視画面管理テーブル35に登録済みのデータのうち、新規登録されたデータと同じ日付(期間)で、新規登録されたデータのモデルバージョンとは異なるモデルバージョンを有するデータ(旧バージョンのデータ)のレコードが削除される。そして、監視画面管理テーブル35からレコードが削除されたデータは、図7に示す監視画面履歴管理テーブル36に登録される。
(2-6)監視画面履歴管理テーブル36
図7は、監視画面履歴管理テーブル36の一例を示す図である。監視画面履歴管理テーブル36は、監視画面に表示したことがあるデータを管理する情報である。図7に示す監視画面履歴管理テーブル36は、監視画面履歴ID361、フラグID362、データID363、及び使用期間364の項目を有して構成され、監視画面履歴ID361が主キーとなる。
監視画面履歴ID361は、当該レコードで管理するデータを識別可能な識別子であり、監視画面に表示したデータごとに異なるIDが採番される。フラグID362は、図3のフラグ重要度管理テーブル32のフラグID321に基づいて、監視画面履歴に関するフラグのIDを示す。具体的には、図3のフラグ重要度管理テーブル32においてフラグ種別322が「監視画面履歴」であるレコードのフラグID321は「F0004」となっており、この「F0004」がフラグID362に登録される。監視画面の表示に使用された後のデータは、以降の重要度は高くないと考えられることから、監視画面履歴管理テーブル36で管理するデータに付与されるフラグ「F0004」には最も低い重要度「1」が設定されている(図3参照)。使用期間364は、当該データが監視画面に表示されていた期間を示す。
上記した監視画面履歴管理テーブル36の各項目の値は、モデル更新処理(図10のステップS4)において監視画面管理テーブル35から削除されるデータがある場合に、当該モデル更新処理のなかで当該データに関してレコード単位で登録される。
(2-7)学習処理管理テーブル37
図8は、学習処理管理テーブル37の一例を示す図である。学習処理管理テーブル37は、後述する学習処理(図10のステップS2)に使用されたデータ(再学習実績のある入力データ)を管理する情報である。図8に示す学習処理管理テーブル37は、学習処理ID371、フラグID372、データID373、及び登録日時374の項目を有して構成され、学習処理ID371が主キーとなる。
学習処理ID371は、当該レコードで管理するデータを識別可能な識別子であり、学習処理に使用された入力データごとに異なるIDが採番される。フラグID372は、図3のフラグ重要度管理テーブル32のフラグID321に基づいて、学習処理に関するフラグのIDを示す。具体的には、図3のフラグ重要度管理テーブル32においてフラグ種別322が「学習処理」であるレコードのフラグID321は「F0005」となっており、この「F0005」がフラグID372に登録される。学習(再学習)に使用された実績をもつデータは、事後の検証等で参照される可能性が高く重要度が高いことから、学習処理管理テーブル37で管理するデータに付与されるフラグ「F0005」には比較的高い重要度「5」が設定されている(図3参照)。データID373は、図2のデータ管理テーブル31に基づいて、当該レコードで管理するデータに付与された識別子(データID311)を示す。登録日時374は、当該レコード(学習に使用された入力データ)を学習処理管理テーブル37に登録した日時を示す。
上記した学習処理管理テーブル37の各項目の値は、学習処理(図10のステップS2)においてレコード単位で登録される。
(2-8)評価処理管理テーブル38
図9は、評価処理管理テーブル38の一例を示す図である。評価処理管理テーブル38は、後述する評価処理(図10のステップS3)に使用された出力データを管理する情報である。図9に示す評価処理管理テーブル38は、評価処理ID381、フラグID382、データID383、及び登録日時384の項目を有して構成され、評価処理ID381が主キーとなる。
評価処理ID381は、当該レコードで管理するデータを識別可能な識別子であり、評価処理で評価された出力データごとに異なるIDが採番される。フラグID382は、図3のフラグ重要度管理テーブル32のフラグID321に基づいて、評価処理に関するフラグのIDを示す。具体的には、図3のフラグ重要度管理テーブル32においてフラグ種別322が「評価処理」であるレコードのフラグID321は「F0006」となっており、この「F0006」がフラグID382に登録される。評価実績をもつデータは、事後の検証等で参照される可能性があり、中程度の重要度があると想定されることから、評価処理管理テーブル38で管理するデータに付与されるフラグ「F0006」には中程度の重要度「3」が設定されている(図3参照)。データID383は、図2のデータ管理テーブル31に基づいて、当該レコードで管理するデータに付与された識別子(データID311)を示す。登録日時384は、当該レコード(評価された出力データ)を評価処理管理テーブル38に登録した日時を示す。
上記した評価処理管理テーブル38の各項目の値は、評価処理(図10のステップS3)においてレコード単位で登録される。
(3)処理
以下では、本実施形態に係るデータ管理システム1が実行する処理について、まずは全体処理を説明し、その後、全体処理を構成する各処理の詳細を説明する。
(3-1)全体処理
図10は、全体処理の処理手順例を示すフローチャートである。図10に示す全体処理は、データの機械学習に関してデータ管理システム1が実行する全体的な処理である。
図10によればまず、データ入力部21が、モデルから出力データを生成し、入出力データをデータ管理テーブル31に登録するデータ入力処理を実行する(ステップS1)。詳細は図11を参照しながら後述するが、データ入力処理には、入出力データをデータ管理テーブル31に格納する処理と、モデルを生成する処理と、モデルから出力データを生成する処理と、監視画面管理テーブル35にデータを登録する処理と、再学習見込み管理テーブル33にデータを登録する処理とが含まれる。
次に、学習処理部22が、データ入力処理で生成された出力データの精度が悪かった場合にモデルを再学習する学習処理を実行する(ステップS2)。詳細は図12を参照しながら後述するが、学習処理には、未学習の場合またはステップS1で生成された出力データの精度が悪かった場合に、選択したデータを用いて新しいモデルを生成する処理と、学習処理管理テーブル37にデータを格納する処理と、再学習見込み管理テーブル33からデータを削除する処理と、再学習見込み履歴管理テーブル34にデータを登録する処理とが含まれる。
次に、評価処理部23が、ステップS2で生成された新しいモデルから出力データを生成し、この出力データを評価する評価処理を実行する(ステップS3)。詳細は図15を参照しながら後述するが、評価処理には、新しいモデルから出力データを生成する処理と、データ管理テーブル31に入力データ及び出力データを格納する処理と、評価処理管理テーブル38にデータを登録する処理とが含まれる。
次に、モデル更新処理部24が、ステップS3の評価処理において生成された出力データの精度が良かった場合に、使用するモデルを更新するモデル更新処理を実行する(ステップS4)。詳細は図17を参照しながら後述するが、モデル更新処理には、使用するモデルを評価したモデルに更新する処理と、監視画面管理テーブル35にデータを登録する処理と、監視画面管理テーブル35からデータを削除する処理と、監視画面履歴管理テーブル36にデータを登録する処理とが含まれる。
次に、データ管理部25が、ステップS1~S4までの処理でデータに付与したフラグに基づいて各データの重要度を算出し、削除を推奨するデータであるかを判定して各データをデータ管理テーブル31に格納するデータ管理処理を実行する(ステップS5)。詳細は図18を参照しながら後述するが、データ管理処理には、各データに付与されたフラグを取得する処理と、フラグの重要度に基づいてデータの重要度を算出する処理と、データの重要度に基づいて削除推奨するデータを判定して判定結果をデータ管理テーブル31に登録する処理とが含まれる。
そして最後に、情報表示部26が、ステップS5のデータ管理処理で判定された削除推奨の判定結果等を表すデータ管理結果画面140を表示装置3に表示する結果表示処理を実行する(ステップS6)。詳細は図19を参照しながら後述するが、結果表示処理には、ステップS1~S5でデータ管理テーブル31に登録された情報を取得して表示する処理が含まれる。
機械学習はライフサイクルを繰り返すことによって、モデルの精度を維持または向上することができるため、ステップS6の処理後は、ステップS1に戻り、ステップS1~S6の処理が繰り返し実行されることが好ましい。但し、本実施形態に係るデータ管理システム1では、ステップS1~S5の一連の処理が実行されるごとに、必ずしもステップS6の結果表示処理が実行されなくてもよい。具体的には例えば、ステップS1~S5の一連の処理が定期的または不定期にループして実行されるなかで、削除推奨データに関する情報の表示を求めるユーザ操作が行われた場合に、当該時点における最新のループ処理のステップS5の後にステップS6の処理が実行されるようにしてもよい。
(3-2)データ入力処理
図11は、データ入力処理の処理手順例を示すフローチャートである。図11に示すデータ入力処理は、図10のステップS1の処理に相当し、データ入力部21によって実行される。
図11によれば、まず、データ入力部21は、実測値などの入力データをデータ管理テーブル31に格納する(ステップS101)。このとき、データ管理テーブル31では、当該入力データに関するレコードが新規に作成され、当該レコードにおけるデータID311、日付312、データ313、及びデータ種別314の項目値が登録される。モデルバージョン315の項目値は、ステップS101以降の所定のタイミングで登録されるとしてよい。例えば、後述するステップS102においてモデルが存在する場合は、そのモデルバージョンを登録すればよく、ステップS102においてモデルが存在しない場合には、ステップS103でモデルを生成したときに生成したモデルのモデルバージョンを登録すればよい。なお、重要度316及び削除推奨317の項目値は、データ管理処理において登録される。
次に、データ入力部21は、補助記憶装置30にモデルが存在しているかを確認する(ステップS102)。ステップS102においてモデルが存在している場合(ステップS102のYES)、データ入力部21はデータ入力処理を終了する。
ステップS102においてモデルが存在していない場合(ステップS102のNO)、データ入力部21は、ステップS101でデータ管理テーブル31に格納した入力データを基に、モデルを生成する(ステップS103)。
次に、データ入力部21は、ステップS101の入力データを入力として、ステップS103で生成したモデルから出力データを生成し(ステップS104)、生成した出力データをデータ管理テーブル31に登録する(ステップS105)。このとき、データ管理テーブル31では、当該出力データに関するレコードが新規に作成され、当該レコードにおけるデータID311、日付312、データ313、データ種別314、及びモデルバージョン315の項目値が登録される。なお、重要度316及び削除推奨317の項目値は、データ管理処理において登録される。
次に、データ入力部21は、入力データ及び出力データを監視画面管理テーブル35に登録する(ステップS106)。このとき、監視画面管理テーブル35では、入力データと出力データのそれぞれについて新規にレコードが作成され、各項目値が登録される。
次に、データ入力部21は、「出力データが異常検知された」こと、または「入力データの希少度が高い」ことの少なくとも何れかの条件が満たされるかを確認する(ステップS107)。出力データは、例えば、出力データが他の出力データと比較して大きく異なる場合、または出力データが所定の閾値を超える場合などに、異常と検知される。入力データは、他の入力データとの比較から希少度を算出することができ、その希少度が所定の閾値を超える場合などに、希少度が高いと判断される。これら出力データの異常検知及び入力データの希少度の判断は、一般的なプログラミング処理によって実現される。
ステップS107において上記条件の少なくとも何れかが満たされる場合(ステップS107のYES)、この入力データは特異性を有するデータであり、以降の学習処理で使用される可能性が高い(すなわち、再学習に用いられる見込みが高い)データであると判断できる。そこで、データ入力部21は、入力データを再学習見込み管理テーブル33に登録し(ステップS108)、その後、データ入力処理を終了する。ステップS108において、再学習見込み管理テーブル33では、入力データについて新規にレコードが作成され、各項目値が登録される。
一方、ステップS107において上記条件が何れも満たされない場合には(ステップS107のNO)、この入力データは以降の学習処理で使用される可能性が低いため、データ入力部21は、入力データを再学習見込み管理テーブル33に登録することなく、データ入力処理を終了する。
(3-3)学習処理
図12は、学習処理の処理手順例を示すフローチャートである。図12に示す学習処理は、図10のステップS2の処理に相当する。ステップS201~S203の処理はユーザによって行われ、ステップS204以降の処理は学習処理部22によって実行される。
図12によれば、まず、ユーザが、表示装置3に監視画面110を表示させ、監視画面110において出力データの精度を確認し(ステップS201)、データの精度が悪いか否かを判断する(ステップS202)。ステップS202の判断基準は、ユーザに委ねてもよいし、予め所定の判断基準を設けていてもよい。ステップS202においてデータの精度が悪くない場合(ステップS202のNO)、モデルの再学習を行う必要はないと判断できるため、ユーザは学習処理を終了する。
図13は、監視画面110の一例を示す図である。監視画面110は、所定の単位期間(例えば1日)ごとにモデルの入出力データの精度を確認できるような表示を行う画面であって、情報表示部26によって生成されて表示装置3に表示される。
図13に示した監視画面110の場合、データ一覧欄111に、データを確認可能な日付が示され、ユーザ操作によって何れかの日付に対応するグラフ表示ボタン112が押下されることで、当該日付におけるデータがグラフで表示される。したがってユーザは、グラフ表示された出力データを確認することにより、当該データの精度が悪いか否かを判断することができる。
図12の説明に戻る。ステップS202においてデータの精度が悪いと判断された場合(ステップS202のYES)、ユーザは所定の操作を行って再学習画面120を表示し、この再学習画面120のなかで、モデルの再学習に利用するデータの日付を選択する(ステップS203)。
図14は、再学習画面120の一例を示す図である。再学習画面120は、モデルの再学習を実行する際に表示される画面であって、情報表示部26によって生成されて表示装置3に表示される。
図14に示した再学習画面120の場合、再学習データ選択欄121には、モデルの再学習に利用するデータ(入力データ)の日付が選択可能に表示されており、ユーザが所望の日付を選択した後、再学習実行ボタン122を押下することにより、選択された日付のデータを用いたモデルの再学習(ステップS204)が開始される。具体的には図14の場合、「1月19日」及び「1月20日」が、再学習に用いるデータの日付として選択されている。
図12の説明に戻る。ステップS203で日付が選択された後は、学習処理部22が、選択された日付のデータ(入力データ)を用いて再学習をし、新しいモデルを生成する(ステップS204)。このとき、入力データのデータIDが、データ管理テーブル31を参照して取得される。また、生成したモデルには、新しいモデルバージョンが付与される。
次に、学習処理部22は、ステップS204のモデル生成で用いた入力データ(言い換えれば、ステップS203で選択された日付のデータ)を、学習処理管理テーブル37に登録する(ステップS205)。
次に、学習処理部22は、フラグ重要度管理テーブル32から、「再学習見込み」のフラグID321を取得する(ステップS206)。具体的には、図3のフラグ重要度管理テーブル32によれば、「F0001」のフラグIDが取得される。
次に、学習処理部22は、ステップS204で取得したデータIDとステップS206で取得したフラグIDとの組合せに該当するデータ(レコード)が再学習見込み管理テーブル33に登録されているか否かを確認する(ステップS207)。
ステップS207において条件に該当するデータが再学習見込み管理テーブル33に登録されている場合(ステップS207のYES)、再学習見込み管理テーブル33に登録されていたデータ(再学習見込みデータ)がステップS204の再学習に使用されたことを意味するため、学習処理部22は、再学習見込み管理テーブル33から当該データのレコードを削除する(ステップS208)。そして、学習処理部22は、ステップS204で取得したデータIDのデータを再学習見込み履歴管理テーブル34に登録し(ステップS209)、学習処理を終了する。
一方、ステップS207において条件に該当するデータが再学習見込み管理テーブル33に登録されていない場合には(ステップS207のNO)、再学習見込み管理テーブル33に登録されていたデータ(再学習見込みデータ)はステップS204の再学習に使用されておらず、再学習見込み管理テーブル33から削除する条件を満たさない。したがって、この場合、学習処理部22は学習処理を終了する。
以上のように学習処理が行われることにより、再学習見込みの精度が高いデータを選定してモデルの再学習を行うことができ、再学習に用いたデータを学習処理管理テーブル37に登録して「学習処理」のフラグ「F0005」を付与することができる。また、再学習見込み管理テーブル33に登録済みのデータが再学習に用いられた場合には、当該データの登録を再学習見込み管理テーブル33から削除するとともに、再学習見込み履歴管理テーブル34に登録して「再学習見込み履歴」のフラグ「F0002」を付与することができる。
なお、ステップS206及びステップS207は、処理順序が入れ替わってもよく、ステップS208及びステップS209も、処理順序が入れ替わってもよい。
(3-4)評価処理
図15は、評価処理の処理手順例を示すフローチャートである。図15に示す評価処理は、図10のステップS3の処理に相当する。ステップS301の処理はユーザによって行われ、ステップS302以降の処理は評価処理部23によって実行される。
図15によれば、まず、ユーザが、評価画面130を表示させて、モデルの評価に利用するデータを選択する(ステップS301)。
図16は、評価画面130の一例を示す図である。評価画面130は、新しいモデルによる出力データを確認する評価を実行するために、評価に用いる入出力データを選択することができる画面である。
図16に示した評価画面130の場合、データ一覧欄131には、評価対象のデータを選択可能な期間が示されており、ユーザ操作によって、何れかの期間に対応するグラフ表示ボタン132が押下されることで、選択された期間(日付)の入出力データを用いてステップS302における評価処理が実行される。この評価処理の完了後は、評価の際に生成された出力データがグラフ欄133に表示される。グラフ欄133には、評価用に、選択された期間(日付)の出力データも表示されてもよい。ユーザはこのグラフ表示からデータの精度を確認することができる。データの精度が良かった場合は、ユーザがモデル更新ボタン134を押下することで、今後のデータ入力の際に使用するモデルが更新される(後述する図17のステップS401)。
図15の説明に戻る。ステップS301で評価に利用する入力データが選択されると、評価処理部23は評価処理を実行する(ステップS302)。ステップS302の評価処理では、具体的には評価処理部23は、学習処理(図12のステップS204)で生成された新しいモデルに、評価画面130で選択された日付の入力データを入力して、出力データを生成する。図16を参照して説明したように、生成された出力データは評価画面130のグラフ欄133にグラフ表示され、ユーザがデータの精度を確認し、精度が良かった場合にモデル更新ボタン134が押下されることで、ステップS302の評価処理に関するデータが選択された状態となる。
次に、評価処理部23は、評価画面130で選択された日付の入力データ(すなわち、ステップS302の評価処理で入力データとして用いられたデータ)、及び当該評価処理で生成した出力データを、データ管理テーブル31に格納する(ステップS303)。これらの入出力データのデータ管理テーブル31への格納は、図11のステップS301と同様の手順で行われるが、モデルバージョン315の項目値には、図12のステップS204で生成されたモデルのモデルバージョンが登録される。
次に、評価処理部23は、評価画面130で選択された日付の入力データ(すなわち、ステップS302の評価処理で入力データとして用いられたデータ)、及び当該評価処理で生成した出力データを、評価処理管理テーブル38に登録する(ステップS304)。換言すると、ステップS304において評価処理部23は、ステップS303でデータ管理テーブル31に格納したデータを、評価処理管理テーブル38にも登録する。このとき、評価処理管理テーブル38では、登録する入力データまたは出力データごとに評価処理ID381を付与してレコードが新規に作成される。フラグID382には、「評価処理」に対応する「F0006」が登録され(フラグ重要度管理テーブル32を参照)、データID383には、データ管理テーブル31のデータID311を参照して対象データのデータIDが登録される。また、登録日時384には、現時点の日時が登録される。
以上のように図15の評価処理が行われることにより、学習処理で再生成された新しいモデルについて、ユーザが選択した入力データを用いた場合の出力データの精度を確認することで、上記新しいモデルの評価を行うことができる。そして、評価の結果、精度が良いと判断された場合には、入出力データをデータ管理テーブル31に格納するとともに、「評価処理」のフラグ「F0006」を付与することができる。
なお、図15の評価処理が行われた結果、学習処理で再生成された新しいモデルについて、データの精度が悪いと判断された場合は、後述するモデル更新処理をスキップしてデータ管理処理に移行するようにしてもよいし、別の処理手順として、前述した学習処理に戻り、再学習画面120で再学習に利用するデータにこれまでとは別のデータを選択して、その再学習の結果を用いて評価処理で再評価を行うようにしてもよい。
(3-5)モデル更新処理
図17は、モデル更新処理の処理手順例を示すフローチャートである。図17に示すモデル更新処理は、図10のステップS4の処理に相当し、モデル更新処理部24によって実行される。モデル更新処理は、前述した評価処理において学習処理で新しく生成されたモデルの精度が良いと判断された場合に、機械学習に今後使用するモデルに更新するための処理である。
図17によれば、まず、モデル更新処理部24は、評価画面130でモデル更新ボタン134が押下された場合に、学習処理(図12のステップS204)で新しく生成されたモデルを、機械学習に今後使用するモデルとして更新する(ステップS401)。具体的には例えば、モデル更新処理部24は、不図示のモデル記憶部に新しいモデルを追加格納し、機械学習に使用するモデルとして扱うように設定する。このとき、古いバージョン(厳密には、新しく生成されたモデルのバージョン以外のバージョンであり、以下も同様である)のモデルはモデル記憶部に残しておいてよい。
次に、モデル更新処理部24は、先の評価処理に利用した日付の入力データと、ステップS401で更新した新しいモデルから生成した出力データ(すなわち、評価処理のステップS302で生成された出力データ)と、を監視画面管理テーブル35に登録する(ステップS402)。入出力データの監視画面管理テーブル35への登録手順は、図11のステップS106と同様である。
次に、モデル更新処理部24は、データ管理テーブル31を参照して、ステップS402で監視画面管理テーブル35に登録したデータと同じ日付(期間)で、登録されたデータのモデルバージョンとは異なるモデルバージョンを有するデータ(旧バージョンのデータ)を検索し、該当するデータのデータID311を取得する(ステップS403)。
次に、モデル更新処理部24は、フラグ重要度管理テーブル32を参照し、「監視画面」に対応するフラグID321(本例では「F0003」)を取得する(ステップS404)。
次に、モデル更新処理部24は、ステップS403で取得したデータIDとステップS404で取得したフラグIDとの組合せに該当するデータ(レコード)が、監視画面管理テーブル35に登録されているかを確認する(ステップS405)。
ステップS405において条件に該当するデータが監視画面管理テーブル35に登録されている場合(ステップS405のYES)、ステップS402で登録した新しいモデルバージョンに紐付けされたデータとは別に、古いモデルバージョンに紐付けされたデータが監視画面管理テーブル35に登録されていることを意味する。したがってこの場合、モデル更新処理部24は、ステップS403で取得したデータIDのデータを監視画面履歴管理テーブル36に登録し(ステップS406)、当該データのレコードを監視画面管理テーブル35から削除する(ステップS407)。このステップS406~S407の処理によって、古いモデルバージョンに紐付けされたデータは、監視画面管理テーブル35から削除されて監視画面履歴管理テーブル36に登録され、当該データには、「監視画面」に対応するフラグID「F0003」に代えて「監視画面履歴」に対応するフラグID「F0004」が付与されることになる。ステップS407の処理後、モデル更新処理部24はモデル更新処理を終了する。
一方、ステップS405において条件に該当するデータが監視画面管理テーブル35に登録されていない場合は(ステップS405のNO)、古いモデルバージョンに紐付けされたデータが監視画面管理テーブル35に登録されておらず、監視画面管理テーブル35において同一日付で異なるモデルバージョンに紐付けされたデータが存在しない。したがってこの場合、モデル更新処理部24は、上述したステップS406~S407の処理を行うことなく、モデル更新処理を終了する。
なお、ステップS406及びステップS407は、処理順序が入れ替わってもよい。
(3-6)データ管理処理
図18は、データ管理処理の処理手順例を示すフローチャートである。図18に示すデータ管理処理は、図10のステップS5の処理に相当し、データ管理部25によって実行される。データ管理処理は、ここまでの各処理において各データに付与したフラグに基づいて各データの重要度を算出し、この重要度に基づいて各データの削除を推奨するか否か(削除推奨)を判定し、これらの算出及び判定の結果をデータ管理テーブル31に登録する処理である。
図18によれば、まず、データ管理部25は、データ管理テーブル31からレコードを1つずつ取得して、ループ1の処理(ステップS502~S511)を開始する(ステップS501)。以下の説明では、ステップS501で取得したレコードを「当該レコード」と称する。
ループ1の処理において、まず、データ管理部25は、当該レコードのデータID311を取得する(ステップS502)。さらに、データ管理部25は、当該レコードの重要度316の値を「0」にする(ステップS503)。なお、ステップS503の処理は、重要度をリセットするための処理であって、必ずしも値を「0」にすることに限定されない。
次に、データ管理部25は、フラグ重要度管理テーブル32からレコードを1つずつ取得して、ループ2の処理(ステップS505~S508)を開始する(ステップS504)。前述したように、フラグ重要度管理テーブル32の各レコードは、機械学習のライフサイクルにおける所定の処理ごとにデータに付与されるフラグとその重要度を管理している。
ループ2の処理において、まず、データ管理部25は、ステップS504で取得したフラグ重要度管理テーブル32のレコードからフラグID321を取得する(ステップS505)。
次に、データ管理部25は、ステップS505で取得したフラグID321に対応するフラグを管理している管理テーブル(具体的には、再学習見込み管理テーブル33、再学習見込み履歴管理テーブル34、監視画面管理テーブル35、監視画面履歴管理テーブル36、学習処理管理テーブル37、または評価処理管理テーブル38の何れか)において、ステップS502で取得したデータIDのデータが登録されているかを確認する(ステップS506)。
ステップS506において条件を満たさない場合、(ステップS506のNO)、データ管理部25は、ループ2の終了条件(フラグ重要度管理テーブル32の全レコードについて処理が完了した)が満たされるかを確認し、満たしていない場合はステップS504に戻ってループ2の処理を繰り返す。ループ2の終了条件を満たす場合は、ステップS509に進む。
一方、ステップS506において条件を満たす場合(ステップS506のYES)、データ管理部25は、データ管理テーブル31からステップS505で取得したフラグID321の重要度323を取得し(ステップS507)、取得した重要度をステップS502で取得したデータIDの重要度に加算する(ステップS508)。データ管理部25は、加算後の重要度を一時的に記憶しておき、ループ2の終了条件が満たされた場合に、データ管理テーブル31において上記データIDを管理するレコードの重要度316に最終的な加算後の重要度を登録する。あるいは、データ管理部25は、ステップS508で重要度を加算するごとに、データ管理テーブル31において上記データIDを管理するレコードの重要度316を、加算後の重要度で更新するようにしてもよい。その後、データ管理部25は、ループ2の終了条件が満たされるかを確認し、満たしていない場合はステップS504に戻ってループ2の処理を繰り返す。ループ2の終了条件を満たす場合は、ステップS509に進む。
上記のようにフラグ重要度管理テーブル32のレコード数の分だけループ2の処理を繰り返すことにより、ステップS502でデータIDを取得したデータ管理テーブル31のレコードの重要度316に、当該データIDが示すデータに付与されているフラグの重要度の合計値が登録される。
ループ2の処理を抜けた後、データ管理部25は、ループ2の処理によって算出されたデータの重要度が、所定の閾値以下であるか否かを判定する(ステップS509)。所定の閾値は、予めシステムに設定されてもよいし、ユーザが任意に変更可能としてもよい。
ステップS509においてデータの重要度が閾値以下であった場合(ステップS509のYES)、当該データの重要度が低いことから、データ管理部25は、データ管理テーブル31の当該データを管理するレコードの削除推奨317に、削除を推奨することを意味する「1」を登録する(ステップS510)。一方、ステップS509においてデータの重要度が閾値を超える場合は(ステップS509のNO)、当該データの重要度が高いことから、データ管理部25は、データ管理テーブル31の当該データを管理するレコードの削除推奨317に、削除を推奨しないことを意味する「0」を登録する(ステップS511)。
ステップS510またはステップS511の何れかの処理が終了した後、データ管理部25は、ループ1の終了条件(データ管理テーブル31の全レコードについて処理が完了した)が満たされるかを確認し、満たしていない場合はステップS501に戻ってループ1の処理を繰り返す。ループ1の終了条件を満たす場合は、データ管理処理を終了する。
上記のようにデータ管理テーブル31のレコード数の分だけループ1の処理を繰り返すことにより、データ管理テーブル31の各レコードの削除推奨317に、削除しても影響が少ないデータについては「1」、削除すると影響が大きいデータについては「0」が登録される。この結果、データ管理テーブル31の削除推奨317の値により、各データの削除推奨の可否を切り分けることができる。
(3-7)結果表示処理
図19は、結果表示処理の処理手順例を示すフローチャートである。図19に示す結果表示処理は、図10のステップS6の処理に相当し、情報表示部26によって実行される。
図19によれば、まず、情報表示部26は、データ管理テーブル31からレコードを1つずつ取得して、ループ1の処理(ステップS602~S609)を開始する(ステップS601)。以下の説明では、ステップS601で取得したレコードを「当該レコード」と称する。
ループ1の処理において、まず、情報表示部26は、当該レコードの削除推奨317を取得し(ステップS602)、その値が削除を推奨することを意味する「1」であるか否かを判定する(ステップS603)。
ステップS603において削除推奨317の値が「1」以外、すなわち「0」であった場合は(ステップS603のNO)、ループ1の終了条件(データ管理テーブル31の全レコードについて処理が完了した)が満たされるかを確認し、満たしていない場合はステップS602に戻ってループ1の処理を繰り返す。ループ1の終了条件を満たす場合は、後述するステップS610に進む。
一方、ステップS603において削除推奨317の値が「1」であった場合は(ステップS603のYES)、情報表示部26は、当該レコードのデータID311を取得する(ステップS604)。
次に、情報表示部26は、フラグ重要度管理テーブル32からレコードを1つずつ取得して、ループ2の処理(ステップS606~S608)を開始する(ステップS605)。
ループ2の処理において、まず、情報表示部26は、ステップS605で取得したフラグ重要度管理テーブル32のレコードからフラグID321を取得する(ステップS606)。
次に、情報表示部26は、ステップS606で取得したフラグID321に対応するフラグを管理している管理テーブル(具体的には、再学習見込み管理テーブル33、再学習見込み履歴管理テーブル34、監視画面管理テーブル35、監視画面履歴管理テーブル36、学習処理管理テーブル37、または評価処理管理テーブル38の何れか)において、ステップS604で取得したデータIDのデータが登録されているかを確認する(ステップS607)。
ステップS607において条件を満たさない場合、(ステップS607のNO)、情報表示部26は、ループ2の終了条件(フラグ重要度管理テーブル32の全レコードについて処理が完了した)が満たされるかを確認し、満たしていない場合はステップS605に戻ってループ2の処理を繰り返す。ループ2の終了条件を満たす場合は、ステップS609に進む。
一方、ステップS607において条件を満たす場合(ステップS607のYES)、情報表示部26は、ステップS606で取得したフラグID321に対応するフラグを管理している管理テーブルから、該当データのレコード情報を取得する(ステップS608)。具体的には例えば、フラグIDに基づいて監視画面履歴管理テーブル36にデータがあるかを確認し、取得したデータIDが登録されていた場合には、情報表示部26は、該当レコードの情報(監視画面履歴ID361、フラグID362、データID363、使用期間364)を取得する。その後、情報表示部26は、ループ2の終了条件(が満たされるかを確認し、満たしていない場合はステップS605に戻ってループ2の処理を繰り返す。ループ2の終了条件を満たす場合は、ステップS609に進む。
上記のようにフラグ重要度管理テーブル32のレコード数の分だけループ2の処理を繰り返すことにより、情報表示部26は、データ管理テーブル31において削除推奨とされているデータに対して、各管理テーブルで付与されているフラグと、当該フラグに関連する情報の一覧を取得することができる。
ループ2の処理を抜けた後、情報表示部26は、データ管理テーブル31から、ステップS604でデータIDを取得したレコードの情報(具体的には、データID311、日付312、データ313、データ種別314、モデルバージョン315、重要度316、削除推奨317)を取得する(ステップS609)。
その後、情報表示部26は、ループ1の終了条件(データ管理テーブル31の全レコードについて処理が完了した)が満たされるかを確認し、満たしていない場合はステップS601に戻ってループ1の処理を繰り返す。ループ1の終了条件を満たす場合は、ステップS610に進む。
上記のようにデータ管理テーブル31のレコード数の分だけループ1の処理を繰り返すことにより、情報表示部26は、削除推奨と判定されたデータについて、その付加情報を含む様々な情報を取得することができる。
そして最後に、情報表示部26は、ここまでの各ステップを経て取得した情報を用いて、所定の表示態様で形成されるデータ管理結果画面140を作成し、作成したデータ管理結果画面140を表示装置3に表示させて(ステップS610)、結果表示処理を終了する。
図20は、データ管理結果画面140の一例を示す図である。データ管理結果画面140は、削除を推奨するデータ(削除候補データ)を一覧表示するとともに、当該データの詳細な付加情報を表示可能な画面である。
図20に示したデータ管理結果画面140の場合、削除候補データ一覧欄141には、データ管理テーブル31の削除推奨317において「1」の値が登録された入出力データが一覧表示される。ユーザはこの削除候補データ一覧欄141を確認することにより、削除しても影響が少ないデータがどのデータであるかを認識することができる。図20では、削除候補データ一覧欄141に、各データについて、日付、データ、データ種別、及びモデルバージョンといった付加情報が表示されているが、これらは、データ管理テーブル31の一部項目の値が表示されたものである。当該データのさらに詳細な付加情報を確認したい場合には、ユーザが詳細ボタン142を押下すると、データ詳細欄143に、選択されたデータの詳細な付加情報として、データ管理テーブル31から取得した各項目の情報、及び当該データに付与されたフラグの処理(図20の例では「監視画面履歴」)が表示される。
データ管理結果画面140を確認した後、いくつかのデータを削除したい場合には、ユーザは、削除候補データ一覧欄141のチェックボックスにおいて削除したいデータにチェックを付け、データ削除ボタン144を押下する。データ削除ボタン144の押下操作が行われると、データ管理システム1(例えばデータ管理部25)が、チェックを付けられたデータを管理するレコードを、データ管理テーブル31から削除する。またこのとき、対象データに付与されていたフラグを管理するテーブルからも、対象データのレコードを削除する。
この結果、データ管理システム1は、削除しても影響が少ないと判定し、ユーザからも削除してよいと最終判断された入出力データを、システムから削除することができる。かくして、データ管理システム1では、機械学習のライフサイクルが回されていくなかで、不要なデータの削除を効率的に運用することができ、必要なデータのみが残るログローテーションを実現することができる。そして、システムが保持するデータ量を適切に削減できることから、ランニングコストを抑える効果が得られる。
なお、上記説明では、削除推奨と判定されたデータを実際に削除するか否かの最終的な判断は、データ管理結果画面140を見てユーザが行うとしたが、削除推奨と判定されたデータを削除する処理をプログラム(例えばデータ管理部25)によって自動実行するように構成してもよい。このような構成を採用する場合、プログラム処理によって、定期的に削除推奨のデータの有無を確認し、削除推奨と判定されたデータを即時に削除するようにしてもよいが、他にも例えば、削除推奨と判定されたデータを削除するまでの猶予期間を設け、猶予期間中であることをユーザに告知し、猶予期間が終了した場合に削除する、等としてもよい。
(4)変形例
図21は、データ管理システム1の変形例であるデータ管理システム1Aの構成例を示すブロック図である。データ管理システム1Aにおいては、図1等を参照して説明したデータ管理システム1と同様の構成要素には共通する符号を付し、その説明を省略する。また、データ管理システム1とは一部が異なる構成要素については、共通する符号に添字Aを追加して表し、異なる部分を中心に説明する。
データ管理システム1の説明で述べたように、モデルから出力される出力データには、例えばモデルによって異常検知される異常データが含まれ得る。データ管理システム1では異常検知された出力データに対して、再学習の見込みが有るデータと判断して再学習見込みフラグを付与したが、このような異常データのなかには、異常と見えたが実際には正常なデータ(以後、「誤報データ」とも称する)が存在する可能性があった。機械学習のモデルにおける入出力データを管理するデータ管理システムにおいては、このような誤報データを生成したモデルの入力データを特定し、モデルのパラメータ調整等に活かすことによって、モデルの改善に役立てることができる。そこで、データ管理システム1Aは、モデルから生成された出力データのうち、異常検知された出力データ(異常データ)に着目し、この異常検知が誤報であるか否かに対するユーザの判断(インシデント対応)を踏まえて、誤報と判断された異常データ(誤報データ)を生成したモデルの入力データ(以後、「誤報データに対応する入力データ」とも称する)を抽出することにより、効果的な入出力データ管理を実現する。以下に、データ管理システム1Aにおける特徴的な構成及び処理等について詳しく説明する。
図21に示すように、データ管理システム1Aは、プロセッサ(CPU10)が主記憶装置20(メモリ)にプログラムを読み出して実行する機能部として、インシデント収集部41及びインシデント管理部42を有する。また、データ管理システム1Aは、所定のデータを格納するために補助記憶装置30Aが保持する管理テーブルとして、インシデント管理テーブル51及び誤報管理テーブル52を有する。インシデント収集部41、インシデント管理部42、インシデント管理テーブル51、及び誤報管理テーブル52は、データ管理システム1A特有の構成要素である。また、データ管理システム1Aは、データ管理システム1が保持していた管理テーブルと部分的にデータ構成が異なる管理テーブルとして、データ管理テーブル31A及びフラグ重要度管理テーブル32Aを有する。
インシデント収集部41は、モデル生成におけるインシデントとして管理されるべき入出力データを収集し、インシデント管理テーブル41または誤報管理テーブル52に格納する機能を有する。インシデント収集部41が実行する処理については、後述する図26に示すインシデント収集処理を参照しながら詳述する。
インシデント管理部42は、インシデント収集部41によって収集されたインシデントのデータについて、異常検知された出力データ(異常データ)が誤報であるかを判断するユーザのインシデント対応に応じて、インシデント管理テーブル51及び誤報管理テーブル52を更新する機能を有する。インシデント管理部42が実行する処理については、後述する図27に示すインシデント評価処理を参照しながら詳述する。
図22は、データ管理テーブル31Aの一例を示す図である。図22に示すデータ管理テーブル31Aは、図2に示したデータ管理テーブル31との相違点として、モデル実行ID318の項目を有する。モデル実行ID318は、モデルの入力データと出力データとの組合せに付与された識別子(モデル実行ID)を示す。モデル実行IDは、データ管理部25または運用部27によって付与される。また、データ管理テーブル31Aのデータ種別314においては、対象データが出力データである場合に、当該出力データが正常であるか異常であるかを示す情報が追加されている。具体的には、データ種別314で「出力(正常)」とされたデータは、モデルによる生成時に異常検知されなかった正常な出力データであることを意味し、データ種別314で「出力(異常)」とされたデータは、モデルによる生成時に異常検知された異常な出力データ(異常データ)であることを意味する。
なお、図22では図示を省略したが、データ管理テーブル31Aは、図2に例示したデータ管理テーブル31と同様に重要度316及び削除推奨317の項目を有してもよいし、その他の項目を有してもよい。
図23は、フラグ重要度管理テーブル32Aの一例を示す図である。図23に示すフラグ重要度管理テーブル32Aでは、図3に示したフラグ重要度管理テーブル32との相違点として、「誤報」のフラグに関する情報が追加されている。「誤報」のフラグは、誤報データに対応する入力データに付与されるフラグであって、図23において、そのフラグIDは「F0007」であり、重要度は「5」とされている。
なお、図23に示した誤報フラグの重要度「5」は一例であって、これに限定されるものではない。但し、誤報フラグには、過去に使用されたデータに付与されるフラグ(図23において具体的には、再学習で使用された入力データに付与されるフラグID「F0002」の「再学習見込み履歴」フラグ、及び監視画面110の表示に使用された入出力データに付与されるフラグID「F0004」の「監視画面履歴」フラグ)よりは、高い重要度(すなわち重要度「3」以上)が設定されることが好ましい。
図24は、インシデント管理テーブル51の一例を示す図である。インシデント管理テーブル51は、インシデント収集処理においてインシデント収集部41によってデータが登録されるテーブルであって、異常検知された出力データ(異常データ)に関する情報を管理する。図22の説明で前述した通り、異常データは、データ種別314が「出力(異常)」となっているデータであり(図22の場合、データID「0005」のデータ)、異常データに関する情報の一部は、データ管理テーブル31Aから取得できる。
図24に示すインシデント管理テーブル51は、インシデントID511、モデル実行ID512、データID513、検知日時514、及び状態515の項目を有して構成される。
インシデントID511は、インシデント管理テーブル51に登録する際に異常データごとに割り当てられる識別子(インシデントID)を示す。モデル実行ID512は、当該レコードで管理する異常データのモデル実行IDを示す。モデル実行ID512は、データ管理テーブル31Aのモデル実行ID318に対応する。データID513は、当該レコードで管理する異常データのデータIDを示す。データID513は、データ管理テーブル31AのデータID311に対応する。検知日時514は、当該レコードで管理する異常データがモデルによって異常検知された日時を示す。検知日時514は、データ管理テーブル31Aの日付312に対応するが、日付312よりも詳細な情報を保持してもよい。
状態515は、当該レコードで管理する異常データに対するインシデント対応の状態を示す。状態515は、例えば、予め用意された複数種類のステータスのうちから1つが選択される(任意のステータスを追加または削除可能に構成されてもよい)。複数種類のステータスとしては、具体的には例えば、インシデント管理テーブル51への新規登録時に設定される「新規」、ユーザがインシデント対応を保留している場合に設定される「保留」、ユーザがインシデント対応中である場合に設定される「対応中」、ユーザが誤報ではないと判断してインシデント対応を完了した場合に設定される「完了」、ユーザが誤報であると判断してインシデント対応を完了した場合に設定される「誤報」とが挙げられる。なお、上述したステータスは一例であってこれらの限定されるものではないが、少なくとも「誤報」であるか否かを示す2以上のステータスが用意されていることが好ましい。
図25は、誤報管理テーブル52の一例を示す図である。誤報管理テーブル52は、インシデント収集処理及びインシデント評価処理において、インシデント収集部41またはインシデント管理部42によってデータが登録または更新されるテーブルであって、ユーザによるインシデント対応によって誤報と判断された誤報データに対応する入力データに関する情報を管理する。
図25に示す誤報管理テーブル52は、誤報管理ID521、フラグID522、モデル実行ID523、及びデータID524の項目を有して構成される。
誤報管理ID521は、誤報管理テーブル52に登録する際に入力データ(誤報データに対応する入力データ)ごとに割り当てられる識別子(誤報管理ID)を示す。フラグID522は、当該レコードで管理する入力データのフラグIDを示す。フラグID522は、フラグ重要度管理テーブル32AのフラグID321に対応し、誤報データに対応する入力データに対しては「F0007」のフラグIDが付与される。モデル実行ID523は、当該レコードで管理する入力データのモデル実行IDを示す。モデル実行ID523は、データ管理テーブル31Aのモデル実行ID318に対応する。データID524は、当該レコードで管理する入力データのデータIDを示す。データID524は、データ管理テーブル31AのデータID311に対応する。
図26は、インシデント収集処理の処理手順例を示すフローチャートである。図26に示すインシデント収集処理は、インシデント収集部41によって実行される。インシデント収集処理は、データ入力処理(図11)が実行された後の任意のタイミングで、定期的にあるいは不定期的に実施可能であり、ユーザ等が所定のユーザインタフェースを操作する等を契機として開始されてもよいし、バッチプログラム等を利用した自動処理によって開始されてもよい。
図26によればまず、インシデント収集部41は、データ管理テーブル31Aを参照して、新しい異常データが存在しているか否かを判断する(ステップS701)。ステップS701においてインシデント収集部41は、例えば、前回のインシデント収集処理を実行した最終実行日時と、データ管理テーブル31Aに格納されたデータの日付312と、を比較することによって、新しいデータの存在の有無を判断できる。さらにインシデント収集部41は、このような新しいデータのうちに、データ管理テーブル31Aに格納されているデータのデータ種別314が「出力(異常)」であるデータが存在する場合に、当該データを「新しい異常データ」と判断することができる。新しい異常データが存在する場合は(ステップS701のYES)、ステップS702に進み、新しい異常データが存在しない場合は(ステップS702のNO)、インシデント収集処理を終了する。
ステップS702では、インシデント収集部41は、ステップS701で見つけた新しい異常データについて、当該異常データに関する所定の情報を、インシデント管理テーブル51に格納する。ステップS702の処理では、具体的にはインシデント管理テーブル51に新規にレコードが作成され、この新規レコードに各種情報が登録される。このとき、新規レコードの状態515には「新規」が設定される。
次に、インシデント収集部41は、ステップS702でインシデント管理テーブル51に登録した異常データに対応する入力データ(すなわち、モデルが異常データを出力したときの入力データ)に関する所定の情報を、誤報管理テーブル52に格納する。具体的には、ステップS703においてインシデント収集部41は、データ管理テーブル31Aを参照して、ステップS702でインシデント管理テーブル51に新規登録した異常データのモデル実行ID512と同一のモデル実行ID318を有する入力データを検索し、該当する入力データに関する情報を取得して、誤報管理テーブル52の新規レコードに登録する。この際、新規レコードのフラグID522の値は、未登録であってよい。ステップS703の処理が終了すると、インシデント収集部41は、インシデント収集処理を終了する。
図27は、インシデント評価処理の処理手順例を示すフローチャートである。図27に示すインシデント評価処理は、図26に示したインシデント収集処理の後に実行される処理であって、ステップS801~S803の処理はインシデント対応を行うユーザによって実行され、ステップS804~S806の処理はインシデント管理部42によって実行される。
図27によればまず、ユーザがデータ管理システム1Aあるいは不図示のユーザ端末を操作して、インシデント管理テーブル51に格納された情報を可視化表示するインシデント管理画面を開き、インシデント管理画面に表示された異常データの一覧から、今回のインシデント対応で確認しようとする異常データ(確認対象のインシデント)を選択する操作を行う(ステップS801)。
インシデント管理画面は、例えば情報表示部26またはインシデント管理部42が所定のプログラムを実行することにより、インシデント管理テーブル51またはその他の各種データに基づいて生成され、ユーザインタフェースを介する等の任意の出力方法でユーザ側に表示される。インシデント管理画面における情報の表示方法は特に限定されないが、本説明では一例として、起動当初は、異常データごとに、インシデントが発生したサイト、モデル、その他の参考情報等が一覧形式で表示されるとしている。
ステップS801で確認対象のインシデントが選択されると、インシデント管理画面は、選択されたインシデントに関して、所定の詳細情報を表示する。この詳細情報には、インシデント管理テーブル51に格納された異常データの情報だけでなく、その他の任意の各種データを表示するようにしてよい。例えば、図10の監視画面110に例示したグラフや、図20のデータ管理結果画面140に例示したデータ詳細143の表示内容等に相当する情報が含まれてもよい。そしてユーザは、インシデント管理画面に表示された異常データの内容を確認し、自身の知見等に基づいて、インシデントが誤報ではないかの正誤判定を行う(ステップS802)。ステップS802の処理は、言い換えると、異常データが誤報データであるか否かを判断することである。
次に、ユーザは、インシデント管理画面において、ステップS802における正誤判定の結果に基づいて、確認対象のインシデントの「状態」を更新する(ステップS803)。この「状態」は、インシデント対応上の状態を示すものであり、インシデント管理テーブル51の状態515に用意されたステータスの何れかに対応する。具体的には、ステップS803の判定結果が「誤報(インシデントが誤り)」であった場合、ユーザは確認対象のインシデントの「状態」を「誤報」に更新する。一方、ステップS803の判定結果が「誤報ではない(インシデントが正しい)」であった場合、ユーザは確認対象のインシデントの「状態」を「完了」に更新する。また、ステップS803においてインシデントの正誤判定を先送りする場合には、その進捗状況に応じて「保留」または「対応中」に更新する。
ステップS803で、インシデント管理画面においてインシデントの「状態」が更新されると、インシデント管理部42は、更新された「状態」によって、インシデント管理テーブル51における対応レコードの状態515を更新する(ステップS804)。
次に、インシデント管理部42は、ステップS802におけるユーザのインシデントの正誤判定の結果が誤報であったか否かを判定する(ステップS805)。具体的には、インシデント管理部42は、ステップS804で更新したインシデント管理テーブル51の状態515が「誤報」であったか否かを判定する(ステップS805)。「誤報」であった場合は(ステップS805のYES)、ステップS806に進み、「誤報」以外であった場合は(ステップS805のNO)、インシデント評価処理を終了する。
ステップS806では、インシデント管理部42は、「誤報」と判断されたインシデントの異常データに対応する入力データについて、誤報管理テーブル52を更新し、誤報フラグを設定する。具体的には、ステップS806においてインシデント管理部42は、インシデント管理テーブル51において状態515を「誤報」に更新したレコードのモデル実行ID512をキーとして、誤報管理テーブル52のモデル実行ID523を検索し、同一のモデル実行IDを有するレコードのフラグID522の値を「F0007」とする。そして、ステップS806の終了後、インシデント管理部42は、インシデント評価処理を終了する。
なお、上述した図27のインシデント評価処理では、ユーザによるインシデントの誤報の判断結果が出る前に、インシデント収集処理のステップS703の処理によって誤報管理テーブル52に異常データに対応する入力データに関する情報が登録されていたが、別の処理手順例として、ユーザによるインシデント対応で誤報と判断されてから、誤報管理テーブル52に、誤報データに対応する入力データに関する情報が登録されるようにしてもよい。
この場合、具体的には例えば、ステップS806において、インシデント管理部42は、ステップS804で状態515を「誤報」に変更したインシデント管理テーブル51のレコードにおけるモデル実行ID512の値をインシデント収集部41に通知する。そしてインシデント収集部41は、通知されたモデル実行IDをキーとしてデータ管理テーブル31Aのモデル実行ID318を検索し、同一のモデル実行IDを有する入力データに関する情報を取得して、誤報管理テーブル52の新規レコードに登録する。この際、新規レコードのフラグID522の値は、誤報フラグを示す「F0007」に設定される。フラグID522の値の設定は、新規レコードの登録時にインシデント収集部41が実行してもよいし、インシデント収集部41から誤報管理テーブル52の新規レコードの登録完了の通知を受けてインシデント管理部42が実行するようにしてもよい。いずれにしても、上記のような別の処理手順例を採用する場合には、図26のステップS703の処理は不要となる。
このような別の処理手順例を採用した場合には、誤報と判断されない異常データに対応する入力データに関する情報は、誤報管理テーブル52に格納されないため、データ処理量の軽減、及び誤報管理テーブルが管理する情報の簡素化を図ることができる。一方、図26及び図27に示した処理手順例を採用した場合には、インシデント収集部41とインシデント管理部42とを独立して実行することができるため、別の処理手順例に比べて、処理負荷の低減を図ることができる。
以上に説明したように、データ管理システム1Aは、インシデント収集処理及びインシデント評価処理を実行することにより、ユーザによって誤報と判断されたインシデントについて、その出力データを生成したモデルの元となった入力データ(誤報の元となった入力データ)に誤報フラグを付与し、その情報を誤報管理テーブル52に格納することができる。そしてデータ管理システム1Aは、誤報フラグを付与した入力データを、例えば以下のように利用することができる。
例えば第1の利用として、誤報フラグが付与されたデータを再学習に使われないようにしてもよい。この場合、図27のステップS806で入力データに誤報フラグを付与する際に、データ管理部25等が、当該入力データに付与されている再学習見込みフラグ(フラグID「F0001」)を除去すればよい。具体的には、当該入力データに対する「F0001」のフラグをクリアし、再学習見込み管理テーブル33から当該入力データの登録を削除することにより、以後、再学習に利用するデータとして選択されないようにすることができる。
なお、誤報フラグが付与される入力データは異常なデータではなく、このようなデータから再学習見込みフラグを除去してしまうと、データの重要度の計算に影響を及ぼしてしまう場合がある。そこで第1の利用においては、誤報フラグが付与される入力データから再学習見込みフラグを除去することなく、再学習画面120(図14参照)において、誤報フラグが付与された入力データを再学習に利用するデータとして選択させない制御を行うようにしてもよい。
また例えば、第2の利用として、誤報フラグを付与した入力データを、新しいバージョンに更新したモデルの評価に利用するようにしてもよい。この場合、新しいバージョンのモデルにおいて誤報フラグが付与された入力データから出力データを生成した際に、出力データに異常が検知されなければ、当該入力データが異常な出力データの元ではないことが明確になり、モデル精度が向上したと判断することができる。
このように、データ管理システム1の変形例であるデータ管理システム1Aは、「誤報の元となった入力データ」に関する情報をユーザに提供可能なことにより、データ管理システム1よりもさらに効率的なデータ管理を実現することができる。
1,1A データ管理システム
2 入力装置
3 表示装置
4 ネットワーク
10 CPU
20,20A 主記憶装置
21 データ入力部
22 学習処理部
23 評価処理部
24 モデル更新処理部
25 データ管理部
26 情報表示部
27 運用部
30,30A 補助記憶装置
31,31A データ管理テーブル
32,32A フラグ重要度管理テーブル
33 再学習見込み管理テーブル
34 再学習見込み履歴管理テーブル
35 監視画面管理テーブル
36 監視画面履歴管理テーブル
37 学習処理管理テーブル
38 評価処理管理テーブル
41 インシデント収集部
42 インシデント管理部
51 インシデント管理テーブル
52 誤報管理テーブル
110 監視画面
120 再学習画面
130 評価画面
140 データ管理結果画面

Claims (14)

  1. 機械学習のライフサイクルに沿ってモデルを運用しながら、前記モデル及びその関連データを管理する機械学習モデルのデータ管理システムであって、
    前記ライフサイクルに含まれる複数の処理のうちの1以上の所定の処理について、各処理に対応して定義されたフラグを管理するフラグ管理情報と、
    前記ライフサイクルに沿ってモデルを運用する運用部と、
    前記モデルの入力データ及び出力データを管理するデータ管理部と、
    を備え、
    前記運用部は、前記モデルの運用時の前記所定の処理への関与に応じて、当該モデルの入力データ及び出力データに、前記フラグ管理情報に定義されたフラグを付与し、
    前記データ管理部は、それぞれの前記入力データ及び前記出力データについて、前記運用部によって当該データに付与されたフラグに基づいて、当該データの保存の要否を判定する
    ことを特徴とする機械学習モデルのデータ管理システム。
  2. それぞれの前記フラグには重要度が設定され、
    前記データ管理部は、それぞれの前記入力データ及び前記出力データについて、前記運用部によって当該データに付与された前記フラグの重要度に基づいて当該データの重要度を算出し、算出した当該データの重要度が所定の閾値以下である場合に、当該データを保存が不要なデータと判定する
    ことを特徴とする請求項1に記載のデータ管理システム。
  3. 前記データ管理部は、前記入力データまたは前記出力データに複数の前記フラグが付与されている場合には、当該複数のフラグにそれぞれ設定された重要度の合算値を当該データの重要度とする
    ことを特徴とする請求項2に記載のデータ管理システム。
  4. 前記データ管理部による前記データの保存の要否の判定結果を表示画面に出力する情報表示部をさらに備え、
    前記データ管理部は、前記表示画面に表示された前記保存が不要なデータのうち、ユーザによって選択されたデータを削除する
    ことを特徴とする請求項1に記載のデータ管理システム。
  5. 前記データ管理部は、前記保存が不要なデータと判定したデータを自動的に削除する
    ことを特徴とする請求項1に記載のデータ管理システム。
  6. 前記フラグ管理情報が管理するフラグには、
    データの精度を監視する監視画面の表示に使用される入力データまたは出力データに付与される第1のフラグと、
    前記監視画面の表示に使用されなくなった入力データまたは出力データに付与される第2のフラグと、
    モデルの再学習に使用される見込みがある入力データに付与される第3のフラグと、
    前記モデルの再学習に使用される見込みがあると判断された後に前記モデルの再学習に使用された入力データに付与される第4のフラグと、
    前記モデルの学習に使用された入力データに付与される第5のフラグと、
    新たに生成されたモデルから生成した出力データを評価したときに、当該モデルの生成に使用された入力データ及び当該モデルから生成された出力データに付与される第6のフラグと、
    モデルに異常と検知された出力データが異常ではなかった場合に、当該モデルが当該出力データを出力する元となった入力データに付与される第7のフラグと、のうちの少なくとも何れかが含まれる
    ことを特徴とする請求項2に記載のデータ管理システム。
  7. 前記第1、第3、第5、第6、及び第7のフラグには、前記第2及び第4のフラグよりも高い重要度が設定される
    ことを特徴とする請求項6に記載のデータ管理システム。
  8. 前記フラグ管理情報が管理するフラグには、前記第3のフラグが含まれ、
    前記運用部は、入力データを使用してモデルを生成し、当該モデルから出力データを生成した後、当該出力データに異常が検知されたか、当該入力データが希少であると判断された場合に、当該入力データに前記第3のフラグを付与する
    ことを特徴とする請求項7に記載のデータ管理システム。
  9. 前記フラグ管理情報が管理するフラグには、前記第4及び第5のフラグがさらに含まれ、
    前記運用部は、前記生成したモデルから生成した出力データの精度が悪い場合に、前記第3のフラグが付与されている入力データのうちからユーザによって選択された入力データを用いて新たにモデルを生成する再学習を実行し、当該再学習に使用した前記入力データに対して、前記第3のフラグを削除して前記第4のフラグを付与するとともに、前記第5のフラグを付与する
    ことを特徴とする請求項8に記載のデータ管理システム。
  10. 前記フラグ管理情報が管理するフラグには、前記第6のフラグがさらに含まれ、
    前記運用部は、前記新たに生成したモデルに、ユーザによって選択された評価用の入力データを入力して出力データを生成し、その精度を判断することによって前記新たに生成したモデルを評価し、前記評価用の入力データと前記評価用の入力データを入力して生成された前記出力データとに、前記第6のフラグを付与する
    ことを特徴とする請求項9に記載のデータ管理システム。
  11. 前記フラグ管理情報が管理するフラグには、前記第1及び第2のフラグがさらに含まれ、
    前記運用部は、前記新たに生成したモデルを評価した後に、当該モデルを今後使用するモデルとして更新した場合に、更新前のモデルの生成に使用された入力データと更新前のモデルで生成された出力データとに対して、付与されていた前記第1のフラグを削除して前記第2のフラグを付与するとともに、更新後のモデルの生成に使用された入力データと更新後のモデルで生成された出力データとに対して、前記第1のフラグを付与する
    ことを特徴とする請求項10に記載のデータ管理システム。
  12. 機械学習のライフサイクルに沿ってモデルを運用しながら、前記モデル及びその関連データを管理する機械学習モデルのデータ管理システムによるデータ管理方法であって、
    前記データ管理システムは、
    前記ライフサイクルに含まれる複数の処理のうちの1以上の所定の処理について、各処理に対応して定義されたフラグを管理するフラグ管理情報と、
    前記ライフサイクルに沿ってモデルを運用する運用部と、
    前記モデルの入力データ及び出力データを管理するデータ管理部と、
    を有し、
    前記運用部が、前記モデルの運用時の前記所定の処理への関与に応じて、当該モデルの入力データ及び出力データに、前記フラグ管理情報に定義されたフラグを付与する運用ステップと、
    前記データ管理部が、それぞれの前記入力データ及び前記出力データについて、前記運用ステップで当該データに付与されたフラグに基づいて、当該データの保存の要否を判定する要否判定ステップと、
    を備えることを特徴とする機械学習モデルのデータ管理方法。
  13. モデルの出力データのうち、前記モデルに異常と検知された出力データに関する情報を収集して蓄積するインシデント収集部、をさらに備える
    ことを特徴とする請求項11に記載のデータ管理システム。
  14. 前記フラグ管理情報が管理するフラグには、前記第7のフラグがさらに含まれ、
    前記インシデント収集部によって情報が蓄積された出力データについて異常ではない旨のユーザ判断が行われた場合に、当該出力データの生成モデルの元となった入力データに前記第7のフラグを付与するインシデント管理部、をさらに備える
    ことを特徴とする請求項13に記載のデータ管理システム。
JP2023083326A 2022-07-14 2023-05-19 機械学習モデルのデータ管理システム及びデータ管理方法 Pending JP2024012087A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/216,647 US20240020577A1 (en) 2022-07-14 2023-06-30 Data management system and data management method of machine learning model

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022113074 2022-07-14
JP2022113074 2022-07-14

Publications (1)

Publication Number Publication Date
JP2024012087A true JP2024012087A (ja) 2024-01-25

Family

ID=89622300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023083326A Pending JP2024012087A (ja) 2022-07-14 2023-05-19 機械学習モデルのデータ管理システム及びデータ管理方法

Country Status (1)

Country Link
JP (1) JP2024012087A (ja)

Similar Documents

Publication Publication Date Title
CN107924360B (zh) 计算系统中的诊断框架
JP6126891B2 (ja) 検出方法、検出プログラム、および検出装置
JP5285084B2 (ja) 検出イベントに応じたアクション実行を支援するシステム、検出イベントに応じたアクション実行を支援する方法、支援装置及びコンピュータプログラム
US20160055044A1 (en) Fault analysis method, fault analysis system, and storage medium
US7184935B1 (en) Determining and annotating a signature of a computer resource
JP2017072882A (ja) アノマリ評価プログラム、アノマリ評価方法、および情報処理装置
JP5373870B2 (ja) 予測装置、予測方法、及び、プログラム
JP2007096796A (ja) ネットワーク障害診断装置、ネットワーク障害診断方法およびネットワーク障害診断プログラム
JP6823265B2 (ja) 分析装置、分析システム、分析方法および分析プログラム
WO2014013603A1 (ja) 監視システム及び監視プログラム
JP2015060331A (ja) 事後確率算出装置、事後確率算出方法、およびプログラム
US11804952B2 (en) Method and system for log data analytics based on SuperMinHash signatures
JP6988304B2 (ja) 運用管理システム、監視サーバ、方法およびプログラム
GB2453090A (en) System managing program, system managing device and system managing method
WO2020173136A1 (zh) 应用系统的监控方法、装置、设备及存储介质
US8909768B1 (en) Monitoring of metrics to identify abnormalities in a large scale distributed computing environment
JP2009217455A (ja) 情報処理装置、情報処理プログラム及び方法
CN114036404A (zh) 基于单服务器的数据加载方法、内容推荐方法、系统、芯片和介质
JP2024012087A (ja) 機械学習モデルのデータ管理システム及びデータ管理方法
JP2007164346A (ja) 決定木変更方法、異常性判定方法およびプログラム
US11455556B2 (en) Framework for measuring telemetry data variability for confidence evaluation of a machine learning estimator
US20240020577A1 (en) Data management system and data management method of machine learning model
JP6714160B2 (ja) データリニエージ検出装置、データリニエージ検出方法、及びデータリニエージ検出プログラム
CN106777981B (zh) 一种行为数据的校验方法及装置
CN115335834A (zh) 机器学习模型确定系统和机器学习模型确定方法