(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025027978
(43)【公開日】2025-02-28
(54)【発明の名称】機械学習評価におけるテストパラメータを構成するためのシステム及び方法
(51)【国際特許分類】
G06F 11/36 20060101AFI20250220BHJP
G06F 8/70 20180101ALI20250220BHJP
【FI】
G06F11/36 172
G06F8/70
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024106174
(22)【出願日】2024-07-01
(31)【優先権主張番号】18/450,486
(32)【優先日】2023-08-16
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】521042770
【氏名又は名称】ウーブン・バイ・トヨタ株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(74)【代理人】
【識別番号】100120499
【弁理士】
【氏名又は名称】平山 淳
(72)【発明者】
【氏名】橋本 大輔
(72)【発明者】
【氏名】中津川 英治
(72)【発明者】
【氏名】小出 粋玄
【テーマコード(参考)】
5B042
5B376
【Fターム(参考)】
5B042HH17
5B376BC61
(57)【要約】
【課題】方法の提供。
【解決手段】機械学習(ML)モデルの評価に用いられるテストパラメータを構成する方法、システム及び装置が提供される。方法は、少なくとも一つのテストパラメータを含むユーザ入力を取得することと、取得されたユーザ入力をコードとしての要件ファイル(RaCファイル)として保存することと、要件管理層によって、RaCファイルからの少なくとも一つのテストパラメータを解釈することと、RaCファイルからの解釈された少なくとも一つのテストパラメータに基づいてMLモデルを評価することと、を含んでもよい。
【選択図】
図3
【特許請求の範囲】
【請求項1】
機械学習モデル(MLモデル)の評価に用いられるテストパラメータを構成する方法であって、
少なくとも一つのテストパラメータを含むユーザ入力を取得することと、
取得された前記ユーザ入力をコードとしての要件ファイル(RaCファイル)として保存することと、
要件管理層によって、前記RaCファイルからの少なくとも一つのテストパラメータを解釈することと、
前記RaCファイルからの解釈された前記少なくとも一つのテストパラメータに基づいて前記MLモデルを評価することと、を含む方法。
【請求項2】
前記少なくとも一つのテストパラメータが、一つ以上の受け入れ要件、受け入れ基準、又はテスト条件を含む、請求項1に記載の方法。
【請求項3】
前記ユーザ入力がグラフィカルユーザインタフェースを介して取得される、請求項1又は2に記載の方法。
【請求項4】
前記ユーザ入力を取得することが、テストパラメータのあらかじめ定義されたライブラリから、前記少なくとも一つのテストパラメータを選択することをさらに含む、請求項3に記載の方法。
【請求項5】
前記MLモデルを評価することが、推論部及びユニットテスト部を備える評価層によって実行され、前記推論部が、テストデータを受信して受信した前記テストデータに基づいて推論過程を実行して前記MLモデルから出力を取得することによって、前記MLモデルを評価するように構成され、前記ユニットテスト部が、前記MLモデルからの前記出力に基づいて前記MLモデルの評価を行い、計量値を取得するように構成される、請求項1又は2に記載の方法。
【請求項6】
前記MLモデルからの前記出力が推論ログを含み、前記推論プロセスが完了すると、前記推論部は前記推論ログを前記ユニットテスト部に転送するように構成され、前記MLモデルを評価することは前記推論ログからの計量値を評価することを含み、評価された前記計量値はグラフィカルユーザインタフェースに表示される、請求項5に記載の方法。
【請求項7】
前記要件管理層によって、記憶層内の少なくとも一つのテストパラメータを追加又は更新する命令を受信することをさらに含み、前記評価された計量値に基づいて、前記MLモデルの評価が完了すると前記評価層から前記命令が送信される、請求項6に記載の方法。
【請求項8】
機械学習モデル(MLモデル)の評価に用いられるテストパラメータを構成する装置であって、
コンピュータ実行可能な命令を保存する少なくとも一つのメモリと、
少なくとも1台のプロセッサと、を備え、
前記少なくとも1台のプロセッサは、前記コンピュータ実行可能な命令であって、
少なくとも一つのテストパラメータを含むユーザ入力を取得する、
取得された前記ユーザ入力をコードとしての要件ファイル(RaCファイル)として保存する、
要件管理層によって、前記RaCファイルからの少なくとも一つのテストパラメータを解釈する、及び、
前記RaCファイルからの解釈された前記少なくとも一つのテストパラメータに基づいて前記MLモデルを評価する、
を実行するように構成される、装置。
【請求項9】
前記少なくとも一つのテストパラメータが、一つ以上の受け入れ要件、受け入れ基準、又はテスト条件を含む、請求項8に記載の装置。
【請求項10】
前記ユーザ入力がグラフィカルユーザインタフェースを介して取得される、請求項8又は9に記載の装置。
【請求項11】
テストパラメータのあらかじめ定義されたライブラリから、前記少なくとも一つのテストパラメータを選択することによって前記ユーザ入力を取得する前記コンピュータ実行可能な命令を実行するように、前記少なくとも1台のプロセッサがさらに構成される、請求項10に記載の装置。
【請求項12】
前記少なくとも1台のプロセッサが、推論部及びユニットテスト部を備える評価層を用いて前記MLモデルを評価するようにさらに構成され、前記推論部が、テストデータを受信して受信した前記テストデータに基づいて推論過程を実行して前記MLモデルから出力を取得することによって、前記MLモデルを評価するように構成され、前記ユニットテスト部が、前記MLモデルからの前記出力に基づいて前記MLモデルの評価を行い、計量値を取得するように構成される、請求項8又は9に記載の装置。
【請求項13】
前記MLモデルからの前記出力が推論ログを含み、前記推論プロセスが完了すると、前記推論部は前記推論ログを前記ユニットテスト部に転送するように構成され、前記MLモデルを評価することは前記推論ログからの計量値を評価することを含み、評価された前記計量値はグラフィカルユーザインタフェースに表示される、請求項12に記載の装置。
【請求項14】
前記要件管理層によって、記憶層内の少なくとも一つのテストパラメータを追加又は更新する命令を受信するように、前記少なくとも1台のプロセッサがさらに構成され、前記評価された計量値に基づいて、前記MLモデルの評価が完了すると前記評価層から前記命令が送信される、請求項13に記載の装置。
【請求項15】
方法を実行させる少なくとも1台のプロセッサによって実行可能な命令をその上に記録した非一時的なコンピュータ可読の記録媒体であって、前記方法が、
少なくとも一つのテストパラメータを含むユーザ入力を取得することと、
取得された前記ユーザ入力をコードとしての要件ファイル(RaCファイル)として保存することと、
要件管理層によって、前記RaCファイルからの少なくとも一つのテストパラメータを解釈することと、
前記RaCファイルからの解釈された前記少なくとも一つのテストパラメータに基づいて機械学習モデル(MLモデル)を評価することと、を含む、非一時的なコンピュータ可読の記録媒体。
【請求項16】
前記少なくとも一つのテストパラメータが、一つ以上の受け入れ要件、受け入れ基準、又はテスト条件を含む、請求項15に記載の非一時的なコンピュータ可読の記録媒体。
【請求項17】
前記ユーザ入力がグラフィカルユーザインタフェースを介して取得される、請求項15又は16に記載の非一時的なコンピュータ可読の記録媒体。
【請求項18】
前記MLモデルを評価することが、推論部及びユニットテスト部を備える評価層によって実行され、前記推論部が、テストデータを受信して受信した前記テストデータに基づいて推論過程を実行して前記MLモデルから出力を取得することによって、前記MLモデルを評価するように構成され、前記ユニットテスト部が、前記MLモデルからの前記出力に基づいて前記MLモデルの評価を行い、計量値を取得するように構成される、請求項15又は16に記載の非一時的なコンピュータ可読の記録媒体。
【請求項19】
前記MLモデルからの前記出力が推論ログを含み、前記推論プロセスが完了すると、前記推論部は前記推論ログを前記ユニットテスト部に転送するように構成され、前記MLモデルを評価することは前記推論ログからの計量値を評価することを含み、評価された前記計量値はグラフィカルユーザインタフェースに表示される、請求項18に記載の非一時的なコンピュータ可読の記録媒体。
【請求項20】
前記方法が、前記要件管理層によって、記憶層内の少なくとも一つのテストパラメータを追加又は更新する命令を受信することをさらに含み、前記評価された計量値に基づいて、前記MLモデルの評価が完了すると前記評価層から前記命令が送信される、請求項19に記載の非一時的なコンピュータ可読の記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態と整合するシステム及び方法は、機械学習評価のためのテストパラメータを構成することに関する。
【背景技術】
【0002】
機械学習(ML)モデルは、様々なタスクを自動化するために用いることができる。MLモデルを開発するとき、開発者はMLモデルによって満たされる必要がある特定の基準又はパラメータを有していることがある。例えば、MLモデルが安全重視のタスクを自動化することを意図する場合、MLモデルは一定の信頼性評価を獲得することを必要としうる。したがって、MLモデルが仕様を満たすことが出来ることを確実にするために、ML評価を実行することによってMLモデルをテストし評価することが、開発者にとって必要でありうる。
【0003】
従来技術では、モデルが良好であるかどうかを自動的に決定するために単純な計量値を用いることができる。例えば、平均適合率平均値(mAP)が、MLモデルが良好であるか、悪いか、優れているかを示す単純な数値として用いられてもよい。
【0004】
従来技術のシステム及び方法によって実現出来るMLモデルの評価の程度は限定的であり、MLモデルによって実現する必要がある正確な基準又はパラメータと一致しない可能性がある。特に、従来技術では、通常、単純な計量値のみを用いることができ、1つの計量値を改善しようとすると他の計量値とのトレードオフ/不利益が生じうるため、MLモデルの性能を最適化することが困難になる可能性がある。従来技術の方法及びシステムは、特に、多くの候補MLモデルが存在するシナリオにおいて、どのMLモデルが最適かを決定するための定量的及び明白な基準を確立する手段を有していない可能性がある。
【0005】
さらに、受け入れテストに合格し、優れた計量モデルを備えた「良好な」MLモデルが見つかった場合でも、そのようなMLモデルが最適以下とみなされる可能性があり、配置された後にのみ見つかる期せぬ欠陥がMLモデルには存在しうる。
【0006】
したがって、特にテストパラメータ(要件、合格基準、テスト条件などを含んでもよい)に関して、ML評価プロセスの実行の仕方を構成する改良された方法が求められる。
【発明の概要】
【0007】
一つ以上の実施形態によれば、ユーザからテストパラメータ(要件、合格基準、テスト条件などを含んでもよい)を取得し、そのようなテストパラメータをコードとしての要件(Requirement as Code;RaC)ファイルに保存し、(要件管理層のような)レイヤを用いてRaCファイルからのテストパラメータを解釈するための装置及び方法が提供される。したがって、ユーザは、一つの規格を満たすために必要な要件に一致するようにRaCファイルを簡単に構成でき、ML評価過程を実行するときに、そのようなRaCファイルを独立に、順番に、又は互いに並行して使用することができる。したがって、ML評価は、評価されるMLモデルがMLモデルの所望の特性に関して最適であることを、高い精度をもって確認するために実行することができる。
【0008】
実施形態によれば、本方法は、少なくとも一つのテストパラメータを含むユーザ入力を取得することと、取得されたユーザ入力をコードとしての要件(RaC)ファイルとして保存することと、要件管理層によって、RaCファイルからの少なくとも一つのテストパラメータを解釈することと、RaCファイルからの解釈された少なくとも一つのテストパラメータに基づいてMLモデルを評価することと、を含んでもよい。
【0009】
実施形態によれば、少なくとも一つのテストパラメータが、一つ以上の受け入れ要件、受け入れ基準、又はテスト条件を含んでもよい。ユーザ入力がグラフィカルユーザインタフェースを介して取得されてもよい。ユーザ入力を取得することが、テストパラメータのあらかじめ定義されたライブラリから、少なくとも一つのテストパラメータを選択することをさらに含んでもよい。
【0010】
実施形態によれば、MLモデルを評価することが、推論部及びユニットテスト部を備える評価層によって実行されてもよい。推論部が、テストデータを受信して受信したテストデータに基づいて推論過程を実行してMLモデルから出力を取得することによって、MLモデルを評価するように構成され、ユニットテスト部が、MLモデルからの出力に基づいてMLモデルの評価を行い、計量値を取得するように構成されてもよい。
【0011】
MLモデルからの出力が推論ログを含み、推論プロセスが完了すると、推論部は推論ログをユニットテスト部に転送するように構成され、MLモデルを評価することは推論ログからの計量値を評価することを含み、評価された計量値はグラフィカルユーザインタフェースに表示されてもよい。
【0012】
本方法は、要件管理層によって、記憶層内の少なくとも一つのテストパラメータを追加又は更新する命令を受信することをさらに含んでもよく、評価された計量値に基づいて、MLモデルの評価が完了すると評価層から命令が送信される。
【0013】
実施形態によれば、機械学習(ML)モデルの評価に用いられるテストパラメータを構成する装置が提供されてもよい。装置は、コンピュータ実行可能な命令を保存する少なくとも一つのメモリと、少なくとも一つのテストパラメータを含むユーザ入力を取得する、取得されたユーザ入力をコードとしての要件(RaC)ファイルとして保存する、要件管理層によって、RaCファイルからの少なくとも一つのテストパラメータを解釈する、及び、RaCファイルからの解釈された少なくとも一つのテストパラメータに基づいてMLモデルを評価する、コンピュータ実行可能な命令を実行するように構成される少なくとも1台のプロセッサと、を備えてもよい。
【0014】
実施形態によれば、テストパラメータのあらかじめ定義されたライブラリから、少なくとも一つのテストパラメータを選択することによってユーザ入力を取得するコンピュータ実行可能な命令を実行するように、少なくとも1台のプロセッサがさらに構成されてもよい。
【0015】
追加の態様は、一部は以下の説明に記載され、一部は説明から明らかになるか、又は本開示の提示された実施形態の実践によって理解され得る。
【図面の簡単な説明】
【0016】
本開示の特定の好ましい実施形態の特徴、態様、及び利点は、添付の図面を参照して以下に説明され、図面において、同様の参照番号は同様の要素を示す。
【
図1】
図1は、実施形態に係わる装置の構成要素例の図である。
【
図2】
図2は、一つ以上の実施形態に係わるシステムアーキテクチャの図である。そして、
【
図3】
図3は、一つ以上の実施形態に係わる、テストパラメータを含むRaCファイルを構成し、解釈されたテストパラメータに基づいてMLモデルを評価する方法を示すフローチャート図である。
【
図4】
図4は、一つ以上の実施形態に係わる、MLモデルを評価する方法を示すフローチャート図である。そして、
【
図5】
図5は、一つ以上の実施形態に係わる、要件を加えるか又は更新することを含むMLモデルを評価する方法を示すフローチャート図である。
【発明を実施するための形態】
【0017】
実施形態の以下の詳細な説明は、添付の図面を参照する。本開示は、例示及び説明を提供するが、網羅的であることも、一つ以上の実施形態を開示された厳密な形式に限定することも意図しない。修正及び変更は、本開示を考慮して可能であるか、又は一つ以上の実施形態の実行から取得することができる。さらに、一実施形態の一つ以上の特徴又は構成要素は、別の実施形態(又は別の実施形態の一つ以上の特徴)に組み込むか又は組み合わされてもよい。さらに、本明細書において提供される動作のフローチャート及び説明において、一つ以上の動作が省略されうること、一つ以上の動作が追加されうること、一つ以上の動作が(少なくとも部分的に)同時に実行されうること、及び一つ以上の動作の順序を入れ替えることができること、が理解される。
【0018】
本明細書で説明される、システム及び/又は方法及び/又はコンピュータ可読の非一時的な記憶媒体の実施形態が、異なる形態のハードウェア、ファームウェア、又はハードウェアとソフトウェアの組み合わせで実装できることは明らかであろう。これらのシステム及び/又は方法を実施するために使用される実際の特殊な制御ハードウェア又はソフトウェアコードは、一つ以上の実施形態を限定するものではない。したがって、システム及び/又は方法及び/又はコンピュータ可読の非一時的な記憶媒体の動作及び挙動は、特定のソフトウェアコードを参照することなく本明細書で説明される。ソフトウェア及びハードウェアは、本明細書の説明に基づいてシステム及び/又は方法を実施するように設計されてもよいことが理解される。
【0019】
特徴の特定の組み合わせが特許請求の範囲に記載され、及び/又は明細書に開示されているとしても、これらの組合せは可能な実施形態の開示を限定することを意図しない。実際、これらの特徴の多くは、特許請求の範囲に特に記載されていない方法及び/又は明細書に開示されていない方法で組み合わされてもよい。以下に列挙する各従属請求項は一つの請求項のみに直接従属することがあるが、可能な実施形態の開示は、請求項セット内の他のすべての請求項と組み合わせた各従属請求項を含む。
【0020】
本明細書において用いられる何れの要素、行為、指示も、明確にそのように記載されない限り、決定的であるとも必須であるとも解釈されるべきではない。また、本明細書で使用される場合、冠詞「a」及び「an」は、一つ以上の項目を含むことを意図しており、「一つ以上の」と交換可能に使用されうる。一つの項目のみを意図している場合は、「一つの(oen)」という用語又は同様の用語が用いられる。また、本明細書で使用される場合、「有する(has)」、「有する(have)」、「有する(having)」、「含む(include)」、「含む(including)」、又は同種のものは、オープンエンドの用語であることを意図する。さらに、「に基づいて」という語句は、別の明確な記載がない限り、「少なくとも部分的に基づいて」を意味することを意図する。さらに、「「A」及び「B」の少なくとも一つ」、又は「「A」又は「B」の少なくとも一つ」などの表現は、Aのみ、Bのみ、又はAとBの両方を含むものとして理解されるべきである。
【0021】
図1は、機械学習(ML)評価装置100の構成要素例の図である。
図1に示すとおり、ML評価装置100は、バス110、プロセッサ120、メモリ130、記憶部140、入力部150、出力部160、及び通信インタフェース170を含んでもよい。
【0022】
バス110は、ML評価装置100の構成要素間のコミュニケーションを可能とする構成要素を含む。プロセッサ120は、ハードウェア、ファームウェア又はハードウェアとソフトウェアの組合せで実装されてもよい。プロセッサ120は、中央演算処理装置(CPU)、グラフィクスプロセシングユニット(GPU)、アクセラレーテッドプロセッシングユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は別のタイプの処理要素でもよい。一つ以上の実施形態において、プロセッサ120は、機能を実行するようにプログラム可能な一つ以上のプロセッサを含む。メモリ130は、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、及び/又は、プロセッサ120の使用の為に命令及び/又は情報を保存する、別のタイプのダイナミックな又はスタティックな記憶装置(例えば、フラッシュメモリ、磁気メモリ、及び/又は光メモリ)を含む。
【0023】
記憶部140は、ML評価装置100の動作及び使用に関連する、情報及び/又はソフトウェアを保存する。例えば、記憶部140は、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク及び/又は半導体ディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、及び/又は、対応する駆動装置に加えて、別のタイプのコンピュータ可読の非一時的な媒体を含んでもよい。入力部150は、ML評価装置100が例えばユーザ入力を介して情報を受信できるようにする構成要素(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、及び/又はマイクロホン)を含む。加えて、又は代わりに、入力部150は、情報を検出するためのセンサ(例えば、全地球測位システム(GPS)要素、加速度計、ジャイロスコープ及び/又はアクチュエータ)を含んでもよい。出力部160は、ML評価装置100からの出力情報を提供する構成要素(例えば、ディスプレイ、スピーカ及び/又は一つ以上の発光ダイオード(LED))を含む。
【0024】
通信インタフェース170は、有線接続、無線接続、又は有線接続と無線接続の組み合わせなどを介して、ML評価装置100が他の装置と通信できるようにするトランシーバ状の構成要素(例えば、トランシーバ、及び/又は別々の受信機及び送信機)を含む。通信インタフェース170は、ML評価装置100が別の装置から情報を受信すること、及び/又は別の装置に情報を提供することを可能にすることが出来る。例えば、通信インタフェース170は、イーサネットインタフェース、光インタフェース、同軸インタフェース、赤外線インタフェース、無線周波数(RF)インタフェース、ユニバーサルシリアルバス(USB)インタフェース、WiFiインタフェース、携帯電話ネットワークインタフェース、又は同種のものを含むが、これに限定されるものではない。
【0025】
ML評価装置100は、本明細書において記載される一つ以上の過程の事例を実行してもよい。一つ以上の実施形態によれば、ML評価装置100は、例えばメモリ130及び/又は記憶部140などのコンピュータ可読の非一時的な媒体に保存されるソフトウェア命令を実行するプロセッサ120に応答して、これらの過程を実行してもよい。コンピュータ可読の媒体は、非一時的記憶装置として本明細書にて定義される。記憶装置は、単一の物理的記憶装置内のメモリ空間、又は複数の物理的記憶装置にまたがるメモリ空間を含む。
【0026】
ソフトウェア命令は、別のコンピュータ可読の媒体から、又は、通信インタフェース170を介して別の装置からメモリ130及び/又は記憶部140に読み込まれてもよい。実行されると、メモリ130及び/又は記憶部140に保存されるソフトウェア命令は、本明細書に記載さる一つ以上の過程をプロセッサ120に実行させてもよい。
【0027】
加えて、又は代わりに、ハードワイヤード回路が、本明細書に記載される一つ以上の過程を実行するために、ソフトウェア命令の代わりに、又は組み合わせて用いられてもよい。したがって、本明細書に記載される一つ以上の実施形態は、ハードウェア回路及びソフトウェアの何れの特定の組み合わせにも限定されない。
【0028】
図1に示される構成要素の数及び構成は、例として提供されるものである。実際には、ML評価装置100は、
図1に示されるものに対して、追加の構成要素、より少ない構成要素、異なる構成要素、又は異なる構成の構成要素を含んでもよい。加えて、又は代わりに、ML評価装置100の一組の構成要素(例えば、一つ以上の構成要素)は、ML評価装置100の別の一組の構成要素によって実行されると記載される一つ以上の機能を実行してもよい。
【0029】
図2は、一つ以上の実施形態に係わるシステムアーキテクチャの図である。
【0030】
実施形態によれば、評価層200が提供されてもよい。評価層200は、MLモデル230に対するML評価過程(例えば、推論及び装置テスト)を実行する役割を果たしてもよい。評価層200が、ML評価を実行するための任意の適切な手段を実装してもよいことを理解されたい。評価層200は、要件管理層210から命令を受信するように構成されてもよい。一部の実施形態によれば、評価層200はユーザに評価の結果を出力するためにUI(図示されない)を含んでもよいことを理解されたい。特に、評価層200は、評価を完了すると評価の結果を含む出力信号を送信してもよく、UIは出力信号を受信して評価の結果を表示してもよい。UIは、評価テストの結果の一覧を示す表形式を有してもよく、合格したか失敗したかに基づいてテスト結果の特定部分を強調してもよい。にもかかわらず、評価層200のUIが含まれるか否かは特定の実装次第であり、その構成も当業者により決定されてもよいことを理解されたい。
【0031】
要件管理層210が提供されてもよい。要件管理層210は、記憶層に保存されるファイル(例えばコードとしての要件(RaC)ファイル1、2・・・N(221-1、221-2、221-N・・・))を解釈する役割を果たしてもよい。RaCファイルの解釈に基づいて、要件管理層210は命令を評価層200に送信して、ML評価を実行してもよい。
【0032】
記憶装置220は、評価層200及び要件管理層210によって用いられるすべてのデータを含んでもよい。記憶装置220は、任意の適切な記憶手段(例えば、データベース、クラウド記憶装置など)によって実装されてもよい。記憶装置220は、任意の数のRaCファイル221-1、221-2、221-Nを、及びテストパラメータライブラリ222をも含んでもよい。各RaCファイル及びテストパラメータライブラリが、同じ記憶媒体又は異なる記憶媒体に保存されてもよいことを理解されたい。
【0033】
コードとしての要件(RaC)ファイル221-1、221-2、221-Nは、MLモデル230の期待される動作を保存する役割を果たしてもよい。期待される動作はテストパラメータを含んでもよい。特に、テストパラメータは、例えば、達成する必要がある特定の計量数、達成する必要がある標準、テストの種類、等に基づいて、テストする必要があるMLモデル230の性能計量値を指定してもよい。したがって、RaCファイルは、テストパラメータとして、テスト目標、テストデータのファイルパス、要件、合格基準、テスト条件、受け入れ要件、受け入れ基準を含んでもよく、これらは評価層200においてML評価過程の間に用いられることになる。したがって、そのような要件、テスト目標、テストデータのファイルパス、合格基準及びテスト条件は、MLモデル230のMLテスト及び評価がどのように評価層200によって実行されるべきかを決定するために、要件管理層210によって直ちに解釈されてもよい。例えば、RaCファイルは、コードの形で基準を含むことができ、要件管理層210は、そのコードを、評価層200を使用してMLモデル230のML評価を実行する方法の説明に解釈することができる。
【0034】
RaCファイルは、人によって容易に解釈されるフォーマットのコンピュータ可読のコードでもよい。例えば、YAMLフォーマットやドメイン固有言語(DSL)フォーマットなど。これにより、構文のコーディングに精通していない人が、ML評価を簡単に構成したり、RaCファイルが定量的要件に一致することを確認したりできる可能性がある。さらに、これにより高度なカスタマイズができる可能性があり、例えば、エンドユーザがより固有の環境でML評価を適応させることができる。さらに、RaCファイルは実際にML評価を実行するために使用されるコードから分離しているため、ML評価プロセスに要件を「ハードコーディング」する必要がなくなる可能性がある。
【0035】
実施形態によれば、RaCファイルに保存されるテストパラメータは、互いに関連してもよい。例えば、あるパラメータは、特定の対象に関連し同じグループに属することができる。あるいは、あるパラメータは、例えば、1つの基準がいくつかの他の基準の結果の組合せによって定義される階層的な関係であることができる。にもかかわらず、テストパラメータは互いに独立していてもよい。
【0036】
全体の要件が一組の数値よりもむしろコードの形を取るので、テスト要件が実際の要件と合致することを確実にすることによって実現することができる、より高い精度がある。これにより、評価されるMLモデルが最適であることを確実にするための精度が向上する可能性がある。
【0037】
複数のRaCファイル221-1、221-2、221-NがML評価で使用される場合、各RaCファイル221-1、221-2、221-Nが、複数組の要件のそれぞれを(順次又は並行して)チェックする為に用いることが出来ると考えられる。いずれにしても、RaCファイルが異なる要件の組を分離できるので、一部の実施形態では、各組を個別に(1つずつ)チェックする方が簡単な場合がある。
【0038】
一部の実施形態によれば、RaCファイル221-1、221-2、221-Nは、ユーザ入力UI240によって編集可能であってもよい。特に、ユーザ入力UI240は、ソースファイルを編集するために使用される一般的なコマンドラインインタフェース(コマンドターミナル)であってもよいし、ユーザがドラッグアンドドロップを、又は予め定められた構成の選択を、又はリストからの選択をできるようにする対話可能な要素を備えたグラフィカルユーザインタフェース(GUI)であってもよい。そのような予め定められた構成は、記憶装置220からのテストパラメータライブラリ222から取得されてもよく、例えば、一つ以上の一般的に用いられるテストパラメータ構成でもよい。にもかかわらず、任意の適切なユーザインタフェースがユーザUI240のために実装されてもよいことを理解されたい。
【0039】
テストパラメータライブラリ222は、予め定められたテストパラメータを含んでもよい。テストパラメータライブラリ222は、一部の実施形態によればRaCファイルとは別に保存されてもよい。テストパラメータライブラリ222のテストパラメータの特定のフォーマットは、任意の適切なフォーマットでよい。
【0040】
上述のUI(ユーザ入力UI240を含む)は、任意の適切な環境で、例えば、ウェブインタフェースで、又はローカルなユーザ装置のみで実装できることを理解されたい。一部の実施形態によれば、ユーザ入力UI240は、別のUIとは別々に、又は同時に表示されてもよいことも理解されたい。
【0041】
図3は、一つ以上の実施形態に係わる、テストパラメータを含むRaCファイルを構成し、解釈されたテストパラメータに基づいてMLモデルを評価する方法300を示すフローチャート図である。
【0042】
図3を参照すると、動作S310で、少なくとも一つ以上のテストパラメータを含むユーザ入力が、例えば、ユーザ入力UI240などのUI(GUI又はコマンドラインターミナルでもよい)を用いることにより取得されてもよい。実施形態によれば、ユーザ入力の特定のフォーマットは人間が読み取れるフォーマットであってもよく、一つ以上のテストパラメータが同時に入力されてもよい。にもかかわらず、ユーザ入力が一つ以上のテストパラメータを除く情報を含んでもよいことを理解されたい。
【0043】
動作S320で、動作S310から取得されたユーザ入力は、記憶装置220で一つ以上のRaCファイル221-1、221-2、221-Nに保存されてもよい。ユーザ入力のフォーマットに応じて、ユーザ入力は、RaCファイル221-1、221-2又は221-Nに保存される前に、異なるフォーマット又はデータ型に変換される必要がある場合があることを理解されたい。
【0044】
動作S330で、テストパラメータが動作S320で保存された後に、テストパラメータは、MLモデル230に対するML評価を実行するように評価層200にどのように指示するべきか決定するために、要件管理層210によって解釈されてもよい。これには、テストパラメータから、要件、合格基準、テスト条件、受け入れ要件、受け入れ基準、テスト目標、テストデータパス、信頼閾値などのモデルチューニングパラメータを解釈すること、及び評価層200を使用して実行する必要がある適切なテストとテストパラメータを決定することが含まれてもよい。したがって、解釈されたテストパラメータは、要件管理層210によって取得されてもよい。
【0045】
動作S340で、評価層200は、解釈されたテストパラメータに基づいてMLモデル230に対するML評価を実行してもよい。例えば、要件管理層210は、評価層200にMLモデル230に対するML評価を実行させるために、動作S330からの解釈されたテストパラメータに基づいて、命令を評価層200に送信することができる。一部の実施形態によれば、評価層200は一旦ML評価の実行を完了したら、評価の結果を含む出力信号を送信してもよい。一部の実施形態によれば、この出力信号は結果を表示するためにUIに送信されてもよい。
【0046】
図4は、一つ以上の実施形態に係わる、評価層200を用いてMLモデルを評価する方法400を示すフローチャート図である。
図2に示される類似の層及び構成要素が、方法400を実装するために用いられてもよく、
図3に示すような方法300からの類似のステップの完全な説明は、読み易さのために省略されてもよい。
【0047】
図4に示される実施形態によれば、評価層200には、推論部及びユニットテスト部が備えられてもよい。推論部は、テストデータを受信し、そのデータをMLモデル230に入力しMLモデル230を用いて出力を算出する(すなわち、推論)役割を果たしてもよい。ユニットテスト部は、MLモデル230に対する装置テストを実行する役割を果たしてもよい。具体的には、装置テストは、MLモデル230に対して推論部を用いて実行される推論過程の間に取得される、MLモデル230からの出力の結果を評価してもよい。MLモデル230の性能についての計量値は、ユニットテスト部を用いて取得されてもよい。
【0048】
図4を参照すると、動作S410で、ML評価を実行する命令は、要件管理層210から送信され、評価層200にMLモデル230に対するML評価を実行させるために評価層200によって受信されてもよい。動作S410で受信される命令は、上記の
図3にて説明される動作S340で送信されるものと類似であってもよい。
【0049】
動作S420で、評価層200は、命令を推論部に送信し、テストデータによってMLモデル230を用いて推論動作を行ってもよい。この動作の出力は、テストデータによってMLモデル230に対する推論動作を行うことで得られるデータを含む推論ログを含んでもよい。
【0050】
動作S430で、評価層200は、推論部からユニットテスト部に推論ログを送信してもよい。
【0051】
動作S440で、評価層200は、命令をユニットテスト部に送信して、計量値を(例えば、計量値を算出してテストパラメータからのテスト基準と比較することによって)評価してもよい。
【0052】
動作S450で、評価層200は、評価された計量値(比較結果を含んでもよい)を出力してもよい。一部の実施形態によれば、これは計量値及び比較結果をGUIなどのUIに送信することを含んでもよい。
【0053】
図5は、一つ以上の実施形態に係わる、要件を加えるか又は更新することを含むMLモデルを評価する方法を示すフローチャート図である。
図2に示される類似の層及び構成要素は、方法500を実装するために用いられてもよく、
図3に示すような方法300、及び上記の
図4に示すような方法400からの類似のステップの完全な説明は、読みやすさのために省略されてもよい。
【0054】
図5を参照すると、動作S510で、テストパラメータが要件管理層210によって記憶装置220から受信される。
【0055】
動作S520で、記憶装置220から要件を受信した後に、要件は、MLモデル230に対するML評価を実行するように評価層200にどのように指示するべきか決定するために、要件管理層210によって解釈されてもよい。これは、上記の
図3に記載される動作S330と類似であってもよい。
【0056】
動作S530において、要件管理層210は、評価層200にMLモデル240に対するML評価を実行させるために、動作S520からの解釈されたテストパラメータに基づいて、命令を評価層200に送信する。これは、上記の
図3に記載される動作S330と類似であってもよい。
【0057】
動作S540で、ML評価を実行する命令は、評価層200にMLモデル230に対するML評価を実行させるために、評価層200によって受信されてもよい。これは、上記の
図4に記載される動作S410と類似であってもよい。
【0058】
動作S550で、評価層200は、命令をユニットテスト部に送信して、計量値を(例えば、計量値を算出して、テストパラメータからのテスト基準と比較することによって)評価してもよい。これは、上記の
図4に記載される動作S440と類似であってもよい。明示的に示されないが、一部の実施形態によれば、S420~S430と類似の動作が動作S550の前に含まれてもよいことを理解されたい。
【0059】
動作S560で、評価層200は、評価された計量値(比較結果を含んでもよい)を出力し、計量値及び比較結果をUIに送信してもよい。これは、上記の
図4に記載される動作S450と類似であってもよい。
【0060】
動作S570で、評価層200は、テストパラメータを記憶層200に(例えば、新規なRaCファイルを記憶装置220に加えることによって)加える、又は現在の要件を(例えば、記憶装置220の既存のRaCファイルを編集することによって)更新する命令を、要件管理層210に送信してもよい。命令は、限定的ではないが例えば、MLモデル230を含むシステムの全体的なパフォーマンスを最適化するための信頼閾値及びテストパラメータなどの、MLモデル調整パラメータを更新するために送信されてもよい。
【0061】
動作S580で、要件管理層210は、動作S570で送信された命令を受信して、それに基づいて記憶装置220の要件を加えるか又は更新する。その後、ステップがS510から繰り返されてもよい。この実施形態によれば、まだ発見されていないかも知れない要件及びパラメータを探索する反復過程が実装されてもよい。
【0062】
上記の実施形態によれば、テストパラメータの要件は、コードとしての要件(RaC)ファイルで定義することができ、したがって、機械学習(ML)モデルを評価するために構成できる、より複雑であるが正確な範囲のテストパラメータが可能になる。したがって、ML評価は、評価されるMLモデルがMLモデルの所望の特性に関して最適であることを、高い精度をもって確認するために実行されてもよい。
【0063】
前述の開示は、例示及び説明を提供するが、網羅的であることも、一つ以上の実施形態を開示された厳密な形式に限定することも意図しない。修正及び変更は、開示を考慮して可能であるか、又は一つ以上の実施形態の実行から取得することができる。
【0064】
一つ以上の実施形態は、統合の任意の可能な技術的詳細レベルで、システム、方法及び/又はコンピュータ可読の媒体に関連してもよい。さらに、上記の構成要素の一つ以上は、コンピュータ可読の媒体に保存され、少なくとも一つのプロセッサによって実行可能な命令として実装されてもよい(及び/又は、少なくとも一つのプロセッサを含んでもよい)。コンピュータ可読の媒体は、プロセッサに動作を行わせるためのコンピュータ可読のプログラム命令を有するコンピュータ可読の非一時的記憶媒体(又は媒体)を含んでもよい。
【0065】
コンピュータ可読の記憶媒体は、命令実行装置の使用のために命令を保持し記憶するすることができる、有形デバイスとすることができる。コンピュータ可読の記憶媒体は、以下に限定されないが例えば、電子記憶装置、磁気記憶装置、光記憶装置、電磁気記憶装置、半導体記憶装置、又は前記の任意の好適な組み合わせであってもよい。コンピュータ可読の記憶媒体のより具体例な事例の包括的でないリストは、以下を含む。ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能なプログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、可搬型コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリースティック、フロッピーディスク、機械的にコード化された装置、例えばパンチカード又は記録された命令をその上に有する溝の隆起構造、及び前記の任意の好適な組み合わせ。本明細書で使用されるコンピュータ可読の記憶媒体は、電波又は他の自由に伝播する電磁波、導波路又は他の伝送媒体を伝播する電磁波(例えば、光ファイバーケーブルを通過する光パルス)、又は電線を介して送信される電気信号などの、本質的に一時的な信号であると解釈されるべきではない。
【0066】
本明細書に記載されるコンピュータ可読のプログラム命令は、コンピュータ可読の記憶媒体からそれぞれの計算/処理装置に、又は、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又は無線ネットワークを介して、外部コンピュータ又は外部記憶装置にダウンロードされることができる。ネットワークは、銅の伝送ケーブル、光伝送ファイバ、無線通信、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含んでもよい。各計算/処理装置のネットワークアダプタカード又はネットワークインタフェースは、コンピュータ可読のプログラム命令をネットワークから受信して、それぞれの計算/処理装置の中のコンピュータ可読の記憶媒体への記憶のために、コンピュータ可読のプログラム命令を転送する。
【0067】
動作を行うためのコンピュータ可読のプログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データであってもよく、又は、Smalltalk、C++又は同種のものなどのオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は類似のプログラミング言語などの手続き型プログラミング言語、を含む一つ以上のプログラミング言語の任意の組合せで書かれるソースコード又はオブジェクトコードであってもよい。コンピュータ可読のプログラム命令は、スタンドアロンソフトウェアパッケージとして、全体がユーザのコンピュータ上で動作してもよく、一部がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で一部がリモートコンピュータ上で実行されてもよく、あるいは全体がリモートコンピュータ又はサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)などの任意の種類のネットワークを介してユーザのコンピュータに接続されてもよく、あるいは、外部コンピュータに接続されてもよい(たとえば、インターネットサービスプロバイダーを使用したインターネット経由で)。一つ以上の実施形態で、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)又はプログラマブルロジックアレイ(PLA)を含む電子回路が、電子回路を個人化するコンピュータ可読のプログラム命令の状態情報を利用して、態様又は動作を実行するために、コンピュータ可読のプログラム命令を実行してもよい。
【0068】
コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して動作する命令が、フローチャート及び/又はブロック図のブロック又はブロックで規定された機能/動作を実施するための手段を生成するように、これらのコンピュータ可読のプログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供されて機械を生成してもよい。中に命令を記憶するコンピュータ可読の記憶媒体は、フローチャート及び/又はブロック図のブロック又はブロックで規定された機能/動作の態様を実施する命令を含む製品を含むように、これらのコンピュータ可読のプログラム命令は、コンピュータ、プログラム可能なデータ処理装置、及び/又は他の装置が特定の方法で機能するように指示することができるコンピュータ可読の記憶媒体に記憶されてもよい。
【0069】
コンピュータ、他のプログラム可能な装置又は他の装置で動作する命令が、フローチャート及び/又はブロック図のブロック又はブロックで規定される機能/動作を実施するように、コンピュータ可読のプログラム命令は、コンピュータ、他のプログラム可能なデータ処理装置又は他の装置に読み込まれ、コンピュータ実施過程を生じさせるように、一連の動作ステップをコンピュータ、他のプログラム可能な装置又は他の装置に実行させてもよい。
【0070】
図のフローチャート及びブロック図は、一つ以上の実施形態に係わるシステム、方法及びコンピュータ可読の媒体の可能な実施形態の構成、機能及び動作を示す。この点に関して、フローチャート又はブロック図の各ブロックは、マイクロサービス、モジュール、セグメント、又は、指定された論理的機能を実装するための一つ以上の実行可能命令を含む命令の一部を表してもよい。本方法、コンピュータシステム及びコンピュータ可読の媒体は、図に記載されるものと比べて追加されたブロック、より少ないブロック、異なるブロック、又は異なるように配置されたブロックを含んでもよい。一つ以上の代替実施態様では、ブロックに示される機能は、図に示される順序から外れた順序で生じることがある。例えば、連続して示される2つのブロックは、実際には、並行して又は実質的に並行して実行されることもあり、あるいは、関係する機能によって、ブロックが時々逆順で実行されることもある。ブロック図及び/又はフローチャート図の各ブロック、及びブロック図及び/又はフローチャート図のブロックの組み合わせは、指定された機能又は動作を実行する、又は特殊目的のハードウェアとコンピュータ命令の組み合わせを実行する特殊目的のハードウェアベースシステムによって実装できることにも留意されたい。
【0071】
本明細書で説明されるシステム及び/又は方法が、異なる形態のハードウェア、ファームウェア、又はハードウェアとソフトウェアの組み合わせで実装できることは明らかであろう。これらのシステム及び/又は方法を実施するために使用される実際の特殊な制御ハードウェア又はソフトウェアコードは、一つ以上の実施形態を制限するものではない。したがって、システム及び/又は方法の動作及び挙動は、特定のソフトウェアコードを参照することなく本明細書で説明されたが、ソフトウェア及びハードウェアは、本明細書の説明に基づいてシステム及び/又は方法を実施するように設計されてもよいことが理解される。
【外国語明細書】