(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、学習方法に関し、以下の問題が生じることを見出した。
近年、ADAS(Advanced Driver Assistance System:先進運転支援システム)または自動運転システムの安全性を担保するために、例えばディープラーニングのような機械学習を用いた処理を、車載システムに適用することが必要とされている。また、このような機械学習を用いた処理を実行するプロセッサには、車載ECU(Electronic Control Unit)として利用するために、厳しい消費電力、処理速度および認識精度の制約を満たすことが求められる。
しかしながら、車載ECUには、自動車の車種、グレードなどに応じて、多くの異なる性能のプロセッサが用いられる。このため、異なるプロセッサに対して、上述した制約を満たす機械学習モデルを効率的に決定することは難しいという課題がある。
このような問題を解決するために、本開示の一態様に係る情報処理方法は、プロセッサを用いて、機械学習モデルの構成を決定し、決定された前記構成の前記機械学習モデルが、ハードウェア性能に対する要件である第1性能要件を満たすかの第1判定を実行し、前記第1判定において前記第1性能要件を満たすと判定された場合、前記第1性能要件を満たすと判定された構成の機械学習モデルを用いて学習を実行し、学習により得られた学習済みモデルが、機械学習モデルの出力の評価値に対する要件である第2性能要件を満たすかの第2判定を実行し、前記第2判定において前記学習済みモデルが前記第2性能要件を満たすと判定された場合、前記第1性能要件及び前記第2性能要件を満たすことを示す情報を出力し、前記第1判定において前記第1性能要件を満たさないと判定された場合、前記機械学習モデルの構成を変更し、変更した前記構成の前記機械学習モデルが前記第1性能要件を満たすかの前記第1判定を実行する。
これによれば、第1判定において第1性能要件を満たすまで、第2判定を実行せずに機械学習モデルの構成を変更するため、第2判定を実行する回数を低減することができる。このため、要求されるハードウェアの性能要件を満たす機械学習モデルを効率よく決定することができる。また、プロセッサにかかる処理量および消費エネルギーを低減することができる。
また、前記第2判定において前記第2性能要件を満たさないと判定された場合、前回実行した学習とは異なるパラメータで前記学習を実行し、前記異なるパラメータでの前記学習により得られた学習済みモデルが前記第2性能要件を満たすかの前記第2判定を実行し、前記第2性能要件を満たさないと判定された回数が第1の回数以上である場合、前記機械学習モデルの構成を変更し、変更した前記構成の前記機械学習モデルが前記第1性能要件を満たすかの前記第1判定を実行してもよい。
これによれば、第1の回数以上、第2性能要件を満たさないと判定されると機械学習モデルの構成を変更するため、学習させる回数を低減することができる。このため、効率よく機械学習モデルを決定することができる。
また、さらに、前記第2判定において前記第2性能要件を満たすと判定された前記学習済みモデルに対して軽量化処理を実行し、軽量化処理により得られた軽量化モデルが、ハードウェア性能に対する要件である第3性能要件を満たすかの第3判定を実行し、前記第3判定において前記第3性能要件を満たすと判定された場合、前記第3性能要件を満たすことを示す情報を出力してもよい。
これによれば、第1判定において第1性能要件を満たすまで、第2判定、軽量化処理および第3判定を実行せずに機械学習モデルの構成を変更する。このため、第2判定、軽量化処理および第3判定を実行する回数を低減することができる。
また、前記第3性能要件で規定されるハードウェア性能の条件は、前記第1性能要件で規定されるハードウェア性能の条件より厳しくてもよい。
このため、第1性能要件を満たさないと判定され、機械学習モデルの構成の決定と第1判定とが実行される回数を低減することができる。また、第3判定においてより厳しい判定を行うことで、例えば、第3判定の次に行う処理を実行する回数を低減させることができる。
また、前記第3判定において前記第3性能要件を満たさないと判定された前記軽量化モデルのハードウェア性能が第1の条件を満たす場合、前回実行した軽量化処理とは異なるパラメータで前記軽量化処理を実行し、前記異なるパラメータでの前記軽量化処理により得られた軽量化モデルが前記第3性能要件を満たすかの前記第3判定を実行してもよい。
これによれば、第3性能要件を満たさない場合であっても第3性能要件に近い場合には、パラメータを変更して軽量化処理を実行する。このため、第3性能要件を満たす軽量化モデルを効率よく見つけることができる。
また、(i)前記第3判定において前記第3性能要件を満たさないと判定された前記軽量化モデルのハードウェア性能が第1の条件を満たさない場合、または、(ii)前記第3性能要件を満たさないと判定された回数が第2の回数以上である場合、前記機械学習モデルの構成を変更し、変更した前記構成の前記機械学習モデルが前記第1性能要件を満たすかの前記第1判定を実行してもよい。
これによれば、第3性能要件を満たさない場合、第2の回数以上、第3性能要件を満たさないと判定されると機械学習モデルの構成を変更する。このため、軽量化処理を実行する回数を低減することができる。よって、効率よく機械学習モデルを決定することができる。
また、前記第3判定において前記第3性能要件を満たすと判定された前記軽量化モデルが、実機のハードウェア性能に対する要件である第4性能要件を満たすかの第4判定を実行し、前記第4判定において前記第4性能要件を満たすと判定された場合、前記第4性能要件を満たすことを示す情報を出力してもよい。
これによれば、第3判定において第3判定要件を満たすと判定された軽量化モデルについて第4判定を実行するため、第4判定を実行する回数を低減することができる。
また、前記第4判定において前記第4性能要件を満たさないと判定された前記軽量化モデルのハードウェア性能が第2の条件を満たす場合、前回実行した軽量化とは異なるパラメータで前記軽量化を実行してもよい。
これによれば、第4性能要件を満たさない場合であっても第4性能要件に近い場合には、パラメータを変更して軽量化処理を実行するため、第4性能要件を満たす軽量化モデルを効率よく見つけることができる。
また、(i)前記第4判定において前記第4性能要件を満たさないと判定された前記軽量化モデルのハードウェア性能が第2の条件を満たさない場合、または、(ii)前記第4性能要件を満たさないと判定された回数が第3の回数以上である場合、前記機械学習モデルの構成を変更し、変更した前記構成の前記機械学習モデルが前記第1性能要件を満たすかの前記第1判定を実行してもよい。
これによれば、第4性能要件を満たさない場合、第3の回数以上、第4性能要件を満たさないと判定されると機械学習モデルの構成を変更する。このため、軽量化処理を実行する回数を低減することができる。よって、効率よく機械学習モデルを決定することができる。
また、前記第4判定において前記第4性能要件を満たすと判定された前記軽量化モデルが、機械学習モデルの出力の評価値に対する要件である第5性能要件を満たすかの第5判定を実行し、前記第5性能要件を満たすと判定された場合、前記第5性能要件を満たすことを示す情報を出力してもよい。
これによれば、第4判定において第4判定要件を満たすと判定された軽量化モデルについて第5判定を実行するため、第5判定を実行する回数を低減することができる。
また、前記第5判定において前記第5性能要件を満たさないと判定された前記軽量化モデルの評価値が第3の条件を満たす場合、前回実行した軽量化とは異なるパラメータの前記軽量化を実行してもよい。
これによれば、第5性能要件を満たさない場合であっても第5性能要件に近い場合には、パラメータを変更して軽量化処理を実行するため、第5性能要件を満たす軽量化モデルを効率よく見つけることができる。
また、(i)前記第5判定において前記第5性能要件を満たさないと判定された前記軽量化モデルの評価値が第3の条件を満たさない場合、または、(ii)前記第5性能要件を満たさないと判定された回数が第4の回数以上である場合、前記機械学習モデルの構成を変更し、変更した前記構成の前記機械学習モデルが前記第1性能要件を満たすかの前記第1判定を実行してもよい。
これによれば、パラメータを変更して軽量化処理を実行し直しても、得られた軽量化モデルが第5性能要件を満たさないと第4の回数以上判定されると機械学習モデルの構成を変更する。このため、軽量化処理を実行する回数を低減することができる。よって、効率よく機械学習モデルを決定することができる。
なお、これらの全般的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、本発明の一態様に係る情報処理方法および情報処理システムについて、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態)
以下、図1~図7を用いて、実施の形態を説明する。
[1-1.構成]
図1は、実施の形態に係る情報処理システムの概略を説明するための図である。
情報処理システム1は、情報処理装置100、入出力装置200およびプロセッサ300を備える。情報処理システム1は、指定されたプロセッサに適切な機械学習モデルを決定するシステムである。
情報処理システム1において、情報処理装置100は、通信ネットワークを介して、入出力装置200との間で通信可能に接続されている。情報処理装置100は、例えば、サーバである。入出力装置200は、例えば、デスクトップPC(Personal Computer)、タブレット型端末、ラップトップPCなどである。また、通信ネットワークは、例えば、インターネットなどの汎用通信ネットワークであってもよいし、専用通信ネットワークであってもよい。プロセッサ300は、検査対象となる実機のプロセッサであり、複数種類のプロセッサを含む。
情報処理装置100は、プロセッサのハードウェア性能を示すハードウェア情報と、当該プロセッサおよび機械学習モデルの性能要件を示す検査要件情報とを、入出力装置200から取得する。性能要件の詳細については後述する。そして、情報処理装置100は、入出力装置200から取得したハードウェア情報および検査要件情報に基づいて、後述する決定処理を行うことにより機械学習モデルを決定し、決定した機械学習モデルを入出力装置200に出力する。
なお、情報処理装置100は、クラウドコンピューティングシステムの構成要素であってもよく、インターネット等を介して入出力装置200と接続されてもよい。
[1-2.ハードウェア構成]
情報処理装置100のハードウェア構成について図2を用いて説明する。
図2は、実施の形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
図2に示すように、情報処理装置100は、ハードウェア構成として、CPU101(Central Processing Unit)と、メインメモリ102と、ストレージ103と、通信IF(Interface)104と、GPU(Graphics Processing Unit)105とを備える。
CPU101は、ストレージ103等に記憶された制御プログラムを実行するプロセッサである。
メインメモリ102は、CPU101が制御プログラムを実行するときに使用するワークエリアとして用いられる揮発性の記憶領域である。
ストレージ103は、制御プログラム、コンテンツなどを保持する不揮発性の記憶領域である。
通信IF104は、通信ネットワークを介して入出力装置200との間で通信する通信インタフェースである。通信IF104は、例えば、有線LANインタフェースである。なお、通信IF104は、無線LANインタフェースであってもよい。また、通信IF104は、LANインタフェースに限らずに、通信ネットワークとの通信接続を確立できる通信インタフェースであれば、どのような通信インタフェースであってもよい。
GPU105は、機械学習の処理を実行するプロセッサである。
入出力装置200のハードウェア構成について図3を用いて説明する。
図3は、入出力装置のハードウェア構成の一例を示すブロック図である。
図3に示すように、入出力装置200は、ハードウェア構成として、CPU201(Central Processing Unit)と、メインメモリ202と、ストレージ203と、ディスプレイ204と、入力IF(Interface)205と、通信IF206とを備える。つまり、入出力装置200は、情報処理装置100とは別の情報処理装置であるとも言える。
CPU201は、ストレージ203等に記憶された制御プログラムを実行するプロセッサである。
メインメモリ202は、CPU201が制御プログラムを実行するときに使用するワークエリアとして用いられる揮発性の記憶領域である。
ストレージ203は、制御プログラム、コンテンツなどを保持する不揮発性の記憶領域である。
ディスプレイ204は、画像を含む映像を表示する表示装置である。例えば、ディスプレイ204は、液晶ディスプレイ、有機ELディスプレイなどである。
入力IF205は、ユーザからの入力を受け付けるためのインタフェースである。入力IF205は、マウス、タッチパッド、タッチパネル、トラックボールなどのポインティングデバイスであってもよいし、キーボードであってもよい。
通信IF206は、通信ネットワークを介して情報処理装置100との間で通信する通信インタフェースである。通信IF206は、例えば、有線LANインタフェースであってもよいし、無線LANインタフェースであってもよい。また、通信IF206は、LANインタフェースに限らずに、通信ネットワークとの通信接続を確立できる通信インタフェースであれば、どのような通信インタフェースであってもよい。
[1-3.機能構成]
次に、情報処理システム1の機能構成について図4を用いて説明する。
図4は、情報処理システムの機能構成の一例を示すブロック図である。
まず、入出力装置200の機能構成について説明する。
情報処理システム1は、機能構成として、制御部120と、決定部130と、モデル構成要件DB(Database)131と、判定部140と、検査要件DB(Database)141と、学習部150と、中断部151と、軽量化部160とを備える。情報処理システム1は、さらに、表示部111と、入力受付部112と、中断部151とを備えていてもよい。
表示部111は、機械学習モデルを用いる対象となるプロセッサのハードウェア情報と、各性能要件を示す検査要件情報とを特定するためのUI(User Interface)を表示する。また、表示部111は、入力受付部112で受け付けられた入力に応じて選択されたハードウェア情報および検査要件情報を情報処理装置100に送信したことをユーザに通知するためのUIを表示してもよい。また、表示部111は、情報処理装置100により決定された機械学習モデルに関する情報を表示してもよい。表示部111は、例えば、入出力装置200のCPU201、メインメモリ202、ストレージ203、およびディスプレイ204により実現される。
入力受付部112は、表示部111に表示しているUIに対する入力を受け付ける。具体的には、入力受付部112は、表示部111に表示された、ハードウェア情報および検査要件情報を特定するためのUIに対する、機械学習モデルを用いる対象となるプロセッサのハードウェアに関する情報と、性能要件を示す情報とを受け付ける。入力受付部112は、受け付けられた入力に応じて特定したハードウェア情報を制御部120に出力する。また、入力受付部112は、受け付けられた入力に応じて生成した検査要件情報を検査要件DB141に出力し、検査要件情報は検査要件DB141に格納される。なお、検査要件情報は、入力受付部112による入力に応じて生成されなくてもよく、予め検査要件DB141に格納されていてもよい。また、検査要件DB141に格納されている検査要件情報は、外部の機器から取得した情報に応じて変更されてもよい。
例えば、入力受付部112は、プロセッサを特定するための型番などの識別情報の入力を受け付けて、識別情報とプロセッサのハードウェア情報とが対応付けられている対応情報のうちで、受け付けた識別情報に対応付けられているハードウェア情報を特定してもよい。なお、入出力装置200は、外部の情報処理装置から通信ネットワークを介して対応情報を取得してもよいし、ストレージ203に予め記憶されている対応情報を利用してもよい。また、例えば、入力受付部112は、プロセッサのハードウェア情報を直接受け付けてもよい。なお、ハードウェア情報とは、例えば、プロセッサの処理速度および消費電力を示す情報である。
また、例えば、入力受付部112は、処理速度および消費電力に対する要件、つまり、ハードウェア性能に対する要件を受け付ける。例えば、処理速度に対する要件とは、所定の演算処理およびメモリ転送処理の合計にかかる時間が基準時間より短いことである。また、例えば、消費電力に対する要件とは、所定の処理を実行するのにかかる消費電力が所定の基準電力よりも低いことである。
また、例えば、入力受付部112は、機械学習モデルの出力の正解率の要件、つまり、評価値に対する要件を受け付ける。例えば、正解率に対する要件とは、所定のテストを行ったときの正解率が基準正解率より大きいことである。
検査要件情報には、判定部140による第1~第5判定それぞれの基準となる第1~第5性能要件が含まれており、それぞれの要件毎に異なる値が設定されていてもよい。第1性能要件、第3性能要件および第4性能要件は、ハードウェア性能に対する要件であり、例えば、処理速度、消費電力、メモリ転送量、および、単位時間当たりの演算量のうちの少なくとも1つについて定められた閾値より性能が高いことである。第2性能要件および第5性能要件は、例えば、機械学習モデルの出力の評価値に対する要件であり、例えば、正解率、適合率、再現率、F値、誤差、および不正解率のうちの少なくとも1つについて定められた閾値より性能が高いことである。
入力受付部112は、例えば、入出力装置200の入力IF205および通信IF206などにより実現される。
制御部120は、決定部130、判定部140、学習部150および軽量化部160を制御することで、機械学習モデルを決定するための決定処理を実行する。具体的には、制御部120は、決定部130により仮に決定された機械学習モデルの構成について、後述する決定処理を実行する。制御部120は、判定部140による第1~第5判定の判定結果を用いて、決定処理において次に実行する処理を決定する。制御部120による次に実行する処理の決定の詳細は、後述する。制御部120は、例えば、情報処理装置100のCPU101、メインメモリ102、ストレージ103および通信IF104などにより実現される。
決定部130は、機械学習モデルの構成を決定する。決定部130は、具体的には、モデル構成要件DB131に格納されている、互いに異なる構成の複数の機械学習モデルの構成うちの1つを、決定処理に用いる機械学習モデルの構成として決定する。決定部130が決定する機械学習モデルは、例えば、ニューラルネットワークのネットワーク構成である。ニューラルネットワークの構成は、例えば、階層数および各階層におけるユニット数に応じて異なる。
また、決定部130は、制御部120からの指示に応じて、モデル構成要件DB131に格納されている複数の機械学習モデルの構成から一度決定した機械学習モデルの構成を除く複数の機械学習モデルの構成のうちの1つの機械学習モデルの構成を、決定処理に用いる機械学習モデルの構成として決定してもよい。つまり、決定部130は、制御部120からの指示に応じて、決定処理に用いる機械学習モデルの構成を、既に決定した一の機械学習モデルの構成から別の機械学習モデルの構成に変更してもよい。決定部130は、例えば、階層数またはユニット数を変更することにより、機械学習モデルの構成を変更する。決定部130は、例えば、判定部140による検査によって第1性能要件もしくは第3性能要件もしくは第4性能要件よりも機械学習モデルのメモリ転送量が超過していた場合、階層数またはユニット数を減少させる。処理速度、消費電力、単位時間当たりの演算量のいずれかが超過していた場合にも同様に階層数またはユニット数を減少させる。
決定部130は、機械学習モデルの構成を変更する場合、モデル構成要件DB131に格納されている、複数の機械学習モデルの構成に予め定められている順番に応じて、次の機械学習モデルの構成を決定してもよいし、ランダムに次の機械学習モデルの構成を決定してもよい。また、決定部130は、機械学習モデルの構成を変更する場合、制御部120が取得している判定部140による第1~第5判定の判定結果を用いて、所定のアルゴリズムに応じて、次の機械学習モデルの構成を決定してもよい。
決定部130は、決定処理に用いると決定した機械学習モデルの構成を制御部120に出力する。決定部130は、例えば、情報処理装置100のCPU101、メインメモリ102およびストレージ103などにより実現される。また、モデル構成要件DB131は、例えば、情報処理装置100のストレージ103などにより実現される。
判定部140は、制御部120からの指示に応じて、決定部130によって決定処理に用いると決定された機械学習モデルが第1性能要件を満たすか否かの第1判定を実行する。判定部140は、第1判定を実行するときに、第1性能要件を検査要件DB141から取得する。そして、判定部140は、取得した第1性能要件を用いて第1判定を実行する。検査要件DB141は、第1性能要件を含む。第1性能要件は、閾値T11より性能が高いことである。ここでは、第1性能要件は、処理速度に対する要件であることを例に説明する。
よって、判定部140は、第1判定において、決定部130において決定された機械学習モデルの構成から算出される処理速度が閾値T11を超えるか否かを判定し、閾値T11を超える場合に第1性能要件を満たすと判定する。このように、判定部140は、第1判定において、値が大きいほど性能が高いハードウェア性能の場合には、第1性能要件で定められた閾値を超えるか否かを判定し、閾値を超える場合に第1性能要件を満たすと判定する。
なお、判定部140は、消費電力について第1判定を行う場合には、消費電力について第1性能要件で定められた閾値未満であるか否かを判定する。消費電力は、低い方が性能が高いからである。つまり、判定部140は、第1判定において、値が小さいほど性能が高いハードウェア性能の場合には、第1性能要件で定められた閾値未満であるか否かを判定し、閾値未満である場合に第1性能要件を満たすと判定する。
判定部140は、第1判定における判定結果を制御部120に出力する。
また、判定部140は、制御部120からの指示に応じて、学習部150による学習により得られた学習済みモデルが第2性能要件を満たすか否かの第2判定を実行する。判定部140は、第2判定を実行するときに第2性能要件を検査要件DB141から取得し、取得した第2性能要件を用いて第2判定を実行する。検査要件DB141は、第2性能要件を含む。第2性能要件は、閾値T21より性能が高いことである。ここでは、第2性能要件は、正解率に対する要件であることを例に説明する。
よって、判定部140は、第2判定において、学習済みモデルの出力の評価値として算出される正解率が閾値T21を超えるか否かを判定する。このように、判定部140は、第2判定において、値が大きいほど性能が高い評価値の場合には、第2性能要件で定められた閾値を超えるか否かを判定し、閾値を超える場合に第2性能要件を満たすと判定する。なお、判定部140は、第2判定において、値が小さいほど性能が高い評価値の場合には、当該評価値が閾値未満であるか否かを判定し、閾値未満である場合に第2性能要件を満たすと判定する。
判定部140は、第2判定における判定結果を制御部120に出力する。
また、判定部140は、制御部120からの指示に応じて、軽量化部160による軽量化処理により得られた軽量化モデルが第3性能要件を満たすか否かの第3判定を実行してもよい。判定部140は、第3判定を実行するときに、第3性能要件を検査要件DB141から取得する。そして、判定部140は、取得した第3性能要件を用いて第3判定を実行する。検査要件DB141は、第3性能要件を含む。第3性能要件は、閾値T31より性能が高いことである。ここでは、第3性能要件は、処理速度に対する要件であることを例に説明する。また、第3性能要件で規定されるハードウェア性能の条件は、第1性能要件で規定されるハードウェア性能の条件より厳しくてもよい。つまり、値が大きいほど性能が高いハードウェア性能の場合、閾値T31は閾値T11よりも大きく、値が小さいほど性能が高いハードウェア性能の場合、閾値T31は閾値T11よりも小さい。
第3性能要件の一例として処理速度とする場合、判定部140は、第3判定において、軽量化処理により得られた軽量化モデルから算出される処理速度が閾値T31を超えるか否かを判定し、閾値T31を超える場合に第3性能要件を満たすと判定する。このように、判定部140は、第3判定において、値が大きいほど性能が高いハードウェア性能の場合には、第3性能要件で定められた閾値を超えるか否かを判定し、閾値を超える場合に第3性能要件を満たすと判定する。なお、第1判定と同様に、判定部140は、第3判定において、値が小さいほど性能が高いハードウェア性能の場合には、第3性能要件で定められた閾値未満であるか否かを判定し、閾値未満である場合に第3性能要件を満たすと判定する。
判定部140は、第3判定における判定結果を制御部120に出力する。
また、判定部140は、制御部120からの指示に応じて、第3判定において第3性能要件を満たすと判定した軽量化モデルが第4性能要件を満たすか否かを第4判定を実行してもよい。判定部140は、第4判定を実行するときに、第4性能要件を検査要件DB141から取得する。そして、判定部140は、取得した第4性能要件を用いて第4判定を実行する。判定部140は、接続されているプロセッサ300のうち、制御部120が取得したハードウェア情報に対応するプロセッサに対して第4判定を実行する。第4性能要件は、実機のプロセッサ300のハードウェア性能に対する要件であり、閾値T41よりも性能が高いことである。また、第4性能要件で規定されるハードウェア性能の条件は、第3性能要件で規定されるハードウェア性能の条件より厳しくてもよい。つまり、値が大きいほど性能が高いハードウェア性能の場合、閾値T41は閾値T31よりも大きく、値が小さいほど性能が高いハードウェア性能の場合、閾値T41は閾値T31よりも小さい。
第4性能要件の一例として処理速度とする場合、判定部140は、第4判定において、第3判定において第3性能要件を満たすと判定した軽量化モデルから算出される処理速度が閾値T41を超えるか否かを判定し、閾値T41を超える場合に第4性能要件を満たすと判定する。このように、判定部140は、第4判定において、値が大きいほど性能が高いハードウェア性能の場合には、第4性能要件で定められた閾値を超えるか否かを判定し、閾値を超える場合に第4性能要件を満たすと判定する。なお、第1判定および第3判定と同様に、判定部140は、第4判定において、値が小さいほど性能が高いハードウェア性能の場合には、第4性能要件で定められた閾値未満であるか否かを判定し、閾値未満である場合に第4性能要件を満たすと判定する。
判定部140は、第4判定における判定結果を制御部120に出力する。
また、判定部140は、制御部120からの指示に応じて、第4判定において第4性能要件を満たすと判定された軽量化モデルが第5性能要件を満たすか否かの第5判定を実行してもよい。つまり、判定部140は、第4判定において第4性能要件を満たすと判定された軽量化モデルを用いて実機のプロセッサ300において所定の検査を行った場合に、第5性能要件を満たすか否かの第5判定を実行する。判定部140は、第5判定を実行するときに第5性能要件を検査要件DB141から取得し、取得した第5性能要件を用いて第5判定を実行する。検査要件DB141は、第5性能要件を含む。第5性能要件は、閾値T51よりも性能が高いことである。ここでは、第5性能要件は、正解率に対する要件であることを例に説明する。
よって、判定部140は、第5判定において、学習済みモデルの出力の評価値として算出される正解率が閾値T51を超えるか否かを判定する。このように、判定部140は、第5判定において、値が大きいほど性能が高い評価値の場合には、第5性能要件で定められた閾値を超えるか否かを判定し、閾値を超える場合に第5性能要件を満たすと判定する。なお、判定部140は、第5判定において、値が小さいほど性能が高い評価値の場合には、当該評価値が閾値未満であるか否かを判定し、閾値未満である場合に第5性能要件を満たすと判定する。
判定部140は、第5判定における判定結果を制御部120に出力する。
判定部140は、例えば、情報処理装置100のCPU101、メインメモリ102およびストレージ103などにより実現される。また、検査要件DB141は、情報処理装置100のストレージ103などにより実現される。
学習部150は、制御部120からの指示に応じて、第1性能要件を満たすと判定された構成の機械学習モデルを用いて学習を実行する。学習部150は、例えば、ADAS、自動運転システムなどに用いる認識処理のための学習を実行する。学習部150は、例えば、情報処理装置100のCPU101、メインメモリ102およびストレージ103などにより実現される。
中断部151は、学習部150による学習状況を取得し、学習の早期段階での精度(誤差)が収束しない場合には、学習部150による学習を中断させる。中断部151は、例えば、情報処理装置100のCPU101、メインメモリ102およびストレージ103などにより実現される。
軽量化部160は、第2判定において第2性能要件を満たすと判定された学習済みモデルに対して軽量化処理を実行する。軽量化部160は、例えば、軽量化処理として、重みの量子化処理、重みの枝刈り処理などを実行する。重み量子化処理とは、例えば、単精度浮動小数点数(32bit)または倍精度浮動小数点数(64bit)から、半精度浮動小数点数(16bit)または固定小数点数(16bit,8bitおよび64bitから1bitまでの任意のビット数)への量子化処理である。枝刈り処理とは、出力への寄与度の低いニューラルネットの重み係数を削除する処理である。軽量化部160は、例えば、情報処理装置100のCPU101、メインメモリ102およびストレージ103などにより実現される。
[1-4.動作]
次に、実施の形態に係る情報処理システム1の動作について説明する。
図5は、情報処理システムにおける情報処理方法の一例を示すフローチャートである。
まず、ユーザが入出力装置200を操作することで、所定のプロセッサに対して最適な機械学習モデルを決定するためのアプリケーションが入出力装置200において実行される。これにより、入出力装置200では、処理対象となるプロセッサのハードウェア情報および検査要件情報を特定するためのUIがディスプレイ204に表示される。つまり、情報処理システム1では、表示部111にハードウェア情報を特定するためのUIが表示される。
情報処理システム1は、入力受付部112が、表示部111に表示しているUIに対する入力を受け付ける(S11)。
次に、情報処理システム1は、UIに対する入力により特定されたハードウェア情報および検査要件情報に応じて、機械学習モデルの決定処理を実行する(S12)。機械学習モデルの決定処理の詳細は、後述する。
そして、情報処理システム1は、決定処理において決定された機械学習モデルを記憶する(S13)。決定処理において決定された機械学習モデルは、例えば、情報処理システム1の入出力装置200のストレージ103に記憶される。
実施の形態に係る決定処理の詳細について図6および図7を用いて説明する。
図6および図7は、実施の形態に係る決定処理の詳細の一例を示すフローチャートである。
決定処理が開始されると、制御部120は、決定部130に、上述したように機械学習モデルの構成を決定させる(S101)。決定部130は、決定した機械学習モデルの構成を制御部120に出力する。
制御部120は、判定部140に、決定部130から取得した機械学習モデルが、ハードウェア性能に対する要件である第1性能要件を満たすか否かの第1判定を実行させる(S102)。判定部140は、例えば、決定部130において決定された機械学習モデルの構成から算出される処理速度が閾値T11を超えるか否かを判定する。判定部140は、第1判定の判定結果を制御部120に出力する。
制御部120は、判定部140が第1判定において第1性能要件を満たすと判定した場合(S102でYes)、学習部150に、第1性能要件を満たすと判定された構成の機械学習モデルを用いた学習を実行させる(S103)。つまり、決定された機械学習モデルの構成から算出される処理速度が閾値T11を超えると判定部140が判定した場合、制御部120は、学習部150に上記学習を実行させる。なお、学習部150が学習を行っている間、中断部151は、学習部150による学習状況を取得し、学習の早期段階での精度(誤差)が収束しない場合には、学習部150による学習を中断させてもよい。学習部150は、学習により得られた学習済みモデルを制御部120に出力する。
一方で、制御部120は、判定部140が第1判定において第1性能要件を満たさないと判定した場合(S102でNo)、決定部130に、機械学習モデルの構成を変更して、別の機械学習モデルの構成に決定させる。つまり、決定された機械学習モデルの構成から算出される処理速度が閾値T11以下であると判定部140が判定した場合、制御部120は、ステップS101の処理を決定部130に行わせる。
ステップS103が終わると制御部120は、判定部140に、学習部150から取得した学習済みモデルが、機械学習モデルの出力の評価値に対する要件である第2性能要件を満たすか否かの第2判定を実行させる(S104)。判定部140は、例えば、学習済みモデルの出力の評価値として算出される正解率が閾値T21を超えるか否かを判定する。判定部140は、第2判定の判定結果を制御部120に出力する。つまり、判定部140は、第2判定において学習済みモデルが第2性能要件を満たすと判定した場合、第1性能要件および第2性能要件を満たすことを示す情報を制御部120に出力することとなる。なお、制御部120は、当該情報を表示部111に表示させてもよい。
制御部120は、判定部140が第2判定において第2性能要件を満たすと判定した場合(S104でYes)、軽量化部160に、第2性能要件を満たすと判定された学習済みモデルに対して軽量化処理を実行させる(S106)。軽量化部160は、軽量化処理により得られた軽量化モデルを制御部120に出力する。
一方で、制御部120は、判定部140が第2判定において第2性能要件を満たさないと判定した場合(S104でNo)、判定部140に、学習済みモデルの出力の評価値が条件C2を満たす、または、第2性能要件を満たさないと判定された回数がN2回未満であるか否かを判定させる(S105)。なお、第2性能要件は、正解率に対する要件であり、正解率は、値が大きいほど性能が高い評価値である。このため、閾値T22は、閾値T21より小さい値である。これらのことから、「学習済みモデルの出力の評価値が条件C2を満たす」とは、例えば、評価値としての正解率が閾値T22以上であることである。
一方で、第2性能要件が、誤差または不正解率のように値が小さいほど性能が高い評価値である場合、閾値T22は、閾値T21より大きい値である。よって、「学習済みモデルの出力の評価値が条件C2を満たす」とは、例えば、評価値としての誤差または正解率が閾値T22以下であることである。これにより、この場合の判定部140は、ステップS105では、評価値が閾値T22以下である、または、第2性能要件を満たさないと判定された回数がN2回未満であるか否かを判定する。
制御部120は、正解率が閾値T22以上であり、かつ、第2性能要件を満たさないと判定された回数がN2回未満である場合(S105でYes)、学習部150に、前回実行した学習とは異なるパラメータでステップS103の学習を再び実行させる。この場合、制御部120は、例えば、学習部150に、パラメータとしての、ニューラルネットワークの学習率を異なる値に変更して、学習を実行させる。その後、制御部120は、判定部140に、ステップS104において、異なるパラメータでの学習により得られた学習済みモデルが第2性能要件を満たすかの第2判定を実行させる。
制御部120は、正解率が閾値T22未満である、または、第2性能要件を満たさないと判定された回数がN2回以上である場合(S105でNo)、決定部130に、機械学習モデルの構成を変更して、別の機械学習モデルの構成に決定させる。つまり、この場合、制御部120は、ステップS101の処理を決定部130に行わせる。その後、制御部120は、判定部140に、ステップS102において、変更された構成の機械学習モデルが第1性能要件を満たすかの第1判定を実行させる。
ステップS106が終わると制御部120は、判定部140に、軽量化部160から取得した軽量化モデルが、ハードウェア性能に対する要件である第3性能要件を満たすか否かの第3判定を実行させる(S107)。判定部140は、例えば、軽量化処理により得られた軽量化モデルから算出される処理速度が閾値T31を超えるか否かを判定する。判定部140は、第3判定の判定結果を制御部120に出力する。つまり、判定部140は、第3判定において軽量化モデルが第3性能要件を満たすと判定した場合、第3性能要件を満たすことを示す情報を制御部120に出力することとなる。なお、制御部120は、当該情報を表示部111に表示させてもよい。
制御部120は、判定部140が第3判定において第3性能要件を満たすと判定した場合(S107でYes)、判定部140に、第3判定において第3性能要件を満たすと判定された軽量化モデルが、実機のハードウェア性能に対する要件である第4性能要件を満たすか否かの第4判定を実行させる(S109)。具体的には、制御部120は、判定部140に、実機のプロセッサに対して、実際に軽量化モデルを用いた処理を実行させたときの、ハードウェア性能を実測させ、実測されたハードウェア性能が第4性能要件を満たすか否かを判定させる。判定部140は、例えば、実機のプロセッサに対して、実際に軽量化モデルを用いた処理を実行させたときの処理速度を測定し、測定した処理速度が閾値T41を超えるか否かを判定する。判定部140は、第4判定の判定結果を制御部120に出力する。つまり、判定部は、第4判定において第4性能要件を満たすと判定した場合、第4性能要件を満たすことを示す情報を制御部120に出力することとなる。
制御部120は、判定部140が第3判定において第3性能要件を満たさないと判定した場合(S107でNo)、判定部140に、軽量化モデルのハードウェア性能が条件C3を満たす、または、第3性能要件を満たさないと判定された回数がN3回未満であるか否かを判定させる(S108)。なお、第3性能要件は、処理速度に対する要件であり、処理速度は、値が大きいほど性能が高いハードウェア性能である。このため、閾値T32は、閾値T31より小さい値である。これらのことから、「軽量化モデルのハードウェア性能が条件C3を満たす」とは、例えば、ハードウェア性能としての処理速度が閾値T32以上であることである。
一方で、第3性能要件が、消費電力のように値が小さいほど性能が高いハードウェア性能である場合、閾値T32は、閾値T31より大きい値である。よって、「軽量化モデルのハードウェア性能が条件C3を満たす」とは、例えば、ハードウェア性能としての消費電力が閾値T32以下であることである。これにより、この場合の判定部140は、ステップS108では、ハードウェア性能が閾値T32以下である、または、第3性能要件を満たさないと判定された回数がN3回未満であるか否かを判定する。
制御部120は、処理速度が閾値T32以上であり、かつ、第3性能要件を満たさないと判定された回数がN3回未満である場合(S108でYes)、軽量化部160に、前回実行した軽量化処理とは異なるパラメータで軽量化処理を再び実行させる。この場合、制御部120は、例えば、軽量化部160に、パラメータとしての、軽量化処理の軽量化の度合いを異なる度合いに変更して、軽量化処理を実行させる。その後、制御部120は、判定部140に、ステップS107において、異なるパラメータでの軽量化処理により得られた軽量化モデルが第3性能要件を満たすかの第3判定を実行させる。
制御部120は、処理速度が閾値T32未満である、または、第3性能要件を満たさないと判定された回数がN3回以上である場合(S108でNo)、決定部130に、機械学習モデルの構成を変更して、別の機械学習モデルの構成に決定させる。つまり、この場合、制御部120は、ステップS101の処理を決定部130に行わせる。その後、制御部120は、判定部140に、ステップS102において、変更された構成の機械学習モデルが第1性能要件を満たすかの第1判定を実行させる。
制御部120は、判定部140が第4判定において第4性能要件を満たすと判定した場合(S109でYes)、判定部140に、第4判定において第4性能要件を満たすと判定された軽量化モデルが、機械学習モデルの出力の評価値に対する要件である第5性能要件を満たすかの第5判定を実行させる(S111)。判定部140は、例えば、軽量化モデルの出力の評価値として算出される正解率が閾値T51を超えるか否かを判定する。判定部140は、第5判定の判定結果を制御部120に出力する。つまり、判定部140は、第5判定において軽量化モデルが第5性能要件を満たすと判定した場合、第5性能要件を満たすことを示す情報を制御部120に出力することとなる。なお、制御部120は、当該情報を表示部111に表示させてもよい。
制御部120は、判定部140が第4判定において第4性能要件を満たさないと判定した場合(S109でNo)、判定部140に、軽量化モデルのハードウェア性能が条件C4を満たす、または、第4性能要件を満たさないと判定された回数がN4回未満であるか否かを判定させる(S110)。なお、第4性能要件は、処理速度に対する要件であり、処理速度は、値が大きいほど性能が高いハードウェア性能である。このため、閾値T42は、閾値T41より小さい値である。これらのことから、「軽量化モデルのハードウェア性能が条件C4を満たす」とは、例えば、ハードウェア性能としての処理速度が閾値T42以上であることである。
一方で、第4性能要件が、消費電力のように値が小さいほど性能が高いハードウェア性能である場合、閾値T42は、閾値T41より大きい値である。よって、「軽量化モデルのハードウェア性能が条件C4を満たす」とは、例えば、ハードウェア性能としての消費電力が閾値T42以下であることである。これにより、この場合の判定部140は、ステップS110では、ハードウェア性能が閾値T42以下である、または、第4性能要件を満たさないと判定された回数がN4回未満であるか否かを判定する。
制御部120は、処理速度が閾値T42以上であり、かつ、第4性能要件を満たさないと判定された回数がN4回未満である場合(S110でYes)、軽量化部160に、前回実行した軽量化処理とは異なるパラメータで軽量化処理を再び実行させる。この場合、制御部120は、例えば、軽量化部160に、パラメータとしての、軽量化処理の軽量化の度合いを異なる度合いに変更して、軽量化処理を実行させる。その後、制御部120は、判定部140に、ステップS107において、異なるパラメータでの軽量化処理により得られた軽量化モデルが第3性能要件を満たすかの第3判定を実行させる。
制御部120は、処理速度が閾値T42未満である、または、第4性能要件を満たさないと判定された回数がN4回以上である場合(S110でNo)、決定部130に、機械学習モデルの構成を変更して、別の機械学習モデルの構成に決定させる。つまり、この場合、制御部120は、ステップS101の処理を決定部130に行わせる。その後、制御部120は、判定部140に、ステップS102において、変更された構成の機械学習モデルが第1性能要件を満たすかの第1判定を実行させる。
制御部120は、判定部140が第5判定において第5性能要件を満たすと判定した場合(S111でYes)、第5判定において第5性能要件を満たすと判定された軽量化モデルを機械学習モデルとして決定し、決定処理を終了する。
制御部120は、判定部140が第5判定において第5性能要件を満たさないと判定した場合(S111でNo)、判定部140に、軽量化モデルの出力の評価値が条件C5を満たす、または、第5性能要件を満たさないと判定された回数がN5回未満であるか否かを判定させる(S112)。なお、第5性能要件は値が大きいほど性能が高い評価値であるため、閾値T52は、閾値T51より小さい値である。これらのことから、「軽量化モデルの出力の評価値が条件C5を満たす」とは、例えば、評価値としての正解率が閾値T52以上であることである。
一方で、第5性能要件が、誤差または不正解率のように値が小さいほど性能が高い評価値である場合、閾値T52は、閾値T51より大きい値である。よって、「軽量化モデルの出力の評価値が条件C5を満たす」とは、例えば、評価値としての誤差または正解率が閾値T52以下であることである。これにより、この場合の判定部140は、ステップS112では、評価値が閾値T52以下である、または、第5性能要件を満たさないと判定された回数がN5回未満であるか否かを判定する。
制御部120は、正解率が閾値T52以上であり、かつ、第5性能要件を満たさないと判定された回数がN5回未満である場合(S112でYes)、軽量化部160に、前回実行した軽量化処理とは異なるパラメータで軽量化処理を再び実行させる。この場合、制御部120は、例えば、軽量化部160に、パラメータとしての、軽量化処理の軽量化の度合いを異なる度合いに変更して、軽量化処理を実行させる。その後、制御部120は、判定部140に、ステップS107において、異なるパラメータでの軽量化処理により得られた軽量化モデルが第3性能要件を満たすかの第3判定を実行させる。
制御部120は、正解率が閾値T52未満である、または、第5性能要件を満たさないと判定された回数がN5回以上である場合(S112でNo)、判定部140に、第5性能要件を満たさないと判定された回数がN6回以上であるか否かを判定させる(S113)。なお、N6は、N5よりも大きい値である。
制御部120は、判定部140が第5性能要件を満たさないと判定された回数がN6回以上であると判定した場合(S113でYes)、ハードウェア構成を変更する(S114)。例えば、制御部120は、表示部111に、指定されたプロセッサの構成に最適な機械学習モデルを見つけることができなかったため、対象のプロセッサの構成を変更することをユーザに促す指示を表示させてもよい。また、制御部120は、所定のアルゴリズムで、自動的に対象のプロセッサの構成を変更する処理を行ってもよい。また、制御部120は、ハードウェア性能に対する要件である、第1性能要件、第3性能要件および第4性能要件を、より低い性能要件に変更してもよい。
制御部120は、判定部140が第5性能要件を満たさないと判定された回数がN6回未満であると判定した場合(S113でYes)、決定部130に、機械学習モデルの構成を変更して、別の機械学習モデルの構成に決定させる。つまり、この場合、制御部120は、ステップS101の処理を決定部130に行わせる。その後、制御部120は、判定部140に、ステップS102において、変更された構成の機械学習モデルが第1性能要件を満たすかの第1判定を実行させる。
[1-5.効果]
本実施の形態に係る情報処理システム1によれば、第1判定において第1性能要件を満たすまで、第2判定を実行せずに機械学習モデルの構成を変更するため、第2判定を実行する回数を低減することができる。このため、効率よく機械学習モデルを決定することができる。また、プロセッサにかかる処理量および消費エネルギーを低減することができる。
また、本実施の形態に係る情報処理システム1によれば、N2回以上、第2性能要件を満たさないと判定されると機械学習モデルの構成を変更するため、学習させる回数を低減することができる。このため、効率よく機械学習モデルを決定することができる。
また、本実施の形態に係る情報処理システム1によれば、第1判定において第1性能要件を満たすまで、第2判定、軽量化処理および第3判定を実行せずに機械学習モデルの構成を変更する。このため、第2判定、軽量化処理および第3判定を実行する回数を低減することができる。
また、本実施の形態に係る情報処理システム1によれば、第3性能要件で規定されるハードウェア性能の条件は、第1性能要件で規定されるハードウェア性能の条件より厳しい。このため、第1性能要件を満たさないと判定され、機械学習モデルの構成の決定と第1判定とが実行される回数を低減することができる。また、第3判定においてより厳しい判定を行うことで、第3判定の次に行う処理を実行する回数を低減させることができる。
また、本実施の形態に係る情報処理システム1によれば、ステップS108の判定を行うため、第3性能要件を満たさない場合であっても第3性能要件に近い場合には、パラメータを変更して軽量化処理を実行する。このため、第3性能要件を満たす軽量化モデルを効率よく見つけることができる。
また、本実施の形態に係る情報処理システム1によれば、第3性能要件を満たさない場合、N3回以上、第3性能要件を満たさないと判定されると機械学習モデルの構成を変更する。このため、軽量化処理を実行する回数を低減することができる。よって、効率よく機械学習モデルを決定することができる。
また、本実施の形態に係る情報処理システム1によれば、第3判定において第3判定要件を満たすと判定された軽量化モデルについて第4判定を実行するため、第4判定を実行する回数を低減することができる。
また、本実施の形態に係る情報処理システム1によれば、ステップS110の判定を行うため、第4性能要件を満たさない場合であっても第4性能要件に近い場合には、パラメータを変更して軽量化処理を実行するため、第4性能要件を満たす軽量化モデルを効率よく見つけることができる。
また、本実施の形態に係る情報処理システム1によれば、第4性能要件を満たさない場合、N4回以上、第4性能要件を満たさないと判定されると機械学習モデルの構成を変更する。このため、軽量化処理を実行する回数を低減することができる。よって、効率よく機械学習モデルを決定することができる。
また、本実施の形態に係る情報処理システム1によれば、第4判定において第4判定要件を満たすと判定された軽量化モデルについて第5判定を実行するため、第5判定を実行する回数を低減することができる。
また、本実施の形態に係る情報処理システム1によれば、ステップS112の判定を行うため、第5性能要件を満たさない場合であっても第5性能要件に近い場合には、パラメータを変更して軽量化処理を実行するため、第5性能要件を満たす軽量化モデルを効率よく見つけることができる。
また、本実施の形態に係る情報処理システム1によれば、第5性能要件を満たさない場合、N5回以上、第5性能要件を満たさないと判定されると機械学習モデルの構成を変更する。このため、軽量化処理を実行する回数を低減することができる。よって、効率よく機械学習モデルを決定することができる。
[1-6.変形例]
上記実施の形態に係る情報処理システム1は、情報処理装置100および入出力装置200を備える構成であるとしたがこれに限らずに、1台の情報処理装置を備える構成としてもよい。この場合、1台の情報処理装置のハードウェア構成は、入出力装置200と同じであってもよい。
また、上記実施の形態に係る情報処理システム1は、決定部130は、機械学習モデルの構成を変更する場合、自動的に機械学習モデルを別の機械学習モデルに変更するとしたが、これに限らない。例えば、制御部120は、機械学習モデルの構成を変更する場合、機械学習モデルの構成の変更を促す表示を表示部111に行い、かつ、機械学習モデルの構成の変更の指示を受け付けるUIを表示部111に表示させてもよい。この場合、ユーザは、入力IF205を用いてUIへの入力を行うことで、入力受付部112は、変更された構成の機械学習モデルを受け付けてもよい。入力受付部112は、変更された構成の機械学習モデルを制御部120に出力し、制御部120は、取得した機械学習モデルについて、判定部140に第1判定を行わせてもよい。
上記実施の形態に係る情報処理システム1は、機械学習としてニューラルネットワークを用いるとしたが、これに限らずに、決定木、RandomForest、k最近傍法などを用いてもよい。RandomForestを採用する場合、機械学習モデルの構成として、ハイパーパラメータを決定する。ハイパーパラメータは、決定木の数、決定木の深さ、葉の数(各ノードのカテゴリ数)などにより決定される。ハイパーパラメータの決定木の数、決定木の深さ、葉の数などの各パラメータを大きくすれば表現力を向上させることができるが、演算量が多くなる。
この場合の軽量化処理としては、ビットの量子化を適用できる。RandomForestでは、寄与度が低い決定木を削除する、または、決定木の中のノードまたは葉の一部を削除する処理を軽量化処理として行ってもよい。
また、上記実施の形態に係る情報処理システム1は、決定部130において、ネットワーク構成を決定したり変更したりする処理を行うとしたが、当該処理を行わなくてもよい。例えば、次のような情報処理方法を行ってもよい。
プロセッサを用いて以下の処理を実行する。機械学習モデルを用いて学習を実行する。学習により得られた学習済みモデルが、機械学習モデルの出力の評価値に対する要件である第2性能要件を満たすかの第2判定を実行する。そして、前記第2判定において前記学習済みモデルが前記第2性能要件を満たすと判定された場合、前記第2判定において前記第2性能要件を満たすと判定された前記学習済みモデルに対して軽量化処理を実行する。次に、軽量化処理により得られた軽量化モデルが、ハードウェア性能に対する要件である第3性能要件を満たすかの第3判定を実行する。そして、前記第3判定において前記第3性能要件を満たすと判定された前記軽量化モデルが、実機のハードウェア性能に対する要件である第4性能要件を満たすかの第4判定を実行する。前記第4判定において前記第4性能要件を満たすと判定された場合、前記第4性能要件を満たすことを示す情報を出力し、前記第3判定において前記第3性能要件を満たさないと判定された前記軽量化モデルのハードウェア性能が第1の条件、つまり、条件C3を満たす場合、前回実行した軽量化処理とは異なるパラメータで前記軽量化処理を実行する。
この場合であっても、第3判定において第3性能要件を満たさないと判定された場合に、軽量化処理を再度実行する場合があるため、実機のハードウェア性能に対する要件である第4性能要件を満たすかの第4判定を実行する回数を低減することができる。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の情報処理方法、情報処理システムなどを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータのプロセッサを用いて、機械学習モデルの構成を決定し、決定された前記構成の前記機械学習モデルが、ハードウェア性能に対する要件である第1性能要件を満たすかの第1判定を実行し、前記第1判定において前記第1性能要件を満たすと判定された場合、前記第1性能要件を満たすと判定された構成の機械学習モデルを用いて学習を実行し、学習により得られた学習済みモデルが、機械学習モデルの出力の評価値に対する要件である第2性能要件を満たすかの第2判定を実行し、前記第2判定において前記学習済みモデルが前記第2性能要件を満たすと判定された場合、前記第1性能要件及び前記第2性能要件を満たすことを示す情報を出力し、前記第1判定において前記第1性能要件を満たさないと判定された場合、前記機械学習モデルの構成を変更し、変更した前記構成の前記機械学習モデルが前記第1性能要件を満たすかの前記第1判定を実行する情報処理方法を実行させる。
以上、本発明の一つまたは複数の態様に係る情報処理方法および情報処理システムについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つまたは複数の態様の範囲内に含まれてもよい。