(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-21
(45)【発行日】2024-03-29
(54)【発明の名称】ニューラルネットワークモデルの情報を提供する方法及び同方法を実施する電子機器
(51)【国際特許分類】
G06N 3/10 20060101AFI20240322BHJP
【FI】
G06N3/10
(21)【出願番号】P 2023541308
(86)(22)【出願日】2023-02-09
(86)【国際出願番号】 KR2023001893
(87)【国際公開番号】W WO2023153820
(87)【国際公開日】2023-08-17
【審査請求日】2023-07-07
(31)【優先権主張番号】10-2022-0017230
(32)【優先日】2022-02-10
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0017231
(32)【優先日】2022-02-10
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0023385
(32)【優先日】2022-02-23
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0048201
(32)【優先日】2022-04-19
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0057599
(32)【優先日】2022-05-11
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0104351
(32)【優先日】2022-08-19
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0104352
(32)【優先日】2022-08-19
(33)【優先権主張国・地域又は機関】KR
(32)【優先日】2023-02-01
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】523165640
【氏名又は名称】ノタ、インコーポレイテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】キム、ヨー チャン
(72)【発明者】
【氏名】シン、ジ ナ
(72)【発明者】
【氏名】バエク、ジョン ウォン
(72)【発明者】
【氏名】キム、ドン ウーク
(72)【発明者】
【氏名】パク、チェオル ビン
(72)【発明者】
【氏名】ナ、ホ イン
(72)【発明者】
【氏名】パク、スン ジョー
(72)【発明者】
【氏名】リー、チャエ ヒュク
【審査官】福西 章人
(56)【参考文献】
【文献】韓国公開特許第10-2021-0045845(KR,A)
【文献】中国特許出願公開第113316795(CN,A)
【文献】中国特許出願公開第113408634(CN,A)
【文献】韓国公開特許第10-2021-0092575(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
電子機器によって実
行される
、ニューラルネットワークモデルの情報を提供する
ための方法であって、
目標デバイス、及び、前記ニューラルネットワークモデルの目標性能についての、ユーザからの選択を受信するための入力画面を表示するための指令を、コンピュータネットワークを介して外部デバイスへ送信する段階;
前記電子機器のプロセッサにおいて、
前記ニューラルネットワークモデルが実行される
前記目標デバイス
についての情報、及び、
前記目標デバイス
についての前記ニューラルネットワークモデルの
前記目標性能を外部デバイスから受信する
段階;及び
前記ユーザから
、複数の推奨
ニューラルネットワークモデルのうちの選択
を受信するための推奨画面
を表示するために、コンピュータネットワークを介して指令を前記
外部デバイスへ送信する段階、ここで、
前記複数の推奨
ニューラルネットワークモデルについての
情報は、前記目標デバイスについての前記情報及び前記受信された目標性能に基づいて生成される、
を備え、
前記推奨画面は、前記複数の
推奨ニューラルネットワークモデルの
それぞれの1つについての情報を
各々が表す複数のUI要素を含み、
前記複数の
UI要素に対応する前記複数の
推奨ニューラルネットワークモデルは、
事前設定された範囲内の、前記ユーザによって入力された前記目標性能との性能差を有する、
方法。
【請求項2】
前記複数のUI要素の各々に対応する前記
複数の推奨ニューラルネットワークモデルの
前記目標性能
及び前記受信
された目標性能の間の差の昇順
に前記複数のUI要素が表示される、請求項1に記載の方法。
【請求項3】
前記目標性能はレイテンシに関連する、請求項1に記載の方法。
【請求項4】
前記複数のUI要素は、
前記ユーザによって構成される入力データのサイズに基づいて導出された複数の第1の推奨ニューラルネットワークモデルのそれぞれの1つに各々が対応する第1のUI要素、及び、
目標性能に基づいて導出される複数の第2の推奨ニューラルネットワークモデルのそれぞれの1つに各々が対応する第2のUI要素
を含み、
前記第1のUI要素及び前記第2のUI要素は、異なるエリアに表示される、
請求項1に記載の方法。
【請求項5】
前記複数の
推奨ニューラルネットワークモデルの
前記情報は、ルックアップテーブルに基づいて取得され、
前記ルックアップテーブルは、複数のニューラルネットワークモデルの識別情報、前記複数のニューラルネット
ワークモデルが実行される複数のデバイスの情報、及び、前記複数のデバイス
についての前記複数のニューラルネットワークモデルの性能情報を
含む、
請求項1に記載の方法。
【請求項6】
前記入力画面は、
前記ユーザが前記目標デバイスを選択するための第1の領域、
前記ユーザが、前記目標デバイスにおいて実行される前記ニューラルネットワークモデルのフレームワークを選択するための第2の領域、及び、
前記ユーザが、前記目標デバイスによってサポートされるデータタイプを選択するための第3の領域
を含む、請求項1に記載の方法。
【請求項7】
前記第2の領域において選択可能であるフレームワーク、又は、前記第3の領域において選択可能であるデータタイプの少なくとも1つは、前記第1の領域において前記ユーザによって選択された前記目標デバイスに基づいて決定される、請求項6に記載の方法。
【請求項8】
前記入力画面の前記第3の領域は、互いに異なるデータタイプを示すデータタイプUI要素を含み、
ここで、前記データタイプUI要素は、前記ユーザによって選択された前記目標デバイスに従って、個別に有効化又は無効化されることによって視覚的に区別されるように表示される、
請求項6に記載の方法。
【請求項9】
前記ユーザからの前記選択されたニューラルネットワークモデルを訓練する段階;及び
前記目標デバイス上に展開された、前記選択されたニューラルネットワークモデルに対応するダウンロードデータを、前記コンピュータネットワークを介して送信する段階
を更に備える、請求項1に記載の方法。
【請求項10】
ニューラルネットワークモデルの情報を提供する
ための電子機器であって、
少なくとも1つの通信回路を含む、データネットワークを介してデータを送
信及び受信するよう構成され
ている通信インタフェース
;
少なくとも1つの動作指示を記憶するよう構成され
ている非一時的メモリ;
及び
プロセッサ
を備え、
前記少なくとも1つの動作指示の実行
により、前記プロセッサ
は、
目標デバイス、及び、前記ニューラルネットワークモデルの目標性能についてのユーザからの選択を受信するための入力画面を表示するための指令を外部デバイスへ送信する手順;
前記ニューラルネットワークモデルが実行される
前記目標デバイスの情報、及び、前記目標デバイス
についての前記ニューラルネットワークモデルの
前記目標性能を外部デバイスから受信する
手順;及び
前記
ユーザから、複数の
推奨ニューラルネットワークモデルの
うちの選択を受信
するための推奨画面を表示するために、
指令を前記外部デバイス
へ送信する
手順、ここで、前記複数の
推奨ニューラルネットワークモデル
についての情報は
、前記目標デバイスについての前記情報、及び、前記受信された目標性能に基づいて生成される、
を行い、前記推奨画面は、前記複数の推奨ニューラルネットワークモデルの
それぞれの1つの情報を各々が表す複数のUI要素
を含み、
前記複数のUI要素に
対応する前記複数の推奨ニューラルネットワークモデルは、
事前設定された範囲内の、前記ユーザによって入力される前記目標性能からの性能差を有する、
電子機器。
【請求項11】
前記複数のUI要素の各々に対応する前記
複数の推奨ニューラルネットワークモデルの前記
目標性能
及び前記受信
された目標性能
の間の差の昇順に
前記複数のUI要素が表示される、請求項
10に記載の電子機器。
【請求項12】
前記目標性能はレイテンシに関連する、請求項10に記載の電子機器。
【請求項13】
前記複数のUI要素は、
前記ユーザによって構成される入力データのサイズに基づいて導出された複数の第1の推奨ニューラルネットワークモデルのそれぞれの1つに各々が対応する第1のUI要素、及び、
目標性能に基づいて導出される複数の第2の推奨ニューラルネットワークモデルのそれぞれの1つに各々が対応する第2のUI要素
を含み、
前記第1のUI要素及び前記第2のUI要素は、異なるエリアに表示される、
請求項10に記載の電子機器。
【請求項14】
前記複数の
推奨ニューラルネットワークモデルの
前記情報は、ルックアップテーブルに基づいて取得され、
前記ルックアップテーブルは、複数のニューラルネットワークモデルの識別情報、前記複数のニューラルネットワークモデルが実行される複数のデバイスの情報、
及び、前記複数のデバイス
についての前記複数のニューラルネットワークモデルの性能情報
を含む、
請求項
10に記載の電子機器。
【請求項15】
前記入力画面は、
前記ユーザが前記目標デバイスを選択するための第1の領域、
前記ユーザが、前記目標デバイスにおいて実行される前記ニューラルネットワークモデルのフレームワークを選択するための第2の領域、及び、
前記ユーザが、前記目標デバイスによってサポートされるデータタイプを選択するための第3の領域
を含む、請求項10に記載の電子機器。
【請求項16】
前記第2の領域において選択可能であるフレームワーク、又は、前記第3の領域において選択可能であるデータタイプの少なくとも1つは、前記第1の領域において前記ユーザによって選択された前記目標デバイスに基づいて決定される、請求項15に記載の電子機器。
【請求項17】
前記入力画面の前記第3の領域は、互いに異なるデータタイプを示すデータタイプUI要素を含み、
ここで、前記データタイプUI要素は、前記ユーザによって選択された前記目標デバイスに従って、個別に有効化又は無効化されることによって視覚的に区別されるように表示される、
請求項15に記載の電子機器。
【請求項18】
前記少なくとも1つの動作指示の実行により、前記プロセッサは、
前記ユーザからの、前記選択されたニューラルネットワークモデルを訓練する手順;及び
前記目標デバイス上に展開された、前記選択されたニューラルネットワークモデルに対応するダウンロードデータを、前記データネットワークを介して送信する手順
を行う、請求項10に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ニューラルネットワークモデルの情報を提供する方法及び同方法を実施する電子機器に関する。
【背景技術】
【0002】
人工知能技術の普及に伴い、目標デバイスにおいて人工知能モデルを運用するために人工知能モデルを必要とするユーザのニーズが増加している。
【発明の概要】
【発明が解決しようとする課題】
【0003】
種々の人工知能モデルが世界中で公開されているが、ユーザの望む性能を備えた人工知能モデルをユーザが直接見つけることは容易ではない。さらに、ユーザが最新式(SOTA)モデル等、優れた性能を備えたモデルを見つけたとしても、そのモデルは、目標デバイス上で必ずしも動作可能であるとは限らない。このような理由から、ユーザは、そのモデルが目標デバイス上で運用可能か否かを確認するのに苦労する。
【0004】
したがって、ユーザに目標デバイスに合わせて最適化されたニューラルネットワークモデルを簡便に取得させる技術のニーズがある。
【課題を解決するための手段】
【0005】
本開示は、目標デバイスに合わせて最適化されたニューラルネットワークモデルを提供する電子機器を提供するものである。
【0006】
本開示はさらに、ユーザによって入力されたデータセットに基づいて訓練されたニューラルネットワークモデルを提供する電子機器を提供するものである。
【0007】
本開示はさらに、ユーザによって入力された圧縮設定値に基づいて訓練された圧縮ニューラルネットワークモデルを提供する電子機器を提供するものである。
【0008】
本開示はさらに、圧縮ニューラルネットワークモデルに対応するダウンロードデータを提供する電子機器を提供するものである。
【0009】
本開示の目的は、上述の目的に限定されるものでない。すなわち、以下の説明より、本開示が関連する当業者により、記載されていない他の目的が明らかに理解され得る。
【0010】
本開示は、電子機器によって実施されるニューラルネットワークモデルの情報を提供する方法であって、電子機器のプロセッサにおいて、ニューラルネットワークモデルが実行される目標デバイスの情報、及び目標デバイスに対するニューラルネットワークモデルの目標性能を、外部デバイスから受信することと、プロセッサにより、目標デバイスの情報及び受信した目標性能に基づき、複数の候補ニューラルネットワークモデルの情報を導出することと、受信した目標性能に基づき、複数の候補ニューラルネットワークモデルの情報を表示するために、コンピュータネットワークを介して外部デバイスに指令を送信することと、を含み、複数の候補ニューラルネットワークモデルの情報には、複数の候補ニューラルネットワークモデルの名称、複数の候補ニューラルネットワークモデルの性能、又は複数の候補ニューラルネットワークモデルの入力データのサイズのうちの少なくとも1つが含まれる方法を提供し得る。
【0011】
複数の候補ニューラルネットワークモデルを導出するための訓練モードが第1の訓練モードに設定されるとき、各々、複数の候補ニューラルネットワークモデルの情報を表す複数のUI要素には、各々、ユーザによって設定された入力データのサイズに基づいて導出された複数の第1の候補ニューラルネットワークモデルの各々に対応する第1のUI要素と、各々、ユーザによって設定された目標性能に基づいて導出された複数の第2の候補ニューラルネットワークモデルの各々に対応する第2のUI要素とが含まれてもよい。第1のUI要素及び第2のUI要素は、異なるエリアに表示されてもよい。訓練モードが第2の訓練モードとして設定されるとき、複数のUI要素は、第1の性能パラメータに対応する第1の軸と、第2の性能パラメータに対応し、第1の軸と直交する第2の軸とによって規定される2次元グラフ上に表示されてもよい。
【0012】
訓練モードが第1の訓練モードとして設定されるとき、複数のUI要素は、複数のUI要素の各々に対応する候補ニューラルネットワークモデルの性能と受信した目標性能との差の降順に表示されてもよい。
【0013】
第1の性能パラメータが遅延時間であってもよく、第2の性能パラメータが正確さであってもよい。
【0014】
複数のUI要素には、各々、受信した目標性能から所定範囲内に性能を有する複数の第3の候補ニューラルネットワークモデルの各々に対応する第3のUI要素と、各々、受信した目標性能から所定範囲外に性能を有する複数の第4の候補ニューラルネットワークモデルに対応する第4のUI要素とが含まれてもよい。送信することには、第3のUI要素を有効化し、第4のUI要素を無効化するために、外部デバイスに指令を送信することが含まれてもよい。
【0015】
複数のUI要素の各々は、ユーザによる選択時、複数の候補ニューラルネットワークモデルの情報を表示してもよい。
【0016】
複数の候補ニューラルネットワークモデルの情報は、ルックアップテーブルに基づいて取得されてもよい。ルックアップテーブルには、複数のニューラルネットワークモデルの識別情報、複数のニューラルネットワークモデルが実行される複数のデバイスの情報、及び複数のデバイスに対する複数のニューラルネットワークモデルの性能情報が含まれてもよい。
【0017】
導出することには、複数のニューラルネットワークモデルのうち、ランキングが所定のランキング以上であるニューラルネットワークモデルの情報を導出することが含まれてもよく、ランキングは、目標性能からの性能差に基づく。
【0018】
導出することには、複数のニューラルネットワークモデルのうち、目標性能からの差が事前設定された範囲内であるニューラルネットワークモデルの情報を導出することが含まれてもよい。
【0019】
本開示は、ニューラルネットワークモデルの情報を提供する電子機器であって、データネットワークを介してデータを送受信するように構成され、少なくとも1つの通信回路を含む通信インタフェースと、少なくとも1つの動作指示を記憶するように構成された持続性メモリと、プロセッサとを備え、少なくとも1つの動作指示を実行することは、プロセッサに、ニューラルネットワークモデルが実行される目標デバイスの情報、及び目標デバイスに対するニューラルネットワークモデルの目標性能を、外部デバイスから受信することと、目標デバイスの情報及び受信した目標性能に基づき、複数の候補ニューラルネットワークモデルの情報を導出することと、受信した目標性能に基づき、複数の候補ニューラルネットワークモデルの情報を表示するために、外部デバイスに指令を送信することと、を実施させ、複数の候補ニューラルネットワークモデルの情報には、候補ニューラルネットワークモデルの名称、複数の候補ニューラルネットワークモデルの性能、又は複数の候補ニューラルネットワークモデルの入力データのサイズのうちの少なくとも1つが含まれる電子機器を提供し得る。複数の候補ニューラルネットワークモデルを導出するための訓練モードが第1の訓練モードとして設定されるとき、各々、複数の候補ニューラルネットワークモデルの情報を表す複数のUI要素には、ユーザによって設定された入力データのサイズに基づいて導出された複数の第1の候補ニューラルネットワークモデルの各々に対応する第1のUI要素と、各々、ユーザによって設定された目標性能に基づいて導出された複数の第2の候補ニューラルネットワークモデルの各々に対応する第2のUI要素とが含まれてもよい。第1のUI要素及び第2のUI要素は、異なるエリアに表示されてもよい。訓練モードが第2の訓練モードとして設定されるとき、複数のUI要素は、第1の性能パラメータに対応する第1の軸と、第2の性能パラメータに対応し、第1の軸と直交する第2の軸とによって規定される2次元グラフ上に表示されてもよい。
【0020】
訓練モードが第1の訓練モードとして設定されるとき、複数のUI要素は、複数のUI要素の各々に対応する候補ニューラルネットワークモデルの性能と受信した目標性能との差の降順に表示されてもよい。
【0021】
複数のUI要素には、各々、受信した目標性能から所定範囲内に性能を有する複数の第3の候補ニューラルネットワークモデルの各々に対応する第3のUI要素と、受信した目標性能から所定範囲外に性能を有する複数の第4の候補ニューラルネットワークモデルの各々に対応する第4のUI要素とが含まれてもよい。
【0022】
プロセッサは、通信インタフェースを制御することで、第3のUI要素を有効化し、第4のUI要素を無効化するために、外部デバイスに指令を送信してもよい。
【0023】
プロセッサは、ルックアップテーブルに基づき、複数の候補ニューラルネットワークモデルの情報を導出してもよい。ルックアップテーブルには、複数のニューラルネットワークモデの識別情報、複数のニューラルネットワークモデルが実行される複数のデバイスの情報、及び複数のデバイスに対する複数のニューラルネットワークモデルの性能情報が含まれてもよい。
【0024】
プロセッサは、複数のニューラルネットワークモデルのうち、ランキングが所定のランキング以上であるニューラルネットワークモデルの情報を導出してもよく、ランキングは、目標性能からの性能差に基づいてもよい。
【0025】
プロセッサは、複数のニューラルネットワークモデルのうち、目標性能からの差が事前設定された範囲内であるニューラルネットワークモデルの情報を導出してもよい。
【0026】
本開示の課題を解決するための手段は、上述の解決手段に限定されるものでなく、本明細書及び添付の図面より、本開示が関連する当業者により、言及されていない解決手段が明らかに理解されるであろう。
【発明の効果】
【0027】
上述のような本開示の種々の実施形態によると、目標デバイスに合わせて最適化されたニューラルネットワークモデルを提供することができる。
【0028】
上述のような本開示の種々の実施形態によると、ユーザによって入力されたデータセットに基づいて訓練されたニューラルネットワークモデルを提供することができる。
【0029】
上述のような本開示の種々の実施形態によると、ユーザによって入力された圧縮のための設定値に基づいて圧縮ニューラルネットワークモデルを提供することができる。
【0030】
上述のような本開示の種々の実施形態によると、圧縮ニューラルネットワークモデルに対応するダウンロードデータを提供することができる。
【0031】
したがって、ユーザの利便と満足を向上することができる。
【図面の簡単な説明】
【0032】
添付の図面を参照した以下の説明より、本開示の特定の実施形態の態様、特徴、及び効果がより明らかとなるであろう。
【0033】
【
図1】本開示の実施形態に係る電子機器の動作を示す図である。
【0034】
【
図2】本開示の実施形態に係る電子機器の構成を示すブロック図である。
【0035】
【
図3】本開示の実施形態に係る第1のプロジェクトを実施する方法を示す図である。
【0036】
【
図4】本開示の実施形態に係る第2のプロジェクトを実施する方法を示す図である。
【0037】
【
図5】本開示の実施形態に係る第3のプロジェクトを実施する方法を示す図である。
【0038】
【
図6】本開示の実施形態に係るデータセット入力画面を示す図である。
【0039】
【
図7】本開示の実施形態に係るデータセット確認画面を示す図である。
【0040】
【
図8】本開示の実施形態に係るデータセット一覧画面を示す図である。
【0041】
【
図9】本開示の実施形態に係る目標デバイス入力画面を示す図である。
【0042】
【
図10】本開示の実施形態に係るプロジェクト情報画面を示す図である。
【0043】
【
図11】本開示の実施形態に係る電子機器の制御方法を示す図である。
【0044】
【
図12】本開示の実施形態に係る第1のプロジェクトの実施方法を示すシーケンス図である。
【0045】
【
図13】本開示の実施形態に係る第2のプロジェクトの実施方法を示すシーケンス図である。
【0046】
【
図14】本開示の実施形態に係る第3のプロジェクトの実施方法を示すシーケンス図である。
【0047】
【
図15】本開示の実施形態に係るニューラルネットワークモデルを提供するためのシステムの構成を示すブロック図である。
【0048】
【
図16】本開示の実施形態に係る学習設定画面を示す図である。
【0049】
【
図17】本開示の実施形態に係るベースモデル推奨画面を示す図である。
【0050】
【
図18】本開示の実施形態に係るユーザインタフェース画面を介してニューラルネットワークモデルの情報を表示する方法を示す図である。
【0051】
【
図19】本開示の実施形態に係るニューラルネットワークモデルの情報を表示する方法を示す図である。
【0052】
【
図20】本開示の実施形態に係るニューラルネットワークモデルの性能データを取得する方法を示す図である。
【0053】
【
図21】本開示の実施形態に係る電子機器の制御方法を示す図である。
【0054】
【
図22】本開示の実施形態に係る電子機器の動作を示す図である。
【発明を実施するための形態】
【0055】
本明細書において使用される用語について簡単に説明した後、本開示について詳細に説明する。
【0056】
本開示の機能を考慮の上、現在広範に亘って使用される一般的な用語を、本開示の実施形態において使用する用語として選択するが、当技術分野又は判例に関する知識を有するものの意図、新技術の出現等に応じて変更され得る。さらに、特定の場合においては、出願人によって任意に選ばれた用語が使用され得る。このような場合、それらの用語の意味については、本開示の対応説明部分において詳細に言及される。したがって、本開示において使用される用語は、それら用語の単純な名称でなく、本開示全体を通じた用語及び内容の意味に基づいて規定されなければならない。
【0057】
本開示は、種々に修正されてもよく、いくつかの実施形態を有してもよいため、本開示の特定の実施形態を添付の図面に示し、詳細な説明において詳述する。しかしながら、本開示は、例としての特定の実施形態に限定されるものでなく、本開示の範囲及び趣旨から逸脱することなく、あらゆる修正、同等物、及び置換がなされることを理解しなければならない。本開示に関連の既知の技術についての詳細な説明は、本開示の要旨を曖昧にする可能性があると判断されるときには、詳細な説明を省略する。
【0058】
「第1の」、「第2の」等の用語は、種々の構成要素を説明するために使用され得るが、これらの要素は、これらの用語によって限定されるものと理解されてはならない。これらの用語は、1つの構成要素を他の構成要素と区別するためのみに使用されるものである。
【0059】
単数形は、文脈によって別段の明記のない限り、複数形も含むことが意図されている。より具体的には、本明細書中及び添付の請求項中で使用される場合、単数形の不定冠詞及び定冠詞は、文脈によって別段の明記のない限り、複数の指示対象も含む。本明細書において使用される「備える」及び「含む」という用語は、本明細書において言及される特徴、数値、ステップ、動作、構成要素、部分、又はこれらの組み合わせの存在を特定するものであるが、1つ以上の他の特徴、数値、ステップ、動作、構成要素、部分、又はこれらの組み合わせの存在又は追加を排除するものでないことが理解されなければならない。
【0060】
以降、本開示の関連する技術分野の当業者が本開示を容易に実施し得るように、本開示の実施形態について、添付の図面を参照して詳細に説明を行う。しかしながら、本開示は、種々の異なる形態で修正されてもよく、本明細書に記載の実施形態に限定されるものでない。さらに、図中、説明に関連しない箇所については、本開示を明確に説明するために省略し、明細書全体を通じて同様の部分の説明には同様の参照符号を使用する。
【0061】
構造及び動作の双方について、本明細書に記載の実施形態の詳細を添付の図中に表しており、種々の図面において、同様の参照符号により、同様又は対応の要素を示している。図中の要素は、必ずしも寸法を示すものでなく、むしろ実施形態の原則を説明する上で、強調が加えられている。さらに、すべての図示は、概念を伝えることが意図されており、相対的なサイズ、形状、及びその他の詳細な属性は、そのまま又は精密に示されるのではなく、概略的に示されることがある。
【0062】
本開示は、演算デバイスによって実施されるニューラルネットモデルを取得する方法であって、演算デバイスのプロセッサにおいて、ニューラルネットワークモデルを訓練するためのデータセット、ニューラルネットワークモデルを実行するための目標デバイスに関する情報、及びニューラルネットワークモデルのための訓練モードを受信することと、データセット、目標デバイスに関する情報、及び訓練モードに基づき、プロセッサを使用してプロジェクトを設定することと、設定されたプロジェクトを実施することによって、少なくとも1つの訓練済ニューラルネットワークモデルを導出することと、を含む方法を提供し得る。
【0063】
第1のデータセットがデータセットとして受信され、第1の訓練モードが訓練モードとして受信されるとき、プロジェクトは、第1のプロジェクトとして設定され、第1の訓練済モデルは、設定された第1のプロジェクトを実施することによって導出される。設定された第1のプロジェクトを実施することには、目標デバイスに関する情報及びユーザによって入力された目標性能に基づき、メモリに予め記憶された複数のニューラルネットワークモデルのうちから複数のベースモデルを特定することと、第1のデータセットに基づき、第1のベースモデルを訓練することにより、第1の訓練済モデルを導出することと、が含まれてもよい。第1のベースモデルは、複数の特定されたベースモデルから、ユーザによって選択されてもよい。
【0064】
複数の特定されたベースモデルは、目標デバイスに対応し、目標性能からの性能差が事前設定された範囲内であるニューラルネットワークモデルであってもよい。複数のベースモデルは、複数の予め記憶されたニューラルネットワークモデルの識別情報、目標デバイスの情報、目標デバイスに複数のニューラルネットワークモデルのうちの関連する1つを実行することによって導出された複数のニューラルネットワークモデルに対する性能情報が含まれるルックアップテーブルに基づいて特定されてもよい。
【0065】
第2のデータセットがデータセットとして受信され、第2の訓練モードが訓練モードとして受信されるとき、プロジェクトは、第2のプロジェクトとして設定され、第2の訓練済モデルは、設定された第2のプロジェクトを実施することによって導出される。設定された第2のプロジェクトを実施することには、目標デバイスに関する情報、及び所与のアルゴリズムに基づき、第2のベースモデルを導出することと、第2のデータセットに基づき、第2のベースモデルを訓練することにより、第2の訓練済モデルを導出することと、が含まれてもよい。
【0066】
所与のアルゴリズムには、ハイパーパラメータ最適化(HPO)アルゴリズム又はニューラルアーキテクチャ検索(NAS)アルゴリズムのうちの少なくとも一方が含まれてもよい。
【0067】
当該方法には、モデルデータベースに、少なくとも1つの訓練済ニューラルネットワークモデルを記憶することが含まれてもよい。
【0068】
第3のデータセットがデータセットとして受信され、第3の訓練モードが訓モードとして受信されるとき、プロジェクトは、第3のプロジェクトとして設定され、第3の訓練済モデルは、第3のプロジェクトセットを実施することによって導出される。第3のプロジェクトセットを実施することには、モデルデータベースから導出された少なくとも1つの訓練済モデルを含むモデル一覧をユーザに提供することと、ユーザによってモデル一覧から選択された訓練済モデル及び第3のデータセットに基づき、第3の訓練済モデルを導出することと、が含まれてもよい。第3の訓練済モデルは、第3のデータセットに基づいて訓練されてもよい。
【0069】
当該方法には、データセットのフォーマットが事前設定されたフォーマットであるか否かを特定することと、データセットのフォーマットが事前設定されたフォーマットでないとき、データセットのフォーマットを事前設定されたフォーマットに変換することと、が含まれてもよい。
【0070】
事前設定されたフォーマットには、You only look once(YOLO)が含まれてもよい。
【0071】
ルックアップテーブルに含まれる複数のニューラルネットワークモデルの性能情報は、目標デバイスを使用して複数のニューラルネットワークモデルを実行することによって導出されてもよい。
【0072】
本開示は、ニューラルネットワークモデルを取得するための電子機器であって、通信ネットワークを介してデータを送受信するように動作可能であり、少なくとも1つの通信回路を含む通信インタフェースと、少なくとも1つの指示を記憶するように構成された持続性コンピュータ可読メモリと、プロセッサと、を備え、プロセッサの実行では、プロセッサに、ニューラルネットワークモデルを訓練するためのデータセット、ニューラルネットワークモデルを実行するための目標デバイスについての情報、及びニューラルネットワークモデルのための訓練モードを受信することと、データセット、目標デバイスの情報、及び訓練モードに基づき、プロジェクトを設定することと、設定されたプロジェクトを実施することにより、少なくとも1つの訓練済ニューラルネットワークモデルを導出することと、を行わせる少なくとも1つの動作指示を実行する電子機器を提供し得る。
【0073】
プロセッサは、第1のデータセット、目標デバイスの情報、及び第1の訓練モードに基づいて第1のプロジェクトを設定してもよい。設定された第1のプロジェクトが実施されるとき、プロセッサは、目標デバイスの情報及びユーザから入力された目標性能に基づき、メモリに予め記憶された複数のニューラルネットワークモデルのうちから、複数のベースモデルを特定することと、通信インタフェースを制御することで、外部デバイスに複数のベースモデルに関する情報を表示させる指令を外部デバイスに送信することと、第1のデータセット及び複数のベースモデルからユーザによって選択された第1のベースモデルに基づいてトレーニングされた第1の訓練済モデルを導出することと、を行ってもよい。
【0074】
複数の特定されたベースモデルは、目標デバイスに対応し、目標性能からの性能差が事前設定された範囲内にあるニューラルネットワークモデルであってもよい。複数の特定されたベースモデルは、メモリに記憶されたルックアップテーブルに基づいて特定されてもよい。ルックアップテーブルには、予め記憶された複数のニューラルネットワークモデルについての識別情報、目標デバイスについての情報、及び目標デバイスに複数のニューラルネットワークモデルのうちの関連する1つを実行することによって導出された複数のニューラルネットワークモデルについての性能情報が含まれてもよい。
【0075】
プロセッサは、第2のデータセット、目標デバイスについての情報、及び第2の訓練モードに基づき、第2のプロジェクトを設定してもよい。設定された第2のプロジェクトが実施されるとき、プロセッサは、目標デバイスの情報及び所与のアルゴリズムに基づき、第2のベースモデルを導出し、第2のデータセットに基づき、第2のベースモデルを訓練することにより、第2の訓練済モデルを導出してもよい。
【0076】
所与のアルゴリズムには、ハイパーパラメータ最適化アルゴリズム(HPO)又はニューラルネットワークアーキテクチャ(NAS)検索アルゴリズムのうちの少なくとも一方が含まれてもよい。
【0077】
プロセッサは、少なくとも1つの訓練済ニューラルネットワークモデルをモデルデータベースに記憶させてもよい。
【0078】
プロセッサは、第3のデータセット、目標デバイスについての情報、及び第3の訓練モードに基づき、第3のプロジェクトを設定してもよい。設定された第3のプロジェクトが実施されるとき、プロセッサは、モデルデータベースから少なくとも1つの訓練済モデルを含むモデル一覧を提供し、ユーザによってモデル一覧から選択された訓練済モデルを訓練することにより、第3のデータセットに基づいて訓練された第3の訓練済モデルを導出してもよい。
【0079】
プロセッサは、データセットのフォーマットが事前設定されたフォーマットであるか否かを特定してもよい。データセットのフォーマットが事前設定されたフォーマットでないとき、プロセッサは、データセットのフォーマットを事前設定されたフォーマットに変換してもよい。
【0080】
ルックアップテーブルに含まれる複数のニューラルネットワークモデルについての性能情報は、目標デバイスを使用して複数のニューラルネットワークモデルを実行することによって導出されてもよい。
【0081】
本開示は、演算デバイスによって実施されるニューラルネットワークモデルを提供する方法であって、演算デバイスのプロセッサにおいて、ユーザによって入力された目標デバイスについての情報を使用してデバイスファームにおいて特定された目標デバイスと及びデータセットに基づいて訓練された訓練済モデルを受信することと、圧縮設定情報及びデバイスファームから受信した遅延時間情報に基づいて訓練済モデルを圧縮することと、圧縮された訓練済モデルに対応するダウンロードデータを提供することにより、圧縮された訓練済モデルが目標デバイス上で展開されるようにすることと、を含む方法を提供し得る。
【0082】
圧縮設定情報には、訓練済モデルがユーザによって設定されたモデル圧縮設定値に基づいて圧縮されることを示す第1の圧縮モードが含まれてもよい。第1の圧縮モードが設定されるとき、訓練済モデルを圧縮することには、訓練済モデルに含まれる複数のブロックのうちから、複数の圧縮可能目標ブロックを特定することと、モデル圧縮設定値及び所与のアルゴリズムの双方に基づき、複数の目標ブロックのうちの各々に適用されるブロック圧縮に対するブロック圧縮設定値を含む、第1の圧縮パラメータセットを導出することと、第1の圧縮パラメータセットに基づき、複数の圧縮可能目標ブロックを圧縮することと、が含まれてもよい。
【0083】
訓練済モデルを圧縮することには、ユーザに第1の圧縮パラメータセットを提供することがさらに含まれてもよい。ブロック圧縮設定値がユーザによって修正されるとき、訓練済モデルを圧縮することには、修正されたブロック圧縮設定値を含む第2の圧縮パラメータセットに基づき、複数の目標ブロックを圧縮することがさらに含まれてもよい。
【0084】
圧縮設定情報には、訓練済モデルに含まれるブロックの情報が提供され、訓練済モデルがユーザによって設定されたブロック圧縮設定値に基づいて圧縮されることを示す第2の圧縮モードが含まれてもよい。第2の圧縮モードが設定されるとき、圧縮することには、訓練済モデルに含まれる複数のブロックのうちから、複数の圧縮可能目標ブロックを特定することと、複数の目標ブロックの情報をユーザに提供することと、複数の目標ブロックの各々に適用されるブロック圧縮設定値を含む第3の圧縮パラメータを受信することであって、ブロック圧縮設定値は、複数の目標ブロックの圧縮のためにユーザによって設定されたものであることと、第3の圧縮パラメータセットに基づき、複数の目標ブロックを圧縮することと、が含まれてもよい。
【0085】
訓練モデルに含まれるブロックの情報には、ブロックの特定情報、ブロックに対応する遅延情報、又はブロックに含まれるチャンネルの量のうちの少なくとも1つが含まれてもよい。
【0086】
訓練済モデルを圧縮することには、目標デバイスから複数の遅延時間データを受信することがさらに含まれてもよく、複数の遅延時間データのうちの各遅延時間データは、複数のブロックのうちの各ブロックに関連付けられてもよく、複数の遅延時間データのうちの各遅延時間データは、目標デバイスによって複数のブロックの関連ブロックに実行されることで導出されてもよい。
【0087】
圧縮設定情報には、圧縮方法、圧縮設定値、又は訓練済モデルに含まれる複数のチャンネルのうちから圧縮目標を判定するための参照情報のうちの少なくとも1つが含まれてもよい。
【0088】
当該方法にはさらに、プロセッサにおいて、圧縮された訓練済モデルを再訓練するためのユーザ指令を受信することと、圧縮された訓練済モデルに基づき、再訓練済モデルを生成することと、再訓練済モデルに対応するダウンロードデータを提供することと、が含まれてもよい。
【0089】
当該方法にはさらに、プロセッサにおいて、目標デバイスについての情報に基づき、圧縮された訓練済モデルに少なくとも1つの量子化又は較正動作を実施することが含まれてもよい。
【0090】
本開示は、ニューラルネットワークモデルを提供するための電子機器であって、データネットワークを介してデータを送受信するように構成され、少なくとも1つの通信回路を含む通信インタフェースと、少なくとも1つの動作指示を記憶するように構成されたメモリと、プロセッサと、を備え、少なくとも1つの動作指示を実行することで、プロセッサに、ユーザによって入力された目標デバイスについての情報を使用してデバイスファームにおいて特定された前記目標デバイスと及びデータセットに基づいて訓練された訓練済モデルを受信することと、圧縮設定情報及びデバイスファームから受信した遅延時間情報に基づき、訓練済モデルを圧縮することと、圧縮された訓練済モデルに対応するダウンロードデータを提供することで、圧縮された訓練済モデルが目標デバイス上で展開されるようにすることと、を行わせる電子機器を提供し得る。
【0091】
圧縮設定情報には、訓練済モデルがユーザによって設定されたモデル圧縮設定値に基づいて圧縮されることを示す圧縮モードが含まれてもよい。第1の圧縮モードが設定されるとき、プロセッサは、訓練済モデルに含まれる複数のブロックのうちから複数の圧縮可能目標ブロックを特定し、モデル圧縮設定値及び所与のアルゴリズムの双方に基づいて複数の目標ブロックのうちの各々に適用されるブロック圧縮のためのブロック圧縮設定値を含む第1の圧縮パラメータを導出し、第1の圧縮パラメータセットに基づき、複数の圧縮可能目標ブロックを圧縮してもよい。
【0092】
プロセッサは、ユーザに第1の圧縮パラメータセットを提供してもよい。ブロック圧縮設定値のうちの少なくとも1つがユーザによって修正されるとき、プロセッサは、ブロック圧縮設定値のうちの修正された少なくとも1つを含む第2の圧縮パラメータセットに基づき、複数の目標ブロックを圧縮してもよい。
【0093】
圧縮設定情報には、訓練済モデルに含まれるブロックの情報が提供されることを示す第2の圧縮モードが含まれる。訓練済モデルは、ユーザによって設定されたブロック圧縮設定値に基づいて圧縮され得る。第2の圧縮モードが設定されるとき、プロセッサは、訓練済モデルに含まれる複数のブロックのうちから複数の圧縮可能目標ブロックを特定し、複数の目標ブロックの情報をユーザに提供し、複数の目標ブロックの各々に適用される、複数の目標ブロックの圧縮のためにユーザによって設定されたブロック圧縮構成値を含む第3の圧縮パラメータセットを受信し、第3の圧縮パラメータに基づき、複数の目標ブロックを圧縮してもよい。
【0094】
訓練モジュールに含まれるブロックの情報には、ブロックの識別情報、ブロックに対応する遅延時間、又はブロックに含まれるチャンネルの量のうちの少なくとも1つが含まれてもよい。
【0095】
プロセッサは、目標デバイスから複数の遅延時間データを受信してもよい。複数の遅延時間データのうちの各遅延時間データは、複数のブロックのうちの各ブロックに関連付けられてもよい。各遅延時間データは、目標デバイスによって複数のブロックのうちの関連ブロックを実行することによって導出されてもよい。
【0096】
圧縮設定情報には、圧縮方法、圧縮設定値、又は訓練済モデルに含まれる複数のチャンネルのうちから圧縮目標を判定するための参照情報のうちの少なくとも1つが含まれてもよい。
【0097】
プロセッサは、圧縮された訓練済モデルを再訓練するためのユーザ指令を受信し、圧縮された訓練済モデルに基づいて再訓練モデルを生成し、再訓練モデルに対応するダウンロードデータを提供してもよい。
【0098】
プロセッサは、目標デバイスについての情報に基づき、圧縮された訓練済モデルを量子化又は較正してもよい。
【0099】
プロセッサは、遅延時間情報に基づき、訓練済モデルの圧縮設定値を判定してもよい。
【0100】
図1は、本開示の一実施形態に係る電子機器の動作を説明するための図である。
【0101】
図1を参照すると、電子機器100は、データセット11に基づくプロジェクト14、目標デバイスの情報12、及び訓練モード13を規定し得る。プロジェクト14とは、目標デバイスに合わせて最適化されたニューラルネットワークモデル15を取得するための事業ユニットを意味し得る。電子機器100は、プロジェクト14を実施することにより、最適化されたニューラルネットワークモデル15を取得してもよい。電子機器100は、ユーザに、最適化されたニューラルネットワークモデル15を提供してもよい。
【0102】
データセット11には、ニューラルネットワークモデル15を訓練するのに使用される種々の種別のデータが含まれてもよい。例えば、データセット11には、ニューラルネットワークモデル15を訓練するために使用される訓練データ、ニューラルネットワークモデル15の訓練が進行中であるとき、ニューラルネットワークモデル15の性能を評価するために使用される評価データ、及びニューラルネットワークモデル15の訓練の完了後、ニューラルネットワークモデル15の性能を評価するために使用される試験データが含まれてもよい。
【0103】
目標デバイスの情報12には、種々の目標デバイスの関連情報が含まれてもよい。目標デバイスの情報12には、目標デバイスのモデル情報及び目標デバイスのソフトウェアが含まれてもよい。
【0104】
訓練モード13には、第1の訓練モード、第2の訓練モード、及び第3の訓練モードが含まれてもよい。第1の訓練モードは、複数の事前記憶されたベースモデルからユーザによってユーザによって選択されたモデルを訓練するためのモードである。第2の訓練モードは、所与のアルゴリズムに基づいて導出されたモデルを訓練するためのモードである。第3の訓練モードは、第1の訓練モード又は第2の訓練モードにおいて訓練済のモデルを再訓練するためのモードである。例えば、第1の訓練モードは、いわゆる「簡易モード」であり、ユーザが最短時間内に訓練済モデルを得ることのできるモードであり得る。第2の訓練モードは、いわゆる「エキスパートモード」であり、第1の訓練モードよりも時間がかかるものの、より良好な(又はユーザによって設定された目標性能により近い)性能を備えた訓練済モデルを得ることのできるモードであり得る。さらに、第2の訓練モードにおいては、第1の訓練モードに比してより多くのモデルが提供され得る。例えば、第1の訓練モードでは、プロジェクトを一度実施することによって1つのモデルが得られる一方、第2の訓練モードでは、プロジェクトを一度実施することによって2つ以上の複数のモデルが導出され得る。
【0105】
電子機器100は、データセット11、目標デバイスの情報12、訓練モード13、及びニューラルネットワークモデル15の情報に基づき、プロジェクト14を規定してもよい。ニューラルネットワークモデル15の情報には、ニューラルネットワークモデル15のフレームワーク、出力データ種別(例えば、32ビット浮遊点)、干渉バッチサイズが含まれてもよい。
【0106】
図2は、本開示の本実施形態に係る電子機器の構成を示すブロック図である。
【0107】
図2を参照すると、電子機器100は、通信インタフェース110、メモリ120、及びプロセッサ130を備えてもよい。例えば、電子機器100は、物理サーバ又はクラウドサーバとして実装されてもよい。
【0108】
通信インタフェース110は、少なくとも1つの通信回路を備え、種々の種別の外部デバイスと通信してもよい。例えば、通信インタフェース110は、データセット及び目標デバイスの情報を外部デバイスから受信してもよい。外部デバイスは、ユーザデバイスであってもよい。ユーザデバイスには、パーソナルコンピュータ及びモバイルデバイスが含まれてもよい。通信インタフェース110は、目標デバイスの情報に基づいて検索した複数のベースモデルの情報を外部デバイスに送信してもよい。これに応じて、外部デバイスは、複数のベースモデルの情報を出力してもよい。通信インタフェース110は、複数のベースモデルのうちの少なくとも1つを選択するためのユーザ指令を外部デバイスから受信してもよい。
【0109】
通信インタフェース110は、少なくとも1つの選択されたベースモデル及びデータセットを外部サーバに送信してもよい。外部サーバは、データセットを使用して選択された少なくとも1つのベースモデルを訓練した後、訓練済ニューラルネットワークモデル(又は訓練済モデル)を取得してもよい。通信インタフェース110は、訓練済モデルを外部サーバから受信してもよい。
【0110】
通信インタフェース110は、訓練済モデルを外部デバイスに送信してもよい。通信インタフェース110は、訓練済モデルの情報を外部デバイスに送信してもよい。訓練済モデルの情報には、訓練済モデルの名称、訓練済モデルによって実施されたタスク、訓練済モデルに対応する目標デバイスの情報、訓練済モデルの性能(例えば、正確さ及び遅延時間)が含まれてもよい。一方、本開示において、ニューラルネットワークモデルの取得/記憶/送信/受信は、モデルに関連するデータ(例えば、アーキテクチャ、重量)の取得/記憶/送信/受信を意味する。
【0111】
通信インタフェース110には、Wi-fi(登録商標)通信モジュール、セルラー通信モジュール、第3世代(3G)モバイル通信モジュール、第4世代(4G)モバイル通信モジュール、第4世代ロングタームエボリューション(LTE)通信モジュール、第5世代(5G)モバイル通信、又は有線イーサネット(登録商標)のうちの少なくとも1つが含まれてもよい。
【0112】
メモリ120は、電子機器100の構成要素の全体的な動作を制御するためのオペレーティングシステム(OS)、及び電子機器100の構成要素に関連の指令又はデータを記憶してもよい。メモリ120は、非揮発性メモリ(例えば、ハードディスク、ソリッドステートドライブ(SSD)、及びフラッシュメモリ)、揮発性メモリ等として実装されてもよい。
【0113】
メモリ120には、データベース(DB)が含まれてもよい。例えば、メモリ120には、データセットを記憶するためのデータセットDBが含まれてもよい。メモリ120には、プロジェクトを記憶するためのプロジェクトDBが含まれてもよい。メモリ120には、訓練済モデルを記憶するためのモデルDBが含まれてもよい。DBに記憶された情報は、ユーザに提供されてもよい。例えば、データセット一覧、プロジェクト一覧、及び/又はモデル一覧が外部デバイス上に表示されてもよい。
【0114】
メモリ120は、複数のニューラルネットワークモデルの情報を記憶してもよい。例えば、メモリ120は、複数のニューラルネットワークモデルの識別情報、目標デバイスの情報、及び複数のニューラルネットワークモデルの性能情報が照合されるルックアップテーブルを記憶してもよい。複数のニューラルネットワークモデルの性能情報は、ニューラルネットワークモデルがターゲットモデルデバイスにおいて実行されるとき、複数のニューラルネットワークモデルの各々の性能(例えば、遅延時間)を反映させてもよい。目標デバイスに対するニューラルネットワークモデルの性能は、ニューラルネットワークモデルが目標デバイスにおいて実行されるときのニューラルネットワークモデルの性能であってもよい。ニューラルネットワークモデルの遅延時間は、デバイスファームから取得されてもよい。ニューラルネットワークモデルの正確さは、試験データを使用して導出されてもよい。
【0115】
メモリ120は、ベースモデルの検索のための所与のアルゴリズムを記憶してもよい。所与のアルゴリズムには、ハイパーパラメータ最適化(HPO)アルゴリズム又はニューラルアーキテクチャ検索(NAS)アルゴリズムのうちの少なくとも一方が含まれてもよい。ハイパーパラメータ最適化アルゴリズムには、ツリー構造パーゼン推定器(TPE)アルゴリズムが含まれてもよい。TPEアルゴリズムは、ベイズ最適化に基づいてもよい。ニューラルネットワークアーキテクチャ検索アルゴリズムは、進化的アルゴリズムに基づいてもよい。
【0116】
プロセッサ130は、メモリ120に対して電気的に接続され、電子機器100の全体的な動作及び機能を制御してもよい。プロセッサ130は、メモリ120に記憶された指示を実行することにより、電子機器100を制御してもよい。
【0117】
プロセッサ130は、データセット、目標デバイスの情報、及び訓練モードを取得してもよい。プロセッサ130は、通信インタフェース110を通じて外部デバイスから、データセット、目標デバイスの情報、及び訓練モードを受信してもよい。データセット、目標デバイスの情報、及び訓練モードは、ユーザによって外部デバイスに入力されてもよい。
【0118】
プロセッサ130は、データセットのフォーマットが事前設定されたフォーマットであるか否かを特定してもよい。データセットのフォーマットが事前設定されたフォーマットでないとき、プロセッサ130は、データセットのフォーマットを事前設定されたフォーマットに変換してもよい。プロセッサ130は、フォーマットが変換されたデータセットをメモリ120に記憶してもよい。事前設定されたフォーマットには、You only look once(YOLO)のフォーマットが含まれてもよい。
【0119】
プロセッサ130は、データセット、目標デバイスの情報、及び訓練モードに基づいてプロジェクトを設定してもよい。プロジェクトとは、目標デバイスに合わせて最適化された訓練済ニューラルネットワークモデルを導出するためのタスク単位を意味してもよい。例えば、プロセッサ130は、第1のデータセット、第1の目標デバイスの情報、及び第1の訓練モードに基づき、第1のプロジェクトを設定してもよい。プロセッサ130は、第2のデータセット、第2の目標デバイスの情報、及び第2の訓練モードに基づき、第2のプロジェクトを設定してもよい。プロセッサ130は、第3のデータセット、第3の目標デバイスの情報、及び第3の訓練モードに基づき、第3のプロジェクトを設定してもよい。
【0120】
プロセッサ130は、プロジェクトを実施することにより、ニューラルネットワークモデルを取得してもよい。例えば、プロセッサ130は、第1のプロジェクトを実施してもよい。この場合、プロセッサ130は、目標デバイスの情報及びユーザによって設定された目標性能に基づき、複数のベースモデルを特定してもよい。例えば、プロセッサ130は、メモリ120に記憶されたルックアップテーブルに基づき、複数のベースモデルを特定してもよい。ルックアップテーブルにおいては、複数のニューラルネットワークモデルの識別情報、目標デバイスの情報、及び複数のニューラルネットワークモデルの性能情報が照合されてもよい。複数のニューラルネットワークモデルの性能情報は、ニューラルネットワークモデルが目標デバイスにおいて実行されるときの複数のニューラルネットワークモデルの各々の性能(例えば、遅延時間)を反映させてもよい。プロセッサ130は、デバイスファームから複数のニューラルネットワークモデルの各々の性能を取得してもよい。或いは、プロセッサ130は、デバイスファームを使用して複数のニューラルネットワークモデルのうちの一部の性能を取得してもよく、遅延時間を予測するために、訓練済ニューラルネットワークモデルを使用して残りのニューラルネットワークモデルの一部の性能を取得してもよい。
【0121】
第1のプロジェクトを実施するとき、プロセッサ130は、ベースモデルとして、ルックアップテーブルに基づき、目標デバイスに対応し、目標性能からの性能の差が事前設定された範囲内であるニューラルネットワークモデルを特定してもよい。例えば、プロセッサ130は、目標遅延時間からの遅延時間の差が0.1秒以内である複数のベースモデルを特定してもよい。
【0122】
プロセッサ130は、通信インタフェース110を制御して、複数のベースモデルの情報を外部デバイスに送信してもよい。外部デバイスは、複数のベースモデルの情報をユーザに提供してもよい。例えば、複数のベースモデルの情報には、複数のベースモデルの各々の識別情報(例えば、モデル名)、遅延時間、及び入力データサイズが含まれてもよい。外部デバイスは、複数のベースモデルから第1のベースモデルを選択するためのユーザ指令を取得してもよい。プロセッサ130は、通信インタフェース110を通じて外部デバイスからユーザ指令を受信してもよい。本明細書に記載の種々の実施形態において、ユーザにデータを提供することは、演算デバイスのユーザインタフェース上、及び/又はコンピュータ可読データ構造内での表示を介したものとすることができる。
【0123】
プロセッサ130は、通信インタフェース110を制御して、第1のベースモデルと第1のデータセットを外部サーバに送信してもよい。さらに、プロセッサ130は、通信インタフェース110を制御して、第1のベースモデルの学習設定情報を外部サーバに送信してもよい。学習設定情報には、入力データのサイズ(例えば、入力データの解像度)、訓練エポック、及び訓練済モデルのデータ拡張が含まれてもよい。外部サーバは、学習設定情報に基づき、第1のデータセットを使用して第1のベースモデルを訓練することにより、第1の訓練済モデルを取得してもよい。プロセッサ130は、外部サーバから第1の訓練済モデルを受信してもよい。
【0124】
プロセッサ130は、第2のプロジェクトを実施してもよい。この場合、プロセッサ130は、所与のアルゴリズムに基づき、複数のベースモデルを取得してもよい。プロセッサ130は、通信インタフェース110を制御して、複数のベースモデルの情報を外部デバイスに送信してもよい。外部デバイスは、複数のベースモデルの情報をユーザに提供してもよい。外部デバイスは、複数のベースモデルから第2のベースモデルを選択するためのユーザ指令を取得してもよい。或いは、プロセッサ130は、ユーザによって設定された目標性能に基づき、複数のベースモデルから複数の第2のベースモデルを選択してもよい。例えば、プロセッサ130は、ユーザによって設定された目標正確さ範囲及び目標遅延時間範囲内の性能を有する複数の第2のベースモデルを選択してもよい。
【0125】
プロセッサ130は、通信インタフェース110を制御して、複数の第2のベースモデル、第2のデータセット、及び学習設定情報を外部サーバに送信してもよい。外部サーバは、学習設定情報に基づき、第2のデータセットを使用して複数の第2のベースモデルの各々を訓練することにより、複数の第2の訓練済モデルを取得してもよい。プロセッサ130は、外部サーバから複数の第2の訓練済モデルを受信してもよい。
【0126】
プロセッサ130は、第3のプロジェクトを実施してもよい。プロセッサ130は、第1のプロジェクト又は第2のプロジェクトを実施した後、第3のプロジェクトを実施してもよい。例えば、プロセッサ130は、第1のプロジェクトを実施した後、第3のプロジェクトを実施してもよい。プロセッサ130は、通信インタフェース110を制御して、第3のデータセット、及び第1の訓練済モデルを再訓練するための再訓練設定情報を、外部サーバに送信してもよい。外部サーバは、再訓練設定情報に基づき、第3のデータセットを使用して、第1のベースモデルを訓練することにより、第3の訓練済モデルを取得してもよい。プロセッサ130は、外部サーバから第3の訓練済モデルを受信してもよい。
【0127】
一方、本開示に係る人工知能(AI)に関連した機能は、プロセッサ130及びメモリ120を通じて動作される。プロセッサ130は、1つ又は複数のプロセッサを含んでもよい。この場合、1つ又は複数のプロセッサは、中央処理装置(CPU)、アプリケーションプロセッサ(AP)、及びデジタル信号プロセッサ(DSP)、グラフィックス処理装置(GPU)等のグラフィックス専用プロセッサ、ビジョン処理装置(VPU)、又はニューラル処理装置(NPU)等の人工知能専用プロセッサ等の汎用プロセッサであってもよい。1つのプロセッサ又は複数のプロセッサは、メモリ120に記憶された所与の動作又はAIモデルに従って入力データを処理するように制御を行う。或いは、1つ又は複数のプロセッサは、人工知能専用プロセッサであり、人工知能専用プロセッサは、特定のAIモデルの処理に特化されたハードウェア構造を備えるように設計されてもよい。
【0128】
所与の動作ルール又はAIモデルは、訓練を通じて作成されることを特徴とする。ここで、AIが所与の動作ルール又は訓練を通じて作成されるとは、所与の動作ルール又はAIモデルが、ベーシックAIモデルに学習アルゴリズムで訓練データ片を使用及び学習させることにより、所望の特性(又は目的)を実施されることを意味する。このような訓練は、本開示に係るAIが実施されるデバイス自体でなされてもよく、又は別のサーバ及び/又はシステムを通じてなされてもよい。学習アルゴリズムの例として、教師有り学習、教師無し学習、半教師有り学習、又は矯正学習が挙げられるが、以上の例に限定されるものでない。
【0129】
AIモデルは、訓練を通じて生成されてもよい。AIモデルには、複数のニューラルネットワーク層が含まれてもよい。複数のニューラルネットワーク層の各々は、複数の重量値を有し、以前の層の計算結果と複数の重量値との間の動作を通じてニューラルネットワーク動作を実施する。複数のニューラルネットワーク層の複数の重量値は、AIモデルの訓練結果によって最適化されてもよい。例えば、複数の重量値は、学習プロセス中、AIモデルにおいて取得された損失値又はコスト値を低減又は最少化するように更新されてもよい。
【0130】
AIネットワークには、ディープニューラルネットワーク(DNN)が含まれてもよく、人工ニューラルネットワークの例として、畳み込みニューラルネットワーク(CNN)、DNN、リカレントニューラルネットワーク(RNN)、制限ボルツマンマシン(RBM)、ディープブリーフネットワーク(DBN)、双方向リカレントディープニューラルネットワーク(BRDNN)、ディープQ-ネットワーク等が挙げられるが、以上の例に限定されるものでない。
【0131】
図3は、本開示の一実施形態に係る第1のプロジェクトを実施する方法を説明するための図である。
【0132】
図3を参照すると、電子機器100は、データセット31、目標デバイスの情報32、及びユーザによって設定された目標遅延時間33を取得してもよい。例えば、目標デバイスの情報32は、第1のデバイスT1を示してもよい。目標遅延時間33は、500msであってもよい。
【0133】
電子機器100は、目標デバイスの情報32及び目標遅延時間33をルックアップテーブル34と比較してもよい。ルックアップテーブル34には、モデル名称、目標デバイスの名称、モデルに入力された画像の解像度、及びモデルが目標デバイス上で実行されるときの遅延時間が含まれてもよい。電子機器100は、ルックアップテーブル34を参照して、目標デバイスの情報32に対応し、目標遅延時間33との差が事前設定された範囲(例えば、100ms)内であるモデルを特定する。例えば、電子機器100は、第1のデバイスT1に対応する第1のモードM1及び第2のモードM2を特定してもよい。
【0134】
電子機器100は、第1のモデルM1及び第2のモデルM2の情報を含むベースモデル一覧35をユーザに提供してもよい。例えば、ベースモデル一覧35は、ユーザデバイス上に表示されてもよい。ユーザは、ベースモデル一覧35に含まれる複数のベースモデルから第1のベースモデル36を選択してもよい。電子機器100は、データセット31及び第1のベースモデル36に基づき、第1の訓練済モデル37を取得してもよい。
【0135】
一方、
図3は、3つの情報(すなわち、モデル名称、目標デバイスの名称、及びモデルに入力された画像の解像度)の各組み合わせに対する遅延時間がルックアップテーブル34に記録されていることを示している。しかしながら、これは、単なる例であり、追加情報の組み合わせに対する遅延時間がルックアップテーブル34に記録されてもよい。例えば、遅延時間は、これら3つの情報に加えて、バッチサイズ、フレームワーク、及びモデルのデータ種別の各組み合わせに対して記録されてもよい。
【0136】
図3において、目標遅延時間33に基づいてベースモデル一覧35を取得する方法を説明した。しかしながら、本開示は、これに限定されるものでなく、電子機器100は、種々の種別の性能インジケータに基づき、ベースモデル一覧35を取得してもよい。例えば、電子機器100は、正確さ、電力消費、及び/又はメモリ使用に基づき、ベースモデル一覧35を取得してもよい。
【0137】
図4は、本開示の一実施形態に係る第2のプロジェクトを実施する方法を説明するための図である。
【0138】
図4を参照すると、電子機器100は、データセット41、目標デバイスの情報42、及び所与のアルゴリズム43を取得してもよい。電子機器100は、目標デバイスの情報42及び所与のアルゴリズム43に基づき、複数のベースモデルの情報を含むベースモデル一覧44を取得してもよい。所与のアルゴリズム43には、ハイパーパラメータ最適化アルゴリズム及びニューラルネットワークアーキテクチャ検索アルゴリズムが含まれてもよい。
【0139】
電子機器100は、ベースモデル一覧44をユーザに提供してもよい。例えば、ベースモデル一覧44は、ユーザデバイス上に表示されてもよい。ユーザは、ベースモデル一覧44から複数の第2のベースモデル45を選択してもよい。電子機器100は、データセット41及び複数の第2のベースモデル45に基づき、複数の第2の訓練済モデル46を取得してもよい。
【0140】
一方、電子機器100は、複数の第2のベースモデル45を選択するためのユーザ入力を伴うことなく、複数の第2の訓練済モデル46を取得してもよい。例えば、電子機器100は、所定数のベースモデルを取得し、取得されたベースモデルに対応する訓練済モデルを取得してもよい。或いは、電子機器100は、複数のベースモデル一覧44から、性能が所定の性能範囲内にある複数の第2のベースモデル45を特定してもよい。例えば、電子機器100は、複数のベースモデル一覧44から、所定の正確さ範囲及び所定の遅延時間範囲内にある複数の第2のベースモデル45を特定してもよい。ここで、所定の数及び所定の性能範囲は、ユーザによって設定されてもよい。例えば、ユーザは、目標性能として、所定の性能範囲をユーザデバイスに入力してもよい。
【0141】
図5は、本開示の一実施形態に係る第3のプロジェクトを実施する方法を説明するための図である。
【0142】
図5を参照すると、電子機器100は、データセット51を取得してもよい。データセット51は、第1のプロジェクトにおいて使用されたデータセット31又は第2のプロジェクトにおいて使用されたデータセット41であってもよい。或いは、データセット51は、第1のプロジェクト又は第2のプロジェクトにおいて使用されていない新たなデータセットであってもよい。データセット51は、データセットDBに記憶されてもよい。データセットDBは、電子機器100のメモリ120内に含まれてもよい。
【0143】
電子機器100は、ベースモデル一覧52を取得してもよい。ベースモデル一覧52には、以前のプロジェクトで取得されたニューラルネットワークモデルが含まれてもよい。すなわち、第3のプロジェクトにおけるベースモデルは、以前のプロジェクトで取得された訓練済モデルのうちの1つであってもよい。例えば、ベースモデル一覧52には、第1のプロジェクトにおいて取得された第1の訓練済モデル37と、第2のプロジェクトにおいて取得された複数の第2の訓練済モデル46とが含まれてもよい。電子機器100は、ベースモデル一覧52を取得してもよい。ユーザは、ベースモデル一覧52から第3のベースモデル53を選択されてもよい。電子機器100は、データセット51及び第3のベースモデル53に基づき、第3の訓練済モデル54を取得してもよい。
【0144】
一方、電子機器100は、ユーザの選択を伴うことなく、データセットDBからデータセット51を取得してもよい。この場合、電子機器100は、取得されたデータセット51がユーザに推奨されるように、指令を外部デバイスに送信してもよい。これに応じて、外部デバイスは、電子機器100によって取得されたデータセット51をユーザに推奨してもよい。或いは、電子機器100は、データセット51に基づき、第3の訓練済モデル54を取得してもよい。
【0145】
電子機器100は、圧縮モデルに基づき、第3の訓練済モデル54を取得してもよい。ここで、圧縮モデルとは、圧縮部2220に第1のプロジェクト、第2のプロジェクト、又は第3のプロジェクトを通じて取得された訓練済モデルを圧縮させることによって生成された軽量モデルを意味し得る。圧縮部2220の動作は、
図22を参照Sにて後述する。
【0146】
電子機器100は、第3のベースモデル53が圧縮モデルであるか否かに基づき、データセットDBからデータセット51を取得してもよい。第3のベースモデル53が圧縮モデルであるとき、電子機器100は、データセット51として、第3のベースモデル53の訓練に使用されたデータセットを取得してもよい。例えば、第3のベースモデル53が第1の訓練済モデル37であるとき、電子機器100は、データセット31を取得してもよい。第3のベースモデル53が圧縮モデルであるとき、モデルの正確さは、圧縮の進行中に減少し得る。電子機器100は、第3のプロジェクトを実施することにより、第3のベースモデル53と比較して正確さが向上した第3の訓練済モデル54を取得してもよい。
【0147】
第3のベースモデル53が圧縮モデルでないとき、電子機器100は、データセット51として、第3のベースモデル53の訓練に使用されていないデータセットを取得してもよい。例えば、第3のベースモデル53が第1の訓練済モデル37であるとき、電子機器100は、データセット31以外のデータセットを取得してもよい。したがって、第3の訓練済モデル54は、データセット31のみならず、新たなデータセットも正確に推測し得る。
【0148】
図6~
図9は、ユーザに提供される種々の画面である。各画面は、ユーザデバイス上に表示されてもよい。
【0149】
図6は、本開示の一実施形態に係るデータセット入力画面である。
【0150】
図6を参照すると、データセット入力画面60は、ユーザから入力されたデータセットを受信するための画面である。データセット入力画面60は、データセットの名称及びユーザメモを受信するための第1の領域61を含んでもよい。データセット入力画面60は、データセットを通じて訓練済モデルによって実施されるタスクを受信するための第2の領域62を含んでもよい。タスクには、画像分類、対象検出、及び意味的分割が含まれてもよい。第2の領域62は、データセットのフォーマットを受信してもよい。データセットのフォーマットは、You only look once(YOLO)、visual object classes(VOC)、及びcommon objects in context(COCO)のフォーマットが含まれてもよい。ユーザにタスク又はデータセットのフォーマットを入力させるためのユーザインタフェース(UI)要素は、第2の領域62内に表示されてもよい。
【0151】
データセット入力画面60には、データセットのアップロード経路及びデータセットのファイルを受信するための第3の領域63が含まれてもよい。データセットのアップロード経路には、ローカルストレージ及びクラウドストレージが含まれてもよい。ユーザにデータセットのアップロード経路を選択させるためのUI要素64は、第3の領域63内に表示されてもよい。ユーザにデータセットのファイルを選択させるためのUI要素65は、第3の領域63内に表示されてもよい。ローカルストレージがUI要素64において選択されるとき、UI要素65は、ファイルを受信してもよい。クラウドストレージがUI要素64において選択されるとき、UI要素65は、リンクを受信してもよい。
【0152】
図7は、本開示の一実施形態に係るデータセット確認画面を示す図である。
【0153】
図7を参照すると、データセット確認画面70は、ユーザによって入力されたデータセットの詳細情報を表示する画面である。データセット入力画面60上にユーザによって入力された情報は、データセット確認画面70上に表示されてもよい。例えば、データセット71の名称、ユーザメモ72、データセットを通じて訓練されるモデルによって実施されるタスク73、データセットのフォーマット74、データセットの総数75、及び各種別のデータセットの数76がデータセット確認画面70上に表示されてもよい。
【0154】
データセットを修正するためのボタン77、データセットを表すテーブル78、データセットを使用してプロジェクトを生成するためのボタン79が、データセット確認画面70上に表示されてもよい。ユーザがボタン79を押下すると、ユーザデバイスは、電子機器100にプロジェクト生成指令を送信してもよい。プロジェクト生成指令が受信されると、電子機器100は、データセットに基づき、プロジェクトを設定してもよい。
【0155】
図示はしないが、データセットに関連のプロジェクトの情報が、データセット確認画面70上に表示されてもよい。例えば、データセットに関連のプロジェクトには、データセットを使用して取得されたプロジェクトが含まれてもよい。プロジェクトの情報には、プロジェクトを通じて取得された訓練済モデルのタスク、プロジェクトにおいて使用されたデータセットの情報、プロジェクトに対応する目標デバイスの情報、及びプロジェクトの目的が含まれてもよい。
【0156】
ユーザによって設定されたデータの入力が完了すると、データセットは、電子機器100にアップロードされてもよい。ユーザデバイスは、入力されたデータセットとデータセットに関連する情報(例えば、データセットの名称等)を電子機器100に送信してもよい。電子機器100は、メモリ120に含まれるデータセットDBに、データセット及びデータセットに関連する情報を記憶してもよい。
【0157】
図8は、本開示の一実施形態に係るデータセット一覧画面である。
【0158】
図8を参照すると、データセット一覧画面80は、データセット一覧を表示するための画面である。ユーザは、データセット一覧画面80上でアップロードされたデータセットを確認し、データセットに基づき、プロジェクトを生成し、データセットを削除してもよい。データセット一覧は、メモリ120に含まれるデータセットDBに記憶されてもよい。
【0159】
データセットDBに記憶された複数のデータセット及び複数のデータセットの各々に関連の情報が、データセット一覧画面80上に表示されてもよい。例えば、第1のデータセットに関連の情報81が、データセット一覧画面80上に表示されてもよい。第1のデータセットを使用して訓練されるモデルのタスク82と、第1のデータセットに関連の情報81に含まれる第1のデータセットのアップロード状態83とが、表示されてもよい。アップロード状態83に含まれるアップロード完了状態、アップロード中状態、及びエラー発生状態が表示されてもよい。
【0160】
第1のデータセットの名称84及びデータセットの数85が、データセット一覧画面80上に表示されてもよい。第1のデータセットの詳細情報を表示するためのボタン86が、データセット一覧画面80上に表示されてもよい。例えば、ボタン86が入力されると、第1のデータセットに対応するデータセット確認画面70が、データセット一覧画面80上に表示されてもよい。データセットを使用してプロジェクトを設定するためのボタン87が、データセット一覧画面80上に表示されてもよい。アップロードされたデータセットを削除するためのボタン88が、データセット一覧画面80上に表示されてもよい。
【0161】
図9は、本開示の一実施形態に係る目標デバイス入力画面である。
【0162】
図9を参照すると、目標デバイス入力画面90は、ユーザから目標デバイスに関連する情報を受信するための画面である。目標デバイス入力画面90には、目標デバイスの名称及びバージョンを受信するための第1の領域91が含まれてもよい。ユーザに目標デバイスの名称及びバージョンを選択させるためのUI要素が、第1の領域91内に表示されてもよい。
【0163】
目標デバイス入力画面90には、目標デバイスに対応するニューラルネットワークモデルを取得するための出力フォーマットを受信するための第2の領域92が含まれてもよい。出力フォーマットには、フレームワーク及びソフトウェアバージョンが含まれてもよい。ユーザにフレームワーク及びソフトウェアバージョンの各々を選択させるUI要素が、第2の領域92内に表示されてもよい。
【0164】
目標デバイス入力画面90には、目標デバイスに対応するニューラルネットワークモデルを取得するための出力データの種別を受信するための第3の領域93が含まれてもよい。ユーザに出力データの種別を選択させるためのUI要素が、第3の領域93内に表示されてもよい。第2の領域92及び/又は第3の領域93に表示されるUI要素の一部は、第1の領域91において選択された項目に応じて、無効化されてもよい。目標デバイス入力画面90には、目標デバイスに対応するニューラルネットワークモデルを取得するための干渉バッチのサイズを受信するための第4の領域94が含まれてもよい。
【0165】
図示はしないが、訓練モード13を受信するための訓練モード選択画面が、ユーザデバイス上に表示されてもよい。訓練モード選択画面には、各々、複数の訓練モードの各々に関連付けられたUI要素(例えば、ボタン)が含まれてもよい。ユーザが訓練モードを選択すると、ユーザデバイスは、選択された訓練モードに関連の指令を電子機器100に送信してもよい。電子機器100は、選択された訓練モードに基づき、プロジェクトを設定してもよい。
【0166】
さらに、ユーザから学習リソースの選択を受信するための学習リソース選択画面が、ユーザデバイス上に表示されてもよい。学習リソースは、ベースモデルを訓練することにより、訓練済モデルを生成してもよい。例えば、学習リソースには、外部サーバが含まれてもよい。少なくとも1つの学習リソースに対応するUI要素が、学習リソース選択画面上に表示されてもよい。ユーザがUI要素を選択すると、ユーザデバイスは、選択されたUI要素に対応する学習リソースに関連の指令を送信してもよい。電子機器100は、学習リソースとしてベースモデルを送信してもよい。電子機器100は、学習リソースから学習リソースによって生成された訓練済モデルを受信してもよい。
【0167】
図10は、本開示の一実施形態に係るプロジェクト情報画面である。
【0168】
図10を参照すると、プロジェクト情報画面101は、ユーザによって入力された情報に基づいて設定されたプロジェクトの情報を表示してもよい。例えば、ユーザによって選択された訓練モード102及びユーザによって入力されたデータセットの情報103が、プロジェクト情報画面101上に表示されてもよい。データセットの情報103には、プロジェクトを通じて取得される訓練済モデルによって実施されるタスク、及びデータセットの識別情報が含まれてもよい。
【0169】
図示はしないが、プロジェクト情報画面101には、学習設定情報を受信するための学習設定領域が含まれてもよい。学習設定情報には、訓練済モデルの目標性能、訓練済モデルの入力データサイズ(例えば、入力画像の解像度)、訓練エポック、及びデータ拡張が含まれてもよい。
【0170】
図11は、本開示の一実施形態に係る電子機器の制御方法を説明するための図である。
【0171】
図11を参照すると、電子機器100は、ニューラルネットワークモデルを訓練するためのデータセット、ニューラルネットワークモデルを実行するための目標デバイスの情報、及びニューラルネットワークモデルのための訓練モードを受信してもよい(S1110)。電子機器100は、ニューラルネットワークモデルを訓練するためのデータセット、ニューラルネットワークモデルを実行するための目標デバイスの情報、及びニューラルネットワークモデルのための訓練モードを、ユーザデバイスから受信してもよい。
【0172】
電子機器100は、データセット、目標デバイスの情報、及び訓練モードに基づき、プロジェクトを設定してもよい(S1120)。電子機器100は、データセット、目標デバイスの情報、及び訓練モードに基づき、プロジェクトを設定してもよい。プロジェクトは、訓練モードに応じて分類されてもよい。例えば、第1の訓練モードによって設定されるプロジェクトは、第1のプロジェクトとして分類されてもよく、第2の訓練モードによって設定されるプロジェクトは、第2のプロジェクトとして分類されてもよい、第3の訓練モードによって設定されるプロジェクトは、第3のプロジェクトとして分類されてもよい。
【0173】
電子機器100は、プロジェクトを実施することにより、少なくとも1つの訓練済ニューラルネットワークモデルを導出してもよい(S1130)。導出されたモデルは、目標デバイスに合わせて最適化されたモデルであってもよい。以降、プロジェクトを実施する方法についてさらに詳細に説明する。
【0174】
図12は、本開示の一実施形態に係る第1のプロジェクトを実施する方法を示すシークエンス図である。
【0175】
図12を参照すると、ニューラルネットワークモデルを提供するためのシステム1000は、電子機器100、外部デバイス200、及び外部サーバ300を備えてもよい。外部デバイス200は、ユーザと相互作用するユーザデバイスであってもよい。外部サーバ300は、データセットに基づき、訓練済モデルを生成する学習サーバであってもよい。
【0176】
外部デバイス200は、第1のデータセット、第1の目標デバイスの情報、及び第1の訓練モードを受信してもよい(S1210)。外部デバイス200は、第1のデータセット、第1の目標デバイスの情報、第1の訓練モードを電子機器100に送信してもよい(S1215)。本開示において、訓練モードを送信する動作は、訓練モードを示す情報を送信する動作を意味する。
【0177】
電子機器100は、第1のデータセット、第1の目標デバイスの情報、及び第1の訓練モードに基づき、第1のプロジェクトを設定してもよい(S1220)。電子機器100は、設定された第1のプロジェクトを実施してもよい(S1230)。以降、第1のプロジェクトを実施する動作(S1230)について、さらに詳細に説明する。
【0178】
電子機器100は、ユーザによって入力された第1の目標デバイスの情報と目標性能とに基づき、複数のベースモデルを導出してもよい(S1231)。例えば、電子機器100は、複数のニューラルネットワークモデル、及び複数のニューラルネットワークモデルの各々の情報を含むルックアップテーブルを記憶してもよい。電子機器100は、ルックアップテーブルを使用して、複数のニューラルネットワークモデルから、目標デバイスと対応し、目標性能との性能の差が事前設定された範囲内であるニューラルネットワークモデルをベースモデルとして特定してもよい。
【0179】
電子機器100は、外部デバイス200に複数のベースモデルの情報を送信してもよい(S1232)。この場合、電子機器100は、複数のベースモデルの情報を表示するための指令を外部デバイス200に送信してもよい。
【0180】
外部デバイス200は、複数のベースモデルの情報を出力してもよい(S1233)。例えば、外部デバイス200は、複数のベースモデルの各々の情報を表示してもよい。この目的を達成するために、外部デバイス200は、ディスプレイ及びスピーカを含む種々の出力部を備えてもよい。
【0181】
外部デバイス200は、複数のベースモデルから第1のベースモデルを選択するためのユーザ指令を受信してもよい(S1234)。外部デバイス200は、第1のベースモデルの情報を電子機器100に送信してもよい(S1235)。
【0182】
電子機器100は、第1のデータセット及び第1のベースモデルを外部サーバ300に送信してもよい(S1236)。外部サーバ300は、ユーザによって選択されてもよい。例えば、外部デバイス200は、複数の外部サーバを表示し、複数の外部サーバのうちの1つを選択するためのユーザ入力を取得してもよい。ユーザが外部サーバ300を選択する動作は、第1のプロジェクトを実施する動作(S1230)の前、又は第1のプロジェクトを実施する動作(S1230)中に、実施されてもよい。
【0183】
外部サーバ300は、第1のデータセットに基づき、第1のベースモデルを訓練することにより、第1の訓練済モデルを導出してもよい(S1237)。外部サーバ300は、第1の訓練済モデルを電子機器100に送信してもよい(S1238)。一方、他の実施形態において、第1の訓練済モデルは、電子機器100によって生成されてもよい。すなわち、電子機器100は、外部サーバ300の機能を実施してもよい。この場合、動作S1237及びS1238は、省略されてもよい。
【0184】
電子機器100は、第1の訓練済モデルの情報を外部デバイス200に送信してもよい(S1239)。外部デバイス200は、第1の訓練済モデルの情報をユーザに提供してもよい。例えば、第1の訓練済モデルの情報には、第1の訓練済モデルの性能情報、第1の訓練済モデルのダウンロードファイル、ダウンロードリンクが含まれてもよい。
【0185】
図13は、本開示の一実施形態に係る第2のプロジェクトを実施する方法を示すシーケンス図である。
【0186】
図13を参照すると、外部デバイス200は、第2のデータセット、第2の目標デバイスの情報、及び第2の訓練モードを受信してもよい(S1310)、取得された第2のデータセット、第2の目標デバイスの情報、及び第2の訓練データを電子機器100に送信してもよい(S1315)。電子機器100は、第2のデータセット、第2の目標デバイスの情報、及び第2の訓練モードに基づき、第2のプロジェクトを設定してもよい(S1320)。電子機器100は、第2のプロジェクトを実施してもよい(S1330)。以降、第2のプロジェクトを実施する動作(S1330)について、さらに詳細に説明する。
【0187】
電子機器100は、第2の目標デバイスの情報及び所定のアルゴリズムに基づき、複数のベースモデルを生成してもよい(S1331)。所与のアルゴリズムには、ハイパーパラメータ最適化アルゴリズム又はニューラルネットワークアーキテクチャ検索アルゴリズムの少なくとも一方が含まれてもよい。ハイパーパラメータ最適化アルゴリズムには、ハイパーパラメータ最適化(HPO)が含まれてもよい。HPOは、所与のハイパーパラメータ検索空間内に最適ハイパーパラメータを見つけるためのアルゴリズムであってもよい。例えば、HPOは、ニューラルネットワークモデルのいくつかの層を変更することによっていくつかのベースモデルを生成し、各ベースモデルの性能を評価しつつ、良好な性能のベースモデルを検索することができる。HPOは、ハイパーバンド及びベイズ最適化等のアルゴリズムを利用してもよい。
【0188】
電子機器100は、複数のベースモデルの情報を外部デバイス200に送信してもよい(S1332)。外部デバイス200は、複数のベースモデルの情報を出力してもよい(S1333)。外部デバイス200は、複数のベースモデルから少なくとも1つのベースモデルを選択するためのユーザ指令を受信してもよい(1334)。例えば、外部デバイス200は、複数のベースモデルを選択するためのユーザ指令を取得してもよい。外部デバイス200は、少なくとも1つのベースモデルの情報を電子機器100に送信してもよい(S1335)。電子機器200は、第2のデータセット及び少なくとも1つのベースモデルを外部サーバ300に送信してもよい(S1336)。
【0189】
外部サーバ300は、第2のデータセットに基づき、少なくとも1つのベースモデルを訓練することにより、少なくとも1つの第2の訓練済モデルを導出してもよい(S1337)。外部サーバ300は、少なくとも1つの第2の訓練済モデルを電子機器100に送信してもよい(S1338)。電子機器100は、少なくとも1つの第2の訓練済モデルの情報を外部デバイス200に送信してもよい。
【0190】
一方、他の実施形態において、電子機器100は、ベースモデルを選択するためのユーザ指令を伴うことなく、少なくとも1つの第2の訓練済モデルを取得してもよい。例えば、電子機器100は、複数のベースモデルを生成してもよく、複数のベースモデルの各々が訓練された、複数の第2の訓練済モデルを取得してもよい。すなわち、電子機器100は、第2のデータセット及び複数のベースモデルを外部サーバ300に送信してもよく、複数の第2の訓練済モデルを外部サーバ300から受信してもよい。この場合、動作S1332、S1333、S1334、及びS1335が省略されてもよい。
【0191】
図14は、本開示の実施形態に係る第3のプロジェクトを実施する方法を示すシーケンス図である。
【0192】
図14を参照すると、外部デバイス200は、第3のデータセット、第3の目標デバイスの情報、及び第3の訓練モードを受信してもよく(S1410)、取得された第3のデータセット、第3の目標デバイスの情報、及び第3の訓練モードを電子機器100に送信してもよい(S1415)。電子機器100は、第3のデータセット、第3の目標デバイスの情報、及び第3の訓練モードに基づき、第3のプロジェクトを設定してもよい(S1420)。他の実施形態において、第3の目標デバイスの情報を導出し、取得した情報を電子機器100に送信する動作は、省略されてもよい。例えば、第3の訓練モードがユーザによって選択されると、電子機器100は、プロジェクトDBから、第3のプロジェクト前に実施されるプロジェクトに対応する目標デバイスの情報を取得してもよい。例えば、電子機器100が第1のプロジェクトを実施した後に第3のプロジェクトを実施するとき、電子機器100は、第1のプロジェクトにおいて使用された第1の目標デバイスの情報を取得してもよい。
【0193】
電子機器100は、第3のデータセット、第3の目標デバイスの情報、及び第3の訓練モードに基づき、第3のプロジェクトを設定してもよい(S1420)。電子機器100は、第3のプロジェクトを実施してもよい(S1430)。以降、第3のプロジェクトを実施する動作(S1430)について、さらに詳細に説明する。
【0194】
電子機器100は、訓練済モデル一覧を取得してもよい(S1431)。例えば、電子機器100は、モデルDBから訓練済モデル一覧を取得してもよい。訓練済モデル一覧には、モデルDBに記憶された複数の訓練済モデルの情報が含まれてもよい。
【0195】
電子機器100は、外部デバイス200に訓練済モデル一覧を送信してもよい(S1432)。外部デバイス200は、訓練済モデル一覧を出力してもよい(S1433)。他の実施形態において、動作S1431及びS1432は、省略されてもよい。例えば、訓練済モデル一覧は、外部デバイス200に記憶されてもよい。
【0196】
外部デバイス200は、訓練済モデル一覧から1つの訓練済モデルを選択するためのユーザ指令を受信してもよい(S1434)。外部デバイス200は、選択された訓練済モデルの情報を電子機器100に送信してもよい(S1435)。電子機器100は、第3のデータセット及び選択された訓練済モデルを外部サーバ300に送信してもよい(S1436)。外部サーバ300は、第3のデータセットに基づき、選択された訓練済モデルを訓練することにより、第3の訓練済モデルを導出してもよい(S1437)。すなわち、第3のプロジェクトにおいて、ベースモデルは、第1のプロジェクト又は第2のプロジェクトを通じて生成された訓練済モデルであってもよい。さらに、第3のプロジェクトのベースモデルには、第1のプロジェクト又は第2のプロジェクトを通じて生成された訓練済モデルに基づく、再訓練済モデル(すなわち、他の第3のプロジェクトを通じて取得されたモデル)が含まれてもよい。
【0197】
外部サーバ300は、第3の訓練済モデルを送信してもよい(S1438)。電子機器100は、第3の訓練済モデルの情報を外部デバイス200に送信してもよい(S1439)。
【0198】
図15は、本開示の一実施形態に係るニューラルネットワークモデルを提供するためのシステムの構成を示すブロック図である。
【0199】
図15を参照すると、ニューラルネットワークモデルを提供するためのシステム1000は、電子機器100、外部デバイス200、及び外部サーバ300を備えてもよい。電子機器100は、通信及び/又はデータネットワークを介して外部デバイス200を通じて取得されたユーザ入力に基づき、ニューラルネットワークモデルの情報を取得してもよい。電子機器100は、ネットワークを介して外部デバイス200にニューラルネットワークモデルの情報を送信してもよい。外部デバイス200は、ネットワークを介して電子機器100から受信したニューラルネットワークモデルの情報をユーザに提供してもよい。
【0200】
メモリ120は、複数のニューラルネットワークモデルの情報を記憶してもよい。複数のニューラルネットワークモデルの情報には、複数のニューラルネットワークモデルの識別情報、複数のニューラルネットワークモデルが実行される複数のデバイスの情報、複数のニューラルネットワークモデルが複数のデバイスにおいて実行されるときの複数のニューラルネットワークモデルの性能情報、及び複数のニューラルネットワークモデルの入力データサイズが含まれてもよい。各情報は、互いに照合されてもよく、ルックアップテーブルの形態で記憶されてもよい。
【0201】
プロセッサ130は、ニューラルネットワークモデルを実行する目標デバイスの情報、及びニューラルネットワークモデルが目標デバイスにおいて実行されるときのニューラルネットワークモデルの目標性能を取得してもよい。目標性能には、目標の正確さ、目標遅延時間、又は目標演算量のうちの少なくとも1つが含まれてもよい。プロセッサ130は、通信インタフェース110を通じて外部デバイスから、目標デバイスの情報及びニューラルネットワークモデルのも目標性能を受信してもよい。外部デバイス200は、入力部240を通じて、目標デバイスの情報を入力するためのユーザ指令、及びニューラルネットワークモデルの目標性能を取得してもよい。
【0202】
プロセッサ130は、目標デバイスの情報及び目標性能に基づき、複数の候補ニューラルネットワークモデルの情報を導出してもよい。複数の候補ニューラルネットワークモデルの情報には、複数の候補ニューラルネットワークモデルの名称、複数の候補ニューラルネットワークモデルの性能、複数の候補ニューラルネットワークモデルの入力データのサイズのうちの少なくとも1つが含まれてもよい。
【0203】
プロセッサ130は、複数の候補ニューラルネットワークモデルの情報をメモリ120から取得してもよい。プロセッサ130は、目標デバイスの情報及び目標性能を、メモリ120に記憶された複数のニューラルネットワークモデルの情報と比較することにより、複数のニューラルネットワークモデルのうちから、複数の候補ニューラルネットワークモデルを特定してもよい。プロセッサ130は、メモリ120から複数の特定された候補ニューラルネットワークモデルの情報を取得してもよい。
【0204】
プロセッサ130は、複数の候補ニューラルネットワークモデルとして、メモリ120に記憶された複数のニューラルネットワークモデルのうちから、目標性能との性の差に基づく各ランキングが事前設定されたランキング以上であるニューラルネットワークモデルを特定してもよい。事前設定されたランキングは、第5であってもよい。目標性能との性能の差が小さいニューラルネットワークモデルが、より高いランクを有し得る。例えば、複数のニューラルネットワークモデルには、第1~第10のニューラルネットワークモデルが含まれてもよい。これらのうち、第1~第10のニューラルネットワークモデルの各々は、第1~第5にランキングされてもよい。この場合、プロセッサ130は、第1~第5のニューラルネットワークモデルを複数の候補ニューラルネットワークモデルとして特定してもよい。
【0205】
プロセッサ130は、複数のニューラルネットワークモデルのうち、目標性能との差が事前設定された範囲内のニューラルネットワークモデルを、複数の候補ニューラルネットワークモデルとして特定してもよい。例えば、目標性能は、目標遅延時間であり、事前設定された範囲は、100msであってもよい。
【0206】
プロセッサ130は、通信インタフェース110を制御して、目標性能に基づき、複数の候補ニューラルネットワークモデルの情報を表示するように、外部デバイス200に指令を送信してもよい。外部デバイス200は、送信された指令に基づき、複数の候補ニューラルネットワークモデルの情報を表示してもよい。本開示中に別段の指摘のない限り、プロセッサ130が外部デバイス200に指令を送信するということは、プロセッサ130が通信インタフェース110を制御して外部デバイス200に指令を送信することを意味する。一方、具体的に指摘のない限り、電子機器100が外部デバイス200に表示指令を送信するとき、外部装置200が表示指令に対応する情報を表示するのは明らかである。
【0207】
プロセッサ130は、対応する候補ニューラルネットワークモデルの性能と目標性能との間の差の逆の順に、複数の候補ニューラルネットワークモデルの情報を各々表す複数のUI要素を表示するために、外部デバイス200に指令を送信してもよい。複数のUIは各々、カーソルが複数のUI要素の各々の上に配置されるとき、複数の候補ニューラルネットワークモデルの1つの情報を表示してもよい。
【0208】
複数の候補ニューラルネットワークモデルには、第1の種別の複数の第1の候補ニューラルネットワークモデルと、第2の種別の複数の第2の候補ニューラルネットワークモデルが含まれてもよい。第1の候補ニューラルネットワークモデルは、ユーザによって設定されたプロジェクト情報に基づいて取得されたモデルであってもよい。プロジェクト情報には、プロジェクトを規定する種々の情報(例えば、プロジェクトを通じて生成されたニューラルネットワークモデルの入力データサイズ)が含まれてもよい。例えば、第1の候補ニューラルネットワークモデルは、ユーザによって設定された入力データと同一の入力データサイズを有するモデルであってもよい。第2の候補ニューラルネットワークモデルは、ユーザによって設定されたプロジェクト情報から部分的に修正されたプロジェクト情報に基づいて取得されたモデルであってもよい。例えば、第2の候補ニューラルネットワークモデルは、ユーザによって設定された入力データサイズとは異なる入力データサイズを有してもよく、ユーザによって設定された目標性能から事前設定された範囲内の性能を有してもよい。
【0209】
複数のUI要素には、各々、複数の第1の候補ニューラルネットワークモデルのうちの各々に関連付けられた複数の第1のUI要素と、各々、複数の第2の候補ニューラルネットワークモデルのうちのの各々に関連付けられた複数の第2のUI要素とが含まれてもよい。プロセッサ130は、複数の第1のUI要素及び複数の第2のUI尾要素を異なる領域に同時に表示するために、外部デバイス200に指令を送信してもよい。これに応じて、外部デバイス200は、複数の第1のUI要素及び複数の第2のUI要素を異なる領域に同時に表示してもよい。
【0210】
プロセッサ130は、2次元グラフ上に複数の候補ニューラルネットワークモデルのうちの1つの情報を各々示す複数のUI要素を表示するために、外部デバイス200に指令を送信してもよい。2次元グラフは、第1の性能パラメータに対応する第1の軸と、第2の性能パラメータに対応する第2の軸とによって規定されてもよい。例えば、第1の性能パラメータは、遅延時間関連パラメータであってもよく、第2の性能パラメータは、正確さ関連パラメータであってもよい。
【0211】
複数のUI要素には、各々、複数のUI要素のうちの各1つに関連付けられた候補ニューラルネットワークモデルの性能が目標性能に対応する第3のUI要素と、対応する候補ニューラルネットワークモデルの性能が目標性能に対応しない第4のUI要素とが含まれる。プロセッサ130は、第3のUI要素を有効化し、第4のUI要素を無効化するために、外部デバイス200に指令を送信してもよい。
【0212】
外部デバイス200は、パーソナルコンピュータ(PC)として実装されてもよい。外部デバイス200は、通信インタフェース210、メモリ220、プロセッサ230、入力部240、及びディスプレイ250を備えてもよい。
【0213】
プロセッサ230は、通信インタフェース210を制御することにより、入力部240を通じて取得されたユーザ指令を電子機器100に送信してもよい。例えば、プロセッサ230は、通信インタフェース210を制御して、複数の候補ニューラルネットワークモデルのうちの1つを選択するためのユーザ指令を電子機器100に送信してもよい。
【0214】
入力部240は、外部デバイス200の動作に関連の種々のユーザ指令を受信するように構成される。入力部240は、外部デバイス200に接続されたキーボード又はマウス等の外部入力手段から種々の入力信号を受信する入力/出力インタフェースとして実装されてもよい。或いは、入力部240は、ディスプレイ250上のタッチスクリーンとして実装されてもよい。
【0215】
ディスプレイ250は、プロセッサ230の制御に応じて、種々の種別の情報を表示してもよい。例えば、ディスプレイ250は、複数の候補ニューラルネットワークモデルの情報を表示してもよい。
【0216】
図16は、本開示の一実施形態に係る学習設定画面を示す図である。
【0217】
図16を参照すると、学習設定画面1600は、ユーザから学習設定情報を受信するための画面であり、外部デバイス200上に表示されてもよい。学習設定情報には、入力データサイズ(例えば、入力画像の解像度)、訓練エポック、及び訓練済モデルのデータ拡張が含まれてもよい。
【0218】
学習設定画面1600は、目標性能(例えば、遅延時間)を受信するための第1の領域1610を含んでもよい。第1の領域1610は、単一の値又は範囲の値(例えば、400~500)を受信してもよい。学習設定画面1600には、ニューラルネットワークモデルの入力データサイズを受信するための第2の領域1620と、データ拡張及び訓練エポックを実施すべきか否かを受信するための第3の領域1630が含まれてもよい。
【0219】
各領域1610、1620、及び1630に対するユーザ入力が取得されると、外部デバイス200は、ユーザ入力に関連の情報を電子機器100に送信してもよい。電子機器100は、ユーザによって入力された性能及び入力データサイズに基づいて、複数の候補ニューラルネットワークモデルを取得し、取得されたニューラルネットワークモデルを外部デバイス200に送信してもよい。
【0220】
一方、ユーザによって入力されたデータセットのサイズは、設定された入力データのサイズとは異なり得る。例えば、ユーザによって入力されたデータセットは、第1の解像度の画像セットであってもよく、設定された入力データのサイズは、第1の解像度とは異なる第2の解像度であってもよい。この場合、電子機器100は、ユーザによって入力されたデータセットのサイズを設定された入力データのサイズに変換してもよい。例えば、電子機器100は、第1の解像度の画像セットから第2の解像度の画像セットを取得してもよい。
【0221】
図17は、本開示の一実施形態に係るベースモデル推奨画面である。
【0222】
図17を参照すると、ベースモデル推奨画面1700は、ユーザに複数の候補ニューラルネットワークモデルを推奨する画面であり、外部デバイス200に表示されてもよい。ユーザは、複数の候補ニューラルネットワークモデルからベースモデルを選択してもよい。ニューラルネットワークモデルを提供するためのシステム1000は、ユーザによって選択されたベースモデルに基づき、訓練済モデルを生成し、生成された訓練済モデルをユーザに提供してもよい。
【0223】
各々、複数の候補ニューラルネットワークモデルのうちの1つの情報を表す複数のUI要素1711、1712、1713、1714、1715、1721、1722、1723、1724、及び1725が、ベースモデル推奨画面1700上に表示されてもよい。各UI要素は、対応する候補ニューラルネットワークモデルの情報を表してもよい。例えば、候補ニューラルネットワークモデルの情報には、候補ニューラルネットワークの名称、サイズ、遅延時間、及び入力データサイズが含まれてもよい。
【0224】
複数のUI要素1711、1712、1713、1714、1715、1721、1722、1723、1724、及び1725は、ユーザによって入力された目標性能及びニューラルネットワークモデルの入力データのサイズに基づき、表示されてもよい。例えば、目標遅延時間は、100msであってもよく、入力データのサイズは、480×480pxであってもよい。
【0225】
複数のUI要素1711、1712、1713、1714、1715、1721、1722、1723、1724、及び1725は、対応する遅延時間と目標遅延時間との間の差の逆の順に表示されてもよい。例えば、第1のUI要素1711、1712、1713、1714、及び1715に対応する遅延時間は、各々、98ms、102ms、116ms、120ms、及び143msであってもよい。第1のUI要素1711、1712、1713、1714、及び1715は、第1の方向d1に連続的に表示されてもよい。同様に、第2のUI要素1721、1722、1723、1724、及び1725は、第1の方向d1に連続的に表示されてもよい。
【0226】
一方、複数のUI要素1711、1712,1713、1714、1715、1721,1722、1723、1724、及び1725は、対応する遅延時間がユーザによって設定された入力データのサイズと同一である第1のUI要素1711、1712、1713、1714、及び1715と、対応する遅延時間がユーザによって設定された入力データのサイズとは異なる第2のUI要素1721、1722、1723、1724、及び1725に分割されてもよい。第1のUI要素1711、1712、1713、1714、及び1715並びに第2のUI要素1721、1722、1723、1724、及び1725は、異なる領域に表示されてもよい。例えば、第1のUI要素1711、1712、1713、1714、及び1715は、第1の領域1710に表示されてもよい、第2のUI要素1721、1722、1723、1724、及び1725は、第2の領域1720に表示されてもよい。第1のUI要素1711、1712、1713、1714、及び1715並びに第2のUI要素1721、1722、1723、1724及び1725は、同時に表示されてもよい。第1の領域1710及び第2の領域1720は、第1の方向d1に直交する方向に位置決めされてもよい。
【0227】
図17において、入力データのサイズに基づいて取得されたベースモデルに対応する第1のUI要素1711、1712、1713、1714、及び1715は、第1のエリア1710に表示される。また遅延時間に基づいて取得されたベースモデルに対応する第2のUI要素1721、1722、1723、1724、及び1725は、第2のエリア1720に表示される。しかしながら、これは一実施形態であり、各エリアに表示されるUI要素に対応するベースモデルは、ニューラルネットワークモデルに関連する種々の特性に基づいて選択されてもよい。さらに、ユーザによって設定された入力データと同一のサイズを有するUI要素もまた、第2のエリア1720に表示されてもよい。
【0228】
候補ニューラルネットワークモデルについての情報を表示する方法は、訓練モードに応じて変動し得る。例えば、ベースモデル推奨画面1700は、第1の訓練モードで候補ニューラルネットワークモデルの情報を表示する方法を示し得る。
図18及び
図19は、第2の訓練モードで候補ニューラルネットワークモデルについての情報を表示する方法を示し得る。
【0229】
図18は、本開示の一実施形態に係るニューラルネットワークモデルの情報を表示する方法を説明するための図である。
【0230】
図18を参照すると、外部デバイス200は、各々、複数のニューラルネットワークモデルのうちの各々に関連付けられた複数のUI要素1810、1820、1830、1840、1850、及び1860を表示してもよい。外部デバイス200は、2次元グラフ上に複数のUI要素1810、1820、1830、1840、1850、及び1860を表示してもよい。2次元グラフは、遅延時間に対応する第1の軸と、正確さに対応する第2の軸とによって規定されてもよい。第2の軸は、平均精度(mAP)に対応してもよい。
【0231】
UI要素がユーザによって選択されると、外部デバイス200は、選択されたUI要素に対応するニューラルネットワークモデルの情報を表示してもよい。ユーザの選択は、カーソルC又はUI要素を配置することにより、又はUI要素を選択する動作(例えば、クリック)によって行われてもよい。例えば、カーソルCが第1のUI要素1810上に配置されると、外部デバイス200は、第1のUI要素1810に対応する第1のニューラルネットワークモデル上に情報1811を表示してもよい。
【0232】
複数のニューラルネットワークモデルは、ベースモデルであってもよい。例えば、複数のニューラルネットワークモデルは、電子機器200に第2のプロジェクトを実施させることによって生成されたベースモデルであってもよい。或いは、複数のニューラルネットワークモデルは、電子機器200に第1のプロジェクトを実施させることによって取得されたベースモデルであってもよい。
【0233】
複数のニューラルネットワークモデルは、訓練済ニューラルネットワークモデルであってもよい。例えば、或いは、複数のニューラルネットワークモデルは、電子機器200に第3のプロジェクトを実施させることによって取得されたベースモデルであってもよい。
【0234】
図19は、本開示の一実施形態に係るニューラルネットワークモデルの情報を表示する方法を説明するための図である。
【0235】
図19を参照すると、外部デバイス200は、各々、関心対象領域(ROI)に基づき、複数のニューラルネットワークモデルのうちの各々に関連付けられたUI要素1910、1920、1930、1940、1950、及び1960を表示してもよい。外部デバイス200は、ユーザによって設定された目標性能に基づき、ROIを規定してもよい。外部デバイス200は、ユーザによって設定された目標遅延時間及び目標の正確さに基づき、ROIを判定してもよい。
【0236】
外部デバイス200は、ROIとして、ユーザにより設定された目標遅延時間から事前設定された時間範囲によって規定される領域と、ユーザによって設定された目標の正確さから事前設定された正確さ範囲と、を判定してもよい。例えば、ユーザによって設定された目標遅延時間は、0.2秒であってもよく、事前設定された時間範囲は、-0.05秒~+0.05秒であってもよい。さらに、ユーザによって設定された目標の正確さは、0.03であってもよく、事前設定された正確さ範囲は、-0.025~0.035であってもよい。この場合、外部デバイス200は、
図19のROIを規定してもよい。
【0237】
一方、ユーザによって設定された目標性能は、範囲値であってもよい。この場合、外部デバイス200は、ユーザによって設定された目標性能を拡張することなく、ROIを規定してもよい。例えば、ユーザは、目標遅延時間を0.15秒~0.25秒に設定し、目標の正確さを0.025~0.035に設定してもよい。この場合、外部デバイス200は、ユーザによって設定された目標性能をそのまま反映させることにより、
図19のROIを規定してもよい。
【0238】
図19は、ROIが2つの軸によって規定されることを示すが、これは単なる例であり、ROIは、単一の軸に基づいて規定されてもよい。例えば、ROIは、目標遅延時間に基づいて規定されてもよい。外部デバイス200は、ROIとして目標遅延時間から事前設定された時間範囲を規定してもよい、
【0239】
UI要素1910、1920、1930、1940、1950、及び1960のうち、外部デバイス200は、区別のため、ROIに含まれるUI要素1910及び1920と、ROIに含まれないUI要素1930、1940、1950、及び1960を表示してもよい。例えば、外部デバイス200は、UI要素1910及び1920の視覚的特性(例えば、形状、色等)を、UI要素1930、1940、1950、及び1960とは異なって表示してもよい。ここで、UI要素1910及び1920は、ニューラルネットワークモデルの目標性能から事前設定された範囲内の性能を有する候補ニューラルネットワークモデルに対応してもよい。UI要素1930、1940、1950、及び1960は、ニューラルネットワークモデルの目標性能から事前設定された範囲外に性能を有する候補ニューラルネットワークモデルに対応し得る。
【0240】
外部デバイス200は、ROIに含まれるUI要素1910及び1920を有効化してもよい。これに応じて、UI要素1910又は1920のうちの少なくとも一方が選択されるとき、外部デバイス200は、少なくとも1つの選択されたUI要素に対応するニューラルネットワークモデルの情報を表示してもよい。例えば、第1のUI要素1910が選択されるとき、外部デバイス200は、第1のUI要素1910に対応する第1のニューラルネットワークモデルの情報を表示してもよい。
【0241】
外部デバイス200は、ROIに含まれないUI要素1930、1940、1950、及び1960を無効化してもよい。これに応じて、UI要素1930、1940、1950、及び1960は、選択不能となってもよい。
【0242】
一方、ニューラルネットワークモデルについての情報を表示する方法は、訓練モードに応じて変動し得る。例えば、訓練モードが第1の訓練モードとして設定されるとき、ニューラルネットワークモデルの情報は、
図17に示されるとおり、表示されてもよい。訓練モードが第2の学習モードとして設定されるとき、ニューラルネットワークモデルの情報は、
図18及び
図19に示されるとおり、表示されてもよい。
【0243】
図20は、本開示の一実施形態に係るニューラルネットワークモデルの性能を導出する方法を説明するための図である。
【0244】
図20を参照すると、電子機器100は、デバイスファーム2010を使用してニューラルネットワークモデル2030の性能を取得してもよい。ニューラルネットワークモデル2030は、ベースモデル又は訓練済モデルであってもよい。デバイスファーム2010には、種々のデバイスに関連の情報が含まれてもよい。電子機器100は、ユーザによって入力された目標デバイスの情報に基づき、デバイスファーム2010において目標デバイス2020を特定してもよい。電子機器100は、目標デバイス2020においてニューラルネットワークモデル2030を実行することにより、ニューラルネットワークモデル2030の性能を測定してもよい。デバイスファーム2010は、電子機器100に含まれるDBとして実装されてもよい。
【0245】
電子機器100は、デバイスファーム2010を使用して取得されたニューラルネットワークモデル2030の性能に基づき、ルックアップテーブルを生成してもよい。上述のとおり、ルックアップテーブルには、複数のニューラルネットワークモデルの性能を含む複数のニューラルネットワークモデルの情報が含まれてもよい。
【0246】
電子機器100は、ニューラルネットワークモデル2030の性能に基づき、ニューラルネットワークモデル2030を圧縮してもよい。例えば、電子機器100は、ニューラルネットワークモデル2030の遅延時間に基づき、ニューラルネットワークモデル2030の圧縮のための設定値を取得してもよい。
【0247】
図21は、本開示の一実施形態に係る電子機器を制御する方法を説明するための図である。
【0248】
図21を参照すると、電子機器100は、ニューラルネットワークモデルが実行される目標デバイスの情報を外部デバイスから受信し、ニューラルネットワークモデルが目標デバイスにおいて実行されるときのニューラルネットワークモデルの目標性能を受信してもよい(S2110)。目標性能には、目標遅延時間及び目標の正確さが含まれてもよい。
【0249】
電子機器100は、目標デバイスの情報及び目標性能に基づき、複数の候補ニューラルネットワークモデルの情報を導出してもよい(S2120)。候補ニューラルネットワークモデルは、ベースモデル又は訓練済モデルであってもよい。例えば、電子機器100は、プロジェクトを実施することによって候補ニューラルネットワークモデルを取得してもよい。
【0250】
電子機器100は、目標性能に基づいて、複数の候補ニューラルネットワークモデルの情報を表示するために、外部デバイスの指令を送信してもよい(S2130)。電子機器100によって送信された指令に基づいて複数の候補ニューラルネットワークモデルの情報を表示する方法は、
図17~
図19を参照して明確に理解され得る。
【0251】
図22は、本開示の一実施形態に係る電子機器の動作を説明するための図である。
【0252】
図22を参照すると、電子機器100は、モデル取得部2210、圧縮部2220、及びランチャ部2230を備えてもよい。モデル取得部2210、圧縮部2220、及びランチャ部2230は、ソフトウェアモジュールとして実装されてもよい。プロセッサ130は、各ユニットに関連の指示をメモリ120にロードし、実行してもよい。
【0253】
モデル取得部2210は、ターゲットセット2201及び目標デバイス情報2202(又は目標デバイスの情報)に基づき、訓練済モデル2215を取得してもよい。例えば、モデル取得部2210は、第1のプロジェクトを実施して第1の訓練済モデルを取得してもよい。モデル取得部2210は、圧縮部2220から圧縮モデル2225を受信してもよい。モデル取得部2210は、圧縮モデル2225に基づいて設定された第3のプロジェクトを実施することにより、再訓練済モデルを取得してもよい。
【0254】
モデル取得部2210は、圧縮部2220又はランチャ部2230に訓練済モデル2215送信してもよい。例えば、モデル取得部2210は、第1の訓練済モデルを圧縮部2220に送信してもよい。モデル取得部2210は、再訓練済モデルをランチャ部2230に送信してもよい。モデル取得部2210に関連の電子機器100の他の動作(例えば、プロジェクトを実施する動作)については上述したため、その詳細な説明は省略する。
【0255】
圧縮部2220は、入力モデルに圧縮を実施することによって軽量モデルを出力してもよい。圧縮部2220は、訓練済モデル2215又はニューラルネットワークモデル2235を圧縮して圧縮モデル2225を生成してもよい。ニューラルネットワークモデル2235は、モデル取得部2210によって取得されていない所定のモデルであってもよい。圧縮部2220は、圧縮モデル2225をランチャ部2230又はモデル取得部2210を送信してもよい。
【0256】
圧縮部2220は、ユーザによって設定された圧縮設定情報に基づき、入力モデルを圧縮してもよい。圧縮設定情報には、圧縮モード、圧縮方法、圧縮設定値、又は入力モデルに含まれる複数のチャンネルから圧縮目標を判定する参照情報のうちの少なくとも1つが含まれてもよい。圧縮モードには、入力モデルの圧縮のためにユーザによって設定されたモデル圧縮設定値に基づき、入力モデルを圧縮するための第1の圧縮モードが含まれてもよい。圧縮モードには、入力モデルに含まれるブロックの情報をユーザに提供し、ブロック圧縮のためにユーザによって設定されたブロック圧縮設定値にもとづき、訓練済モデルを圧縮する第2の圧縮モードが含まれてもよい。圧縮部2220は、コンプレッサと称され得る。
【0257】
ランチャ部2230は、目標デバイス上に展開される入力モデルに対応するダウンロードデータ2245を出力してもよい。ランチャ部2230に入力されたモデルには、圧縮モデル2225、ニューラルネットワークモデル2235、及び再訓練済モデルが含まれてもよい。
【0258】
ランチャ部2230は、目標デバイス情報2202に基づき、入力モデルに量子化を実施してもよい。目標デバイス情報2202には、目標デバイスによってサポートされるデータ種別(例えば、8ビット整数タイプ)が含まれてもよい。ランチャ部2230は、入力モデルのデータ種別を目標デバイスによってサポートされるデータ種別に変換してもよい。
【0259】
ランチャ部2230は、入力モデルに較正を実施してもよい。ランチャ部2230は、ユーザによって入力されたコード又は事前に記憶されたコードに基づき、較正を実施してもよい。例えば、ランチャ部2230は、量子化間隔を調整してもよい。ランチャ部2230は、調整された量子化間隔に基づき、量子化を実施してもよい。これに応じて、入力モデル又は量子化モデルのパラメータ値(例えば、重量値)が変更されてもよい。
【0260】
ランチャ部2230は、ダウンロードデータ2245をユーザに提供してもよい。ダウンロードデータ2245は、ダウンロードファイル、ダウンロードパッケージ、又は同様の収集データを意味し得る。ユーザがダウンロードデータ2245をリクエストすると、ランチャ部2230は、ダウンロードデータ2245をユーザデバイスに送信してもよい。これに応じて、目標デバイスに合わせて最適化されたニューラルネットワークモデルがユーザデバイスにインストールされてもよい。
【0261】
以上に記載の本開示の種々の例としての実施形態は、ソフトウェア、ハードウェア、又はソフトウェア及びハードウェアの組み合わせを使用して、コンピュータ又はコンピュータ可読記録媒体において実装されてもよい。場合によっては、本開示に記載の実施形態は、プロセッサ自身として実装されてもよい。ソフトウェア実装によると、本開示に記載の手順及び機能等の実施形態は、別々のソフトウェアモジュールとして実装されてもよい。ソフトウェアモジュールは、各々、本開示に記載の1つ以上の機能及び動作を実施してもよい。
【0262】
上述の本開示の多様な実施形態に係る処理動作を実施するためのコンピュータ指示が、持続性コンピュータ可読媒体に記憶されてもよい。持続性コンピュータ可動媒体に記憶されたコンピュータ指示により、プロセッサによる実行時、特定の機械に、上述の多様な実施形態に係る処理動作を実施させる。
【0263】
持続性コンピュータ可読媒体は、レジスタ、キャッシュ、メモリ等、暫時的にデータを記憶する媒体ではなく、半恒久的にデータを記憶し、装置によって読み取り可能な媒体である。持続性コンピュータ可読媒体の具体例として、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ハードディスク、ブルーレイディスク、ユニバーサルシリアルバス(USB)、メモリカード、リードオンリーメモリ(ROM)等が挙げられる。
【0264】
機械可読記憶媒体が、持続性記憶媒体の形態で提供されてもよい。ここで「持続性記憶媒体」とは、記憶媒体が有形デバイスであり、信号(例えば、電磁波)を含まない記憶媒体を意味し、この用語は、データが半恒久的に記憶媒体上に記憶される場合と、データが一時的にそこに記憶される場合との間で区別しない。例えば、「持続性記憶媒体」には、データが一時的に記憶されるバッファが含まれ得る。
【0265】
本文書に開示の多様な実施形態に係る方法は、コンピュータプログラム製品に含まれて提供されてもよい。コンピュータプログラム製品は、販売人と購買人との間で商品としてやりとりされ得る。コンピュータプログラム製品は、機械可読記憶媒体(例えば、コンパクトディスクリードオンリーメモリ(CD-ROM))の形態で配布されてもよく、又はアプリケーションストア(例えば、Play Store(登録商標))を通じて配布(例えば、ダウンロード又はアップロード)されてもよく、又は2つのユーザデバイス(例えば、スマートフォン)間にてオンラインで直接配布(例えば、ダウンロード又はアップロード)されてもよい。オンライン配布の場合、コンピュータプログラム製品の少なくとも一部(例えば、ダウンロード可能なアプリ)が、メーカのサーバ、アプリケーションストアのサーバ、又は中継サーバのメモリ等、機械可読記憶媒体に少なくとも一時的に記憶されてもよく、一時的に生成されてもよい。
【0266】
上述の本開示の種々の実施形態によると、ターゲットデバイスに合わせて最適化されたニューラルネットワークモデルを提供することができる。
【0267】
上述の本開示の種々の実施形態によると、ユーザによって入力されたデータセットに基づいて訓練されたニューラルネットワークモデルを提供することができる。
【0268】
上述の本開示の種々の実施形態によると、ユーザによって入力された圧縮のための設定値に基づき、圧縮ニューラルネットワークモデルを提供することができる。
【0269】
上述の本開示の種々の実施形態によると、圧縮ニューラルネットワークモデルに対応するダウンロードデータを提供することができる。
【0270】
これに応じて、ユーザの利便性と満足度を向上することができる。
【0271】
多くの場合、実体は、他の実体に連結されるものとして説明した。「連結された」及び「接続された」(又はこれらの形態の任意のもの)の用語は、本明細書中、相互に読み替え可能に使用されており、双方の場合において、2つの実体が直接的に連結されること(無視できない(例えば寄生的な)介在実体を伴うことなく)、及び(1つ以上の無視できない介在実体を伴って)2つの実体が間接的に連結されることを包括的にいうものであることが理解されなければならない。実体が互いに直接連結されているように図示される場合、又はいずれの介在実体の記載も伴うことなく、ともに連結されるものとして記載される場合、これらの実体は、文脈によって別段の明示のないかぎり、非間接的に連結され得ることが理解されなければならない。
【0272】
記載された本発明のバリエーションの最適な特徴が、独立に、又は本明細書に記載の特徴のうちの1つ以上との組み合わせにおいて記載及びクレームされ得ることが考えられる。さらに、クレームが一実施形態に対する任意の要素を除外して設計され得ることにさらに留意されたい。このように、本記載は、クレーム要素の列挙との関連で使用される「単に」「のみ」等の排他的用語の使用、又は「ネガティブな」限定の使用の先行しとして機能することが意図されている。本明細書中、別段の規定のない限り、本明細書において使用されるすべての技術的及び科学的用語は、本発明が属する技術分野の当業者が一般に理解するのと同一の意味を有する。本発明の広がりは、本明細書によって限定されるものでなく、採用されたクレーム用語の率直な意味によっても限定される。
【0273】
さらに、本開示の実施形態によって得られる、又は予測され得る効果について、本開示の実施形態の詳細な説明において直接又は暗示的に開示した。例えば、本開示の実施形態において予測される種々の効果は、上述の詳細な説明に開示されている。
【0274】
本明細書に記載の実施形態及びそのクレームは、特許性のある主題に向けられたものである。これらの実施形態は、いくつかの理由により、抽象的着想を構成するものでない。そのような理由の1つとして、いずれのクレームもニューラルネットワーク最適化の能力を提供するものであるためである。これらの装置及びコンピュータ実施方法により、ターゲットデバイスの属性を判定するようにし、ターゲットデバイスに合わせて最適化されたニューラルネットワークモデルを取得及び/又は使用させることで、コンピュータ自体の機能を向上させるもので、そうでなければ副次的に最適化されたニューラルネットワークを稼働してしまうことで、抽象的着想を「著しく上回る」ものと見なされ得る。
【0275】
当業者にとって、本開示の他の態様、効果、及び顕著な特徴については、添付の図面とともに行った、本開示の種々の実施形態を開示した以上の詳細な説明により、明らかとなるであろう。
【0276】
本開示の実施形態について以上に図示及び説明したが、本開示は、上述の特定の実施形態に限定されるものでなく、添付の請求項に開示された本開示の要旨から逸脱することなく、本開示の関連する技術分野の当業者によって、種々に修正され得る。これらの修正も、本開示の範囲及び趣旨の範囲内であることも理解されなければならない。
[その他の可能な項目]
[項目1]
電子機器によって実施されるニューラルネットワークモデルの情報を提供する方法であって、
電子機器のプロセッサにおいて、ニューラルネットワークモデルが実行される目標デバイスの情報、及び前記目標デバイスに対する前記ニューラルネットワークモデルの目標性能を外部デバイスから受信することと、
前記プロセッサにより、前記目標デバイスの情報及び前記受信された目標性能に基づき、複数の候補ニューラルネットワークモデルの情報を導出することと、
前記受信した目標性能に基づき、前記複数の候補ニューラルネットワークモデルの情報を表示するために、コンピュータネットワークを介して、外部デバイスに指令を送信することと、を備え、前記複数の候補ニューラルネットワークの情報には、前記複数の候補ニューラルネットワークモデルの名称、前記複数の候補ニューラルネットワークモデルの性能、又は前記複数の候補ニューラルネットワークモデルの入力データのサイズのうちの少なくとも1つが含まれ、
前記複数の候補ニューラルネットワークモデルを導出するための訓練モードが第1の訓練モードとして設定されるとき、
各々、前記複数の候補ニューラルネットワークモデルの各々の情報を表す複数のUI要素には、
各々、ユーザによって設定された前記入力データの前記サイズに基づいて導出された複数の第1の候補ニューラルネットワークモデルの各々に対応する第1のUI要素、及び
各々、前記ユーザによって設定された目標性能に基づいて導出された複数の第2の候補ニューラルネットワークモデルの各々に対応する第2のUI要素が含まれ、
前記第1のUI要素及び前記第2のUI要素は、異なるエリアに表示され、
前記訓練モードが第2の訓練モードとして設定されるとき、
前記複数のUI要素は、第1の性能パラメータに対応する第1の軸と、第2の性能パラメータに対応し、前記1の軸と直交する第2の軸とによって規定された2次元グラフ上に表示される方法。
[項目2]
前記訓練モードが前記第1の訓練モードとして設定されるとき、
前記複数のUI要素は、前記複数のUI要素の各々に対応する前記候補ニューラルネットワークモデルの性能と前記受信した目標性能との間の差の昇順で表示される項目1に記載の方法。
[項目3]
前記第1の性能パラメータが遅延時間であり、前記第2の性能パラメータが正確さである項目1に記載の方法。
[項目4]
前記複数のUI要素には、各々、前記受信した目標性能から所定範囲内である性能を有した複数の第3の候補ニューラルネットワークモデルの各々に対応する第3のUI要素、各々、前記受信した目標性能から前記所定範囲外である性能を有した複数の第4の候補ニューラルネットワークモデルの各々に対応する第4のUI要素とが含まれ、
前記送信することには、前記第3のUI要素を有効化し、前記第4のUI要素を無効化するために、前記外部デバイスに指令を送信することが含まれる項目1に記載の方法。
[項目5]
前記複数のUI要素は各々、ユーザによる選択時、前記複数の候補ニューラルネットワークモデルの各々の情報を表示する項目1に記載の方法。
[項目6]
前記複数の候補ニューラルネットワークモデルの情報は、ルックアップテーブルに基づいて取得され、
前記ルックアップテーブルには、複数のニューラルネットワークモデルの識別情報、前記複数のニューラルネットモデルが実行される複数のデバイスの情報、及び前記複数のデバイスのための前記複数のニューラルネットワークモデルの性能情報が含まれる項目1に記載の方法。
[項目7]
前記導出することには、前記複数のニューラルネットワークモデルのうち、ランキングが所定ランキング以上のニューラルネットワークモデルの情報を導出することが含まれ、前記ランキングは、前記目標性能からの性能差に基づく項目6に記載の方法。
[項目8]
前記導出することには、前記複数のニューラルネットワークモデルのうち、前記目標性能からの性能差が事前設定された範囲内であるニューラルネットワークモデルの情報を導出することが含まれる項目6に記載の方法。
[項目9]
ニューラルネットワークモデルの情報を提供する電子機器であって、
データネットワークを介してデータを送受信するように構成され、少なくとも1つの通信回路を有する通信インタフェースと、
少なくとも1つの動作指示を記憶するように構成された持続性メモリと、
プロセッサと、を備え、
前記少なくとも1つの動作指示の実行は、前記プロセッサに、
前記ニューラルネットワークモデルが実行される目標デバイスの情報、及び前記目標デバイスに対する前記ニューラルネットワークモデルの目標性能を、外部デバイスから受信することと、
前記目標デバイスの情報及び前記受信した目標性能に基づき、複数の候補ニューラルネットワークモデルの情報を導出することと、
前記受信した目標性能に基づき、前記複数の候補ニューラルネットワークモデルの情報を表示するために、前記外部デバイスに指令を送信することと、を行わせるものであり、前記複数の候補ニューラルネットワークモデルの情報には、前記複数の候補ニューラルネットワークモデルの名称、前記複数の候補ニューラルネットワークモデルの性能、又は前記複数の候補ニューラルネットワークモデルの入力データのサイズのうちの少なくとも1つが含まれ、
前記複数のニューラルネットワークモデルを導出するための訓練モードが第1の訓練モードとして設定されるとき、
各々、前記複数の候補ニューラルネットワークモデルの各々の情報を表す複数のUI要素には、
各々、前記ユーザによって設定された前記入力データのサイズに基づいて導出された前記複数の第1の候補ニューラルネットワークモデルの各々に対応する第1のUI要素と、
各々、ユーザによって設定された目標性能に基づいて導出された前記複数の第2の候補ニューラルネットワークモデルの各々に対応する第2のUI要素と、が含まれ、
前記第1のUI要素及び前記第2のUI要素は、異なるエリアに表示され、
前記訓練モードが第2の訓練モードとして設定されるとき、
前記複数のUI要素は、第1の性能パラメータに対応する第1の軸と、第2の性能パラメータに対応し、前記第1の軸に直交する第2の軸とによって規定された2次元グラフ上に表示される電子機器。
[項目10]
前記訓練モードが前記第1の訓練モードとして設定されるとき、
前記複数のUI要素は、前記複数のUI要素の各々に対応する前記候補ニューラルネットワークモデルの前記性能と前記受信した目標性能との差の昇順に表示される項目9に記載の電子機器。
[項目11]
前記第1の性能パラメータが遅延時間であり、前記第2の性能パラメータが正確さである項目9に記載の電子機器。
[項目12]
前記複数のUI要素には、各々、前記受信した目標性能から所定範囲内に性能を有する複数の第3の区補ニューラルネットワークモデルの各々に対応する第3のUI要素と、各々、前記受信した目標性能から前記所定範囲外に性能を有する複数の第4の候補ニューラルネットワークモデルの各々に対応する第4のUI要素とが含まれ、
前記プロセッサは、前記通信インタフェースを制御し、前記第3のUI要素を有効化し、前記第4のUI要素を無効化するために、前記外部デバイスに指令を送信するようにさらに構成される項目9に記載の電子機器。
[項目13]
前記プロセッサは、ルックアップテーブルに基づき、前記複数の候補ニューラルネットワークモデルの情報を導出するようにさらに構成され、
前記ルックアップテーブルには、複数のニューラルネットワークモデルの識別情報、前記複数のニューラルネットワークモデルが実行される複数のデバイスの情報、前記複数のデバイスに対する前記複数のニューラルネットワークモデルの性能情報が含まれる項目9に記載の電子機器。
[項目14]
前記プロセッサは、前記複数のニューラルネットワークモデルのうち、ランキングが所定のランキング以上であるニューラルネットワークモデルの情報を導出するようにさらに構成され、前記ランキングは、前記目標性能からの性能差に基づく項目13に記載の電子機器。
[項目15]
前記プロセッサは、前記複数のニューラルネットワークモデルのうち、前記目標性能からの性能差が事前設定された範囲内であるニューラルネットワークモデルの情報を導出するようにさらに構成される項目13に記載の電子機器。