IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社Preferred Networksの特許一覧

特開2024-8217探索空間管理方法、探索空間管理装置、およびユーザ端末
<>
  • 特開-探索空間管理方法、探索空間管理装置、およびユーザ端末 図1
  • 特開-探索空間管理方法、探索空間管理装置、およびユーザ端末 図2
  • 特開-探索空間管理方法、探索空間管理装置、およびユーザ端末 図3
  • 特開-探索空間管理方法、探索空間管理装置、およびユーザ端末 図4
  • 特開-探索空間管理方法、探索空間管理装置、およびユーザ端末 図5
  • 特開-探索空間管理方法、探索空間管理装置、およびユーザ端末 図6
  • 特開-探索空間管理方法、探索空間管理装置、およびユーザ端末 図7
  • 特開-探索空間管理方法、探索空間管理装置、およびユーザ端末 図8
  • 特開-探索空間管理方法、探索空間管理装置、およびユーザ端末 図9
  • 特開-探索空間管理方法、探索空間管理装置、およびユーザ端末 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024008217
(43)【公開日】2024-01-19
(54)【発明の名称】探索空間管理方法、探索空間管理装置、およびユーザ端末
(51)【国際特許分類】
   G06N 3/082 20230101AFI20240112BHJP
【FI】
G06N3/08 120
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022109908
(22)【出願日】2022-07-07
(71)【出願人】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】太田 健
(72)【発明者】
【氏名】都竹 雄介
(57)【要約】
【課題】NASにおける探索空間を管理する。
【解決手段】本開示の一実施形態である方法は、少なくとも1つのプロセッサが実行する方法であって、NAS(Neural Architecture Search)における探索空間の定義情報、および、前記探索空間の識別情報を取得することと、前記探索空間を、検索可能なデータベースに含まれる情報として少なくとも1つの記憶装置に記憶させることと、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが実行する方法であって、
NAS(Neural Architecture Search)における探索空間の定義情報、および、前記探索空間の識別情報を取得することと、
前記探索空間を、検索可能なデータベースに含まれる情報として少なくとも1つの記憶装置に記憶させることと、
を含む方法。
【請求項2】
少なくとも1つのプロセッサが実行する方法であって、
NAS(Neural Architecture Search)における探索空間の定義情報、および、前記探索空間の識別情報を含む、少なくとも1つの記憶装置に記憶されたデータベースから、所望の探索空間を取得することと、
前記所望の探索空間の少なくとも一部を変更した探索空間を、前記所望の探索空間に紐づけて前記少なくとも1つの記憶装置に記憶させることと、
を含む方法。
【請求項3】
前記データベースは、NAS(Neural Architecture Search)を実行するソフトウェアから読み出し可能である、
請求項1または請求項2に記載の方法。
【請求項4】
前記変更後の探索空間の定義情報は、対象タスクの情報、ハイパーパラメータの情報、ニューラルネットワークの重み情報、前記変更後の探索空間が参照する別の探索空間の情報、のうちの少なくとも1つを含む、
請求項1または請求項2に記載の方法。
【請求項5】
前記変更後の探索空間の識別情報は、前記変更後の探索空間のID、前記変更後の探索空間の名称、のうちの少なくとも1つを含む、
請求項1または請求項2に記載の方法。
【請求項6】
前記変更後の探索空間は、経路に複数の選択肢を有し、計算の経路を選択することで所定のニューラルネットワークの出力値が計算可能になるネットワークで表現される、
請求項1または請求項2に記載の方法。
【請求項7】
前記変更後の探索空間の定義情報は、ニューラルネットワークの識別情報を含む、
請求項1または請求項2に記載の方法。
【請求項8】
前記データベースは、前記探索空間を用いて決定されたニューラルネットワークの評価情報、前記探索空間の評価情報、前記探索空間の使用履歴情報のうちの少なくとも1つを含む、
請求項1または請求項2に記載の方法。
【請求項9】
前記変更後の探索空間は、検索可能な情報として前記データベースに追加される、
請求項2に記載の方法。
【請求項10】
前記少なくとも1つのプロセッサは、前記紐づけの情報に基づいて、前記変更後の探索空間から前記所望の探索空間を呼び出す、または、前記所望の探索空間から前記変更後の探索空間を呼び出す、
請求項2または請求項9に記載の方法。
【請求項11】
少なくとも1つのプロセッサを備えた探索空間管理装置であって、
前記少なくとも1つのプロセッサは、
NAS(Neural Architecture Search)における探索空間の定義情報、および、前記探索空間の識別情報を取得し、
前記探索空間を、検索可能なデータベースに含まれる情報として少なくとも1つの記憶装置に記憶させる、探索空間管理装置。
【請求項12】
少なくとも1つのプロセッサを備えた探索空間管理装置であって、
前記少なくとも1つのプロセッサは、
NAS(Neural Architecture Search)における探索空間の定義情報、および、前記探索空間の識別情報を含む、少なくとも1つの記憶装置に記憶されたデータベースから、所望の探索空間を取得し、
前記所望の探索空間の少なくとも一部を変更した探索空間を、前記所望の探索空間に紐づけて前記少なくとも1つの記憶装置に記憶させる、探索空間管理装置。
【請求項13】
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
NAS(Neural Architecture Search)における探索空間の定義情報、および、前記探索空間の識別情報を含む、少なくとも1つの記憶装置に記憶されたデータベースから、所望の探索空間を取得するための条件の入力を受け付け、
前記条件に基づき取得された前記所望の探索空間の少なくとも一部を変更した探索空間を、前記所望の探索空間に紐づけて前記少なくとも1つの記憶装置に記憶させるよう要求する、
ユーザ端末。
【請求項14】
前記少なくとも1つのプロセッサは、
前記紐づけの情報に基づいて、前記所望の探索空間から前記変更後の探索空間を呼び出す、または、前記変更後の探索空間から前記所望の探索空間を呼び出す、
請求項13に記載のユーザ端末。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、探索空間管理方法、探索空間管理装置、およびユーザ端末に関する。
【背景技術】
【0002】
従来、NAS(Neural Architecture Search)と呼ばれる、ニューラルネットワークのアーキテクチャを自動的に最適化する手法が知られている。NASでは、探索空間の良し悪しに探索の効率や性能が大きく依存しており、また、ニューラルネットワークが対象とするタスクによって適した探索空間が異なる。そのため、NASにおける探索空間を管理できることが求められていた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2021-504844号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示の課題は、NASにおける探索空間を管理することである。
【課題を解決するための手段】
【0005】
本開示の一実施形態である方法は、少なくとも1つのプロセッサが実行する方法であって、NAS(Neural Architecture Search)における探索空間の定義情報、および、前記探索空間の識別情報を取得することと、前記探索空間を、検索可能なデータベースに含まれる情報として少なくとも1つの記憶装置に記憶させることと、を含む。
【図面の簡単な説明】
【0006】
図1】本開示の一実施形態に係る全体の構成の一例である。
図2】本開示の一実施形態に係る探索空間管理装置の機能ブロック図である。
図3】本開示の一実施形態に係るデータベースについて説明するための図である。
図4】本開示の一実施形態に係る探索空間の登録処理のフローチャートである。
図5】本開示の一実施形態に係る探索空間の変更・紐付け処理のフローチャートである。
図6】本開示の一実施形態に係る探索空間の変更処理のフローチャートである。
図7】本開示の一実施形態に係る探索空間の紐付け処理のフローチャートである。
図8】本開示の一実施形態に係る探索空間を定義するコードの一例(例1)である。
図9】本開示の一実施形態に係る探索空間を定義するコードの一例(例2)である。
図10】本開示の一実施形態に係る探索空間管理装置のハードウェア構成図である。
【発明を実施するための形態】
【0007】
以下、図面に基づいて本開示の実施の形態を説明する。
【0008】
<用語の説明>
・「NAS(Neural Architecture Search)」とは、コンピュータがニューラルネットワークのアーキテクチャを最適化する(探索空間が包含するモデル(ニューラルネットワーク)のなかから最適なニューラルネットワークを探索する)ことである。
・「探索空間」は、ニューラルネットワーク内の計算の経路に複数の選択肢があり、計算の経路を選択することで、ある入力に対する具体的なニューラルネットワークの出力値が計算可能になるネットワーク(スーパーネットワークとも呼ばれる)で表現されてもよい。この場合、探索空間は、選択肢を有するニューラルネットワークで表現される。スーパーネットワークは、探索空間内の全ての候補モデルを包含した巨大なモデルであってもよい。なお、探索空間の選択肢が1つの場合(スーパーネットワークが包含するニューラルネットワークが1つの場合)には、探索空間は特定のニューラルネットワークを示す。探索空間(スーパーネットワーク)において、特定の選択肢を有効にし、他の選択肢(当該特定の選択肢以外の選択肢)を無効にする(例えば、特定の選択肢のノードの接続のみを有効にし、他の選択肢(当該特定の選択肢以外の選択肢)のノードをニューラルネットワークから削除する)ことによって、ニューラルネットワークを決定することができる。
・「探索空間の識別情報」は、探索空間(一例として、スーパーネットワーク)を識別するための情報(例えば、ID、名称)である。
・「探索空間の定義情報」は、探索空間を定義するための情報であって、一例として、スーパーネットワークの構造、ノード、ノードとノードとの間の接続関係、ニューラルネットワークの重み(テンソル等)等であってもよい。「探索空間の定義情報」は、スーパーネットワーク内で変更可能な部分(つまり、いずれかの選択肢を選択することが可能な部分)の名称および当該部分の選択肢の情報を含んでもよい。なお、「探索空間の定義情報」は、別の探索空間の識別情報を含んでもよい。
【0009】
<全体の構成>
図1は、本開示の一実施形態に係る全体の構成の一例である。探索空間管理システム1は、探索空間管理装置10と、ユーザ端末20と、を含む。探索空間管理装置10とユーザ端末20は、任意のネットワークを介して互いにデータを送受信することができる。なお、本明細書で説明する探索空間管理装置10が実行する処理の一部または全部をユーザ端末20が実行してもよいし、本明細書で説明するユーザ端末20が実行する処理の一部または全部を探索空間管理装置10が実行してもよい。また、探索空間管理装置10およびユーザ端末20が実行する処理を、1つまたは複数のコンピュータを含むシステムが実行してもよい。以下、それぞれについて説明する。
【0010】
<<探索空間管理装置10>>
探索空間管理装置10は、NASにおける探索空間を管理(具体的には、探索空間の登録および変更)するための装置である。探索空間管理装置10は、1つまたは複数のコンピュータからなる。
【0011】
[探索空間の登録]
探索空間管理装置10は、NASにおける探索空間の定義情報、および、NASにおける探索空間の識別情報を取得して、定義情報および識別情報を含む探索空間を、検索可能なデータベースに含まれる情報として少なくとも1つの記憶装置に記憶させる。
【0012】
[探索空間の変更]
探索空間管理装置10は、NASにおける探索空間の定義情報、および、NASにおける探索空間の識別情報を含む、少なくとも1つの記憶装置に記憶されたデータベースから、所望の探索空間を取得して、所望の探索空間の少なくとも一部を変更した探索空間を、所望の探索空間に紐づけて少なくとも1つの記憶装置に記憶させる。少なくとも1つの記憶装置は、複数の探索空間を含んでもよい。探索空間管理装置10は、紐づけの情報に基づいて、変更後の探索空間から所望の探索空間(つまり、変更前の探索空間)を呼び出す、または、所望の探索空間(つまり、変更前の探索空間)から変更後の探索空間を呼び出すことができる。
【0013】
<<ユーザ端末>>
ユーザ端末20は、ユーザ21が操作する端末である。例えば、ユーザ端末20は、パーソナルコンピュータ等である。
【0014】
[探索空間の登録]
ユーザ端末20は、NASにおける探索空間の定義情報の入力を受け付けて、入力を受け付けた定義情報を、定義情報およびNASにおける探索空間の識別情報を含むデータベースが記憶された少なくとも1つの記憶装置に記憶させるよう要求する。
【0015】
[探索空間の変更]
ユーザ端末20は、NASにおける探索空間の定義情報、および、NASにおける探索空間の識別情報を含む、少なくとも1つの記憶装置に記憶されたデータベースから、所望の探索空間を取得するための条件の入力を受け付けて、条件に基づき取得された所望の探索空間の少なくとも一部を変更した探索空間を、所望の探索空間に紐づけて少なくとも1つの記憶装置に記憶させるよう要求する。ユーザ端末20は、紐づけの情報に基づいて、変更後の探索空間から所望の探索空間(つまり、変更前の探索空間)を呼び出す、または、所望の探索空間(つまり、変更前の探索空間)から変更後の探索空間を呼び出すことができる。
【0016】
<<NASを実行するソフトウェア>>
探索空間管理装置10等のサーバ(なお、探索空間管理装置10とは別の装置であってもよい)またはユーザ端末20には、NASを実行するソフトウェアがインストールされているものとする。NASを実行するソフトウェアは、探索空間を管理するデータベース(つまり、NASにおける探索空間の定義情報、および、NASにおける探索空間の識別情報を含む、少なくとも1つの記憶装置に記憶されたデータベース)を読み出して用いることができる。NASを実行するソフトウェアは、あるニューラルネットワークが探索された場合に、そのニューラルネットワークがどの探索空間から探索されたのかの情報をユーザに提供することができる。
【0017】
<機能ブロック>
図2は、本開示の一実施形態に係る探索空間管理装置10の機能ブロック図である。探索空間管理装置10は、定義情報取得部101と、識別情報取得部102と、探索空間登録部103と、探索空間変更部104と、記憶装置105Aと、を備える。なお、探索空間管理装置10は、記憶装置105Aと記憶装置105Bのうちの少なくとも1つを用いてよい。記憶装置105Aは、探索空間管理装置10の内部にある記憶装置であり、記憶装置105Bは、探索空間管理装置10の外部にある記憶装置である。探索空間管理装置10は、プログラムを実行することによって、定義情報取得部101、識別情報取得部102、探索空間登録部103、探索空間変更部104、として機能する。以下、それぞれについて説明する。
【0018】
定義情報取得部101は、ユーザ21がユーザ端末20に入力した、NASにおける探索空間の定義情報(詳細については後述する)を、ユーザ端末20から取得する。
【0019】
なお、NASにおける探索空間の定義情報は、ユーザ21が指定した定義情報に限られない。例えば、NASにおける探索空間の定義情報は、ユーザ21によって指定された定義情報(ユーザ21が、探索空間の定義情報をユーザ端末20に入力する)と、探索空間管理装置10によって指定された定義情報と、のうちの少なくとも1つを含んでもよい。
【0020】
識別情報取得部102は、NASにおける探索空間の識別情報を取得する。例えば、NASにおける探索空間の識別情報は、探索空間管理装置10によって付与された探索空間のID(例えば、探索空間管理装置10は、探索空間に一意のIDを付与する)と、ユーザ21によって指定された探索空間の名称(例えば、ユーザ21は、探索空間の名称をユーザ端末20に入力する)と、のうちの少なくとも1つを含む。
【0021】
探索空間登録部103は、定義情報取得部101および識別情報取得部102が取得した定義情報および識別情報を含む探索空間を、検索可能なデータベースに含まれる情報として記憶装置105Aと記憶装置105Bのうちの少なくとも1つに記憶させる。
【0022】
探索空間変更部104は、データベース内の探索空間を変更した探索空間を、変更前の探索空間に紐づけて管理する。変更後の探索空間は、検索可能な情報としてデータベースに追加される。そのため、紐づけの情報に基づいて、変更後の探索空間から変更前の探索空間を呼び出す、または、変更前の探索空間から変更後の探索空間を呼び出すことができる。
【0023】
探索空間変更部104は、ユーザ21がユーザ端末20に入力した、所望の探索空間を取得するための情報(例えば、所望の探索空間を取得するための条件、探索空間のID、探索空間の名称等)を、ユーザ端末20から取得する。探索空間変更部104は、所望の探索空間を取得するための情報に基づいて、記憶装置105Aと記憶装置105Bのうちの少なくとも1つに記憶されているデータベースから所望の探索空間を取得してユーザ端末20に提示する。
【0024】
探索空間変更部104は、ユーザ21がユーザ端末20に入力した、所望の探索空間の少なくとも一部を変更した探索空間の定義情報を、ユーザ端末20から取得する(なお、ユーザ21が探索空間の名称を指定する場合には、探索空間を識別するための情報も取得する)。探索空間変更部104は、所望の探索空間の少なくとも一部を変更した探索空間の定義情報および識別情報を、所望の探索空間に紐づけて記憶装置105Aと記憶装置105Bのうちの少なくとも1つに記憶させる。
【0025】
なお、所望の探索空間の少なくとも一部を変更した探索空間の定義情報は、ユーザ21が指定した定義情報に限られない。例えば、所望の探索空間の少なくとも一部を変更した探索空間の定義情報は、ユーザ21によって指定された変更後の定義情報(ユーザ21が、所望の探索空間の少なくとも一部を変更した探索空間の定義情報をユーザ端末20に入力する)と、探索空間管理装置10によって指定された変更後の定義情報(例えば、ユーザ21が指定した変更に伴い生じる変更)と、のうちの少なくとも1つを含む。
【0026】
記憶装置105Aと記憶装置105Bのうちの少なくとも1つには、NASにおける探索空間の定義情報および識別情報を含むデータベースが記憶されている。なお、探索空間管理装置10は、NASにおける探索空間の定義情報および識別情報を含むデータベースを、探索空間管理装置10の内部にある記憶装置105Aに記憶させてもよいし、探索空間管理装置10の外部にある記憶装置105Bに記憶させてもよい。
【0027】
<探索空間のデータベース>
図3は、本開示の一実施形態に係るデータベースについて説明するための図である。データベースは、各探索空間の識別情報および定義情報を含む。このように、探索空間の情報が1つに集約されている。探索空間が標準のテンプレートにしたがって定義されているので、組み合わせ可能かつカスタマイズ可能となる。
【0028】
[識別情報]
NASにおける探索空間の識別情報は、探索空間管理装置10によって付与された探索空間のID(例えば、探索空間管理装置10は、探索空間に一意のIDを付与する)と、ユーザ21によって指定された探索空間の名称(例えば、ユーザ21は、探索空間の名称をユーザ端末20に入力する)と、のうちの少なくとも1つを含む。
【0029】
[定義情報]
NASにおける探索空間の定義情報は、対象タスクの情報、スーパーネットワークの構造、ハイパーパラメータの情報、スーパーネットワークとの対応情報、探索空間が参照する別の探索空間、のうちの少なくとも1つを含む。
【0030】
「対象タスクの情報」は、少なくとも、各ニューラルネットワークが対象とするタスクの種類(例えば、画像分類、物体検出、音声認識、音声合成、テキスト分類等)またはタスクの識別情報のいずれかを含んでもよい。なお、「対象タスクの情報」で特定されるタスクとは異なるタスクに各ニューラルネットワークを利用してもよい。
【0031】
「ハイパーパラメータの情報」は、ニューラルネットワークのアーキテクチャを決定するためのハイパーパラメータの選択肢等である。
【0032】
「スーパーネットワークとの対応情報」は、ハイパーパラメータがスーパーネットワークのどの部分に対応するかを示す対応情報等である。
【0033】
例えば、ハイパーパラメータは、ノードに関するパラメータ、ノードとノードとの間の接続関係に関するパラメータ、ニューラルネットワークの層数、ニューラルネットワークのチャンネル数、ニューラルネットワークの各層で用いられるアルゴリズムの種類等である。
【0034】
「探索空間が参照する別の探索空間」は、探索空間が探索中に参照する別の探索空間である。「探索空間が参照する別の探索空間」は、別の探索空間の識別情報や別の探索空間へのリンク情報であってもよい。
【0035】
例えば、探索空間が参照する別の探索空間は、その探索空間が変更される前の探索空間である。探索空間およびその探索空間の変更前の探索空間が紐づけられているので、探索空間管理装置10は、ある探索空間がどのようにして作られたのかの情報をユーザに提供することができる。また、ユーザは、変更前の探索空間と変更後の探索空間とを比較することができる。
【0036】
例えば、探索空間が参照する別の探索空間は、探索空間に含まれる別の探索空間である。
【0037】
なお、NASにおける探索空間の定義情報は、探索空間が参照する別のニューラルネットワークの識別情報や別のニューラルネットワークへのリンク情報を含んでもよい。
【0038】
[その他]
その他に、データベースは、探索空間に関する情報を含む。例えば、データベースは、探索空間を用いて決定されたニューラルネットワークの評価情報、探索空間の評価情報、探索空間の使用履歴情報のうちの少なくとも1つを含む。例えば、探索空間に関する情報は、ニューラルネットワークの精度やニューラルネットワークでの推論時間等のニューラルネットワークの良し悪しに関する評価情報、探索空間(スーパーネットワーク)の精度や推論時間等の良し悪しに関する評価情報、ニューラルネットワークが学習済みの場合に学習済みの重み、探索空間の作成方法および使用方法(例えば、サンプリングされたニューラルネットワーク)の履歴情報(例えば、いつ誰が探索を行ったか、探索設定等)等である。そのため、ユーザは、探索空間を分析したり、事前学習したりすることができる。なお、探索空間に関する情報は、ユーザ21によって指定されてもよいし、探索空間管理装置10によって指定されてもよい。
【0039】
<方法>
以下、図4を参照しながら探索空間の登録処理について説明し、図5を参照しながら探索空間の変更・紐付け処理について説明する。
【0040】
[登録処理]
図4は、本開示の一実施形態に係る探索空間の登録処理のフローチャートである。
【0041】
ステップ11(S11)において、探索空間管理装置10(定義情報取得部101および識別情報取得部102)は、NASにおける探索空間の定義情報、および、NASにおける探索空間の識別情報を取得する。
【0042】
ステップ12(S12)において、探索空間管理装置10(探索空間登録部103)は、S11で取得された定義情報および識別情報を含む探索空間を、検索可能なデータベースに含まれる情報として記憶装置105Aと記憶装置105Bのうちの少なくとも1つに記憶させる。
【0043】
<探索空間の管理>
探索空間がデータベース化されるため、ユーザは適切な探索空間を探して選ぶことが容易になる。
・例えば、名前(例えば、探索空間一覧)で探すことができる。
・例えば、ラベルで探すことができる(例えば、物体検出(対象タスクの情報)のラベルがついているものを探す)。
・例えば、メトリクスで探すことができる(例えば、レイテンシが30ms以下のアーキテクチャを含む探索空間を探す)。
・例えば、https://arxiv.org/pdf/2003.13678.pdfの論文にあるようなEDF(例えば、図A,B,Cがそれぞれ異なる探索空間)やパレートフロント図等で、候補探索空間群を並べて可視化して、ユーザがその中から自分に適したものを選ぶことができる。
【0044】
[変更処理]
図5は、本開示の一実施形態に係る探索空間の変更・紐付け処理のフローチャートである。
【0045】
ステップ21(S21)において、探索空間管理装置10(探索空間変更部104)は、NASにおける探索空間の定義情報、および、NASにおける探索空間の識別情報を含む、記憶装置105Aと記憶装置105Bのうちの少なくとも1つに記憶されているデータベースから、所望の探索空間を取得する。
【0046】
具体的には、探索空間変更部104は、ユーザ21がユーザ端末20に入力した、所望の探索空間を取得するための情報(例えば、所望の探索空間を取得するための条件、探索空間のID、探索空間の名称、探索空間のラベル、探索空間のメトリクス等)を、ユーザ端末20から取得する。次に、探索空間変更部104は、所望の探索空間を取得するための情報に基づいて、記憶装置105Aと記憶装置105Bのうちの少なくとも1つに記憶されているデータベースから所望の探索空間を取得してユーザ端末20に提示する。
【0047】
ステップ22(S22)において、探索空間管理装置10(探索空間変更部104)は、所望の探索空間の少なくとも一部を変更した探索空間の定義情報および識別情報を、所望の探索空間に紐づけて記憶装置105Aと記憶装置105Bのうちの少なくとも1つに記憶させる。
【0048】
具体的には、探索空間変更部104は、ユーザ21がユーザ端末20に入力した、所望の探索空間の少なくとも一部を変更した探索空間の定義情報を、ユーザ端末20から取得する(なお、ユーザ21が探索空間の名称を指定する場合には、探索空間を識別するための情報も取得する)。次に、探索空間変更部104は、所望の探索空間の少なくとも一部を変更した探索空間の定義情報および識別情報を、所望の探索空間に紐づけて記憶装置105Aと記憶装置105Bのうちの少なくとも1つに記憶させる。
【0049】
変更前の探索空間(つまり、所望の探索空間)と変更後の探索空間(つまり、所望の探索空間の少なくとも一部を変更した探索空間)の紐づけは、変更後の探索空間に基づいて変更前の探索空間を特定することができる方法であれば任意の方法でよい。例えば、変更後の探索空間に変更前の探索空間の識別情報を付与してもよいし、変更後の探索空間に変更前の探索空間へのリンク情報を付与してもよい。
【0050】
ここで、所望の探索空間を取得するための条件について説明する。ユーザ21は、探索空間管理装置10がユーザ端末20に提示した、データベースに存在する探索空間を確認して、所望の探索空間を取得するための条件を入力することができる。例えば、所望の探索空間を取得するための条件は、デバイスでの制約(例えば、メモリの使用量等)、タスク、推論の精度や時間等の条件である。探索空間管理装置10は、データベース内に記憶されている情報を参照して、ユーザ21が指定した条件に応じた探索空間を取得することができる。
【0051】
以下、図6および図7を参照しながら、図5の探索空間の変更・紐付け処理を詳細に説明する。
【0052】
図6は、本開示の一実施形態に係る探索空間の変更処理のフローチャートである。所望の探索空間がユーザ端末20に提示されているものとする。
【0053】
ステップ201(S201)において、ユーザ21は、探索空間の変更部分の名称および変更後の定義情報を指定する。具体的には、ユーザ21は、探索空間(スーパーネットワーク)の変更部分の名称(例えば、ニューラルネットワークの層数、ニューラルネットワークのチャンネル数、ニューラルネットワークの各層で用いられるアルゴリズムの種類等)、および、変更後の定義情報(具体的には、変更後のハイパーパラメータの選択肢)をユーザ端末20に入力する。
【0054】
ステップ202(S202)において、ユーザ端末20は、S201でユーザ21が入力した探索空間の変更部分の名称および変更後の定義情報を、探索空間管理装置10へ送信する。
【0055】
図7は、本開示の一実施形態に係る探索空間の紐付け処理のフローチャートである。
【0056】
ステップ211(S211)において、探索空間管理装置10は、探索空間の変更部分の名称および変更後の定義情報を、ユーザ端末20から受信する。
【0057】
ステップ212(S212)において、探索空間管理装置10は、変更前の探索空間(つまり、ユーザ端末20に提示された所望の探索空間)の識別情報と、変更後の探索空間の識別情報と、S211で受信した変更後の定義情報と、を紐づけてデータベースに記憶させる。
【0058】
変更前の探索空間(つまり、所望の探索空間)と変更後の探索空間(つまり、所望の探索空間の少なくとも一部を変更した探索空間)の紐づけは、変更後の探索空間に基づいて変更前の探索空間を特定することができる方法であれば任意の方法でよい。例えば、変更後の探索空間に変更前の探索空間の識別情報を付与してもよいし、変更後の探索空間に変更前の探索空間へのリンク情報を付与してもよい。
【0059】
このような変更前の探索空間と変更後の探索空間の紐づけに基づいて、ユーザ端末20は、変更後の探索空間から変更前の探索空間を呼び出す、あるいは、変更前の探索空間から変更後の探索空間を呼び出すことができる。探索空間管理装置10は、ユーザ端末20からの指示に基づいて、変更前の探索空間と変更後の探索空間の紐づけに基づいて、所定の探索空間に紐づけられた探索空間を取得し利用することができる。
【0060】
<タスク>
例えば、ユーザは、他のタスクで実績のある探索空間を別のタスクに流用することができる。その際、上述したように探索空間の少なくとも一部を変更することができる。探索空間管理装置10は、変更後の探索空間を変更前の探索空間と紐づけて管理する(この場合、変更前の探索空間のタスクと変更後の探索空間のタスクは異なる)ことができる。
【0061】
<コード例>
以下、探索空間を定義するコードの例を説明する。"Inverted Residual Block"と呼ばれる、深層学習で用いられるビルディングブロックの2つのパラメータを計6パターンから選ぶような探索空間の定義の例である。実際には、これらを繰り返したり、別のビルディングブロックを組み合わせたりして、さらに複雑な探索空間を記述することができる。
【0062】
<<例1>>
図8は、本開示の一実施形態に係る探索空間を定義するコードの一例(例1)である。例1は、どのようなユーザでも使いやすい簡易なAPI(Application Programming Interface)である。
【0063】
具体的は、1行目の「module1 = optunas.nn.Choice(」は、module_dictの6つのInvertedResidualから1つを選んで実行することを示している。2行目の「name="module1",」は、部分的な探索空間の名称がmodule1であることを示している。3行目の「module_dict={」は、6つのInvertedResidualをmodule_dictに入力することを示している。4行目の「f"k{k}_er{er}": InvertedResidual(ksize=k, er=er)」は、モジュールの名前とモジュールとを対応付けている(kはカーネルサイズ、erはexpansion ratioを示す)。5行目以降の「for k, er in itertools.product([1, 3, 5], [3, 6])},)」は、kとerの全ての組み合わせを取ることを示している。なお、1つの探索空間(スーパーネットワーク)に複数の「Choice」が含まれていてもよい。
【0064】
<<例2>>
図9は、本開示の一実施形態に係る探索空間を定義するコードの一例(例2)である。例2は、探索アルゴリズムにヒントを与えたり、また、複雑なグラフ構造を探索したりできるAPI(Application Programming Interface)である。
【0065】
具体的は、1行目の「(x,) = wire.input_args(1)」は、1つの入力があることを示している。2行目の「(ksize,) = wire.create_wire("ksize", ["1", "3", "5"], ordered=True)」は、スーパーネットワークのカーネルサイズの"1","3","5"(テキスト)の間には順番に大きくなる順序関係があることを示している。3行目の「(er,) = wire.create_wire("er", ["3", "6"], ordered=True)」は、スーパーネットワークのexpansion ratioの"3","6"(テキスト)の間には順番に大きくなる順序関係があることを示している。
【0066】
<効果>
・このように、本開示の一実施形態では、定義した探索空間をデータベースに登録しておき、NASの実行時に登録された種々の探索空間を参照することができる。さらに、ユーザは、登録された探索空間を変更して、変更後の探索空間を変更前の探索空間に紐づけることができるので、探索空間を動的に追加して管理することができる。ユーザは、実績のある良い探索空間を把握して再利用することができる。
・探索空間を組み合わせ可能かつカスタマイズ可能な構成要素として管理し、別の探索空間を参照することができるので、1つの探索空間が別々のプロジェクトや色々なタスク(例えば、画像分類用の探索空間を物体検出のバックボーンネットワークに適用)で利用可能となる。
【0067】
<実施形態の一例>
[1]少なくとも1つのプロセッサが実行する方法であって、
NAS(Neural Architecture Search)における探索空間の定義情報、および、前記探索空間の識別情報を取得することと、
前記探索空間を、検索可能なデータベースに含まれる情報として少なくとも1つの記憶装置に記憶させることと、
を含む方法。
[2]少なくとも1つのプロセッサが実行する方法であって、
NAS(Neural Architecture Search)における探索空間の定義情報、および、前記探索空間の識別情報を含む、少なくとも1つの記憶装置に記憶されたデータベースから、所望の探索空間を取得することと、
前記所望の探索空間の少なくとも一部を変更した探索空間を、前記所望の探索空間に紐づけて前記少なくとも1つの記憶装置に記憶させることと、
を含む方法。
[3]前記データベースは、NAS(Neural Architecture Search)を実行するソフトウェアから読み出し可能である、
[1]または[2]に記載の方法。
[4]前記変更後の探索空間の定義情報は、対象タスクの情報、ハイパーパラメータの情報、ニューラルネットワークの重み情報、前記変更後の探索空間が参照する別の探索空間の情報、のうちの少なくとも1つを含む、
[1]または[2]に記載の方法。
[5]前記変更後の探索空間の識別情報は、前記変更後の探索空間のID、前記変更後の探索空間の名称、のうちの少なくとも1つを含む、
[1]または[2]に記載の方法。
[6]前記変更後の探索空間は、経路に複数の選択肢を有し、計算の経路を選択することで所定のニューラルネットワークの出力値が計算可能になるネットワークで表現される、
[1]または[2]に記載の方法。
[7]前記変更後の探索空間の定義情報は、ニューラルネットワークの識別情報を含む、
[1]または[2]に記載の方法。
[8]前記データベースは、前記探索空間を用いて決定されたニューラルネットワークの評価情報、前記探索空間の評価情報、前記探索空間の使用履歴情報のうちの少なくとも1つを含む、
[1]または[2]に記載の方法。
[9]前記変更後の探索空間は、検索可能な情報として前記データベースに追加される、
[2]に記載の方法。
[10]前記少なくとも1つのプロセッサは、前記紐づけの情報に基づいて、前記変更後の探索空間から前記所望の探索空間を呼び出す、または、前記所望の探索空間から前記変更後の探索空間を呼び出す、
[2]または[9]に記載の方法。
[11]少なくとも1つのプロセッサを備えた探索空間管理装置であって、
前記少なくとも1つのプロセッサは、
NAS(Neural Architecture Search)における探索空間の定義情報、および、前記探索空間の識別情報を取得し、
前記探索空間を、検索可能なデータベースに含まれる情報として少なくとも1つの記憶装置に記憶させる、探索空間管理装置。
[12]少なくとも1つのプロセッサを備えた探索空間管理装置であって、
前記少なくとも1つのプロセッサは、
NAS(Neural Architecture Search)における探索空間の定義情報、および、前記探索空間の識別情報を含む、少なくとも1つの記憶装置に記憶されたデータベースから、所望の探索空間を取得し、
前記所望の探索空間の少なくとも一部を変更した探索空間を、前記所望の探索空間に紐づけて前記少なくとも1つの記憶装置に記憶させる、探索空間管理装置。
[13]少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
NAS(Neural Architecture Search)における探索空間の定義情報、および、前記探索空間の識別情報を含む、少なくとも1つの記憶装置に記憶されたデータベースから、所望の探索空間を取得するための条件の入力を受け付け、
前記条件に基づき取得された前記所望の探索空間の少なくとも一部を変更した探索空間を、前記所望の探索空間に紐づけて前記少なくとも1つの記憶装置に記憶させるよう要求する、
ユーザ端末。
[14]前記少なくとも1つのプロセッサは、
前記紐づけの情報に基づいて、前記所望の探索空間から前記変更後の探索空間を呼び出す、または、前記変更後の探索空間から前記所望の探索空間を呼び出す、
[13]に記載のユーザ端末。
【0068】
前述した実施形態における各装置(探索空間管理装置10又はユーザ端末20)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、CD-ROM(Compact Disc-Read Only Memory)、USB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアの処理の全部又は一部がASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の回路に実装されることにより、当該ソフトウェアによる情報処理がハードウェアにより実行されてもよい。
【0069】
ソフトウェアを収納する記憶媒体は、光ディスク等の着脱可能なものでもよいし、ハードディスク、メモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし(主記憶装置、補助記憶装置等)、コンピュータ外部に備えられてもよい。
【0070】
図10は、前述した実施形態における各装置(探索空間管理装置10又はユーザ端末20)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ1001と、主記憶装置1002(メモリ)と、補助記憶装置1003(メモリ)と、ネットワークインタフェース1004と、デバイスインタフェース1005と、を備え、これらがバスBを介して接続されたコンピュータ1000として実現されてもよい。
【0071】
図10のコンピュータ1000は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図10では、1台のコンピュータ1000が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース1004等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(探索空間管理装置10又はユーザ端末20)は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
【0072】
前述した実施形態における各装置(探索空間管理装置10又はユーザ端末20)の各種演算は、1又は複数のプロセッサを用いて、又はネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ1000と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実現されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
【0073】
プロセッサ1001は、少なくともコンピュータの制御又は演算のいずれかを行う電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、ASIC等)であってもよい。また、プロセッサ1001は、汎用プロセッサ、特定の演算を実行するために設計された専用の処理回路又は汎用プロセッサと専用の処理回路との両方を含む半導体装置のいずれであってもよい。また、プロセッサ1001は、光回路を含むものであってもよいし、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0074】
プロセッサ1001は、コンピュータ1000の内部構成の各装置等から入力されたデータやソフトウェアに基づいて演算処理を行ってもよく、演算結果や制御信号を各装置等に出力してもよい。プロセッサ1001は、コンピュータ1000のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ1000を構成する各構成要素を制御してもよい。
【0075】
前述した実施形態における各装置(探索空間管理装置10又はユーザ端末20)は、1又は複数のプロセッサ1001により実現されてもよい。ここで、プロセッサ1001は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0076】
主記憶装置1002は、プロセッサ1001が実行する命令及び各種データ等を記憶してもよく、主記憶装置1002に記憶された情報がプロセッサ1001により読み出されてもよい。補助記憶装置1003は、主記憶装置1002以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ又は不揮発性メモリのいずれでもよい。前述した実施形態における各装置(探索空間管理装置10又はユーザ端末20)において各種データ等を保存するための記憶装置は、主記憶装置1002又は補助記憶装置1003により実現されてもよく、プロセッサ1001に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部は、主記憶装置1002又は補助記憶装置1003により実現されてもよい。
【0077】
前述した実施形態における各装置(探索空間管理装置10又はユーザ端末20)が、少なくとも1つの記憶装置(メモリ)と、この少なくとも1つの記憶装置に接続(結合)される少なくとも1つのプロセッサで構成される場合、記憶装置1つに対して、少なくとも1つのプロセッサが接続されてもよい。また、プロセッサ1つに対して、少なくとも1つの記憶装置が接続されてもよい。また、複数のプロセッサのうち少なくとも1つのプロセッサが、複数の記憶装置のうち少なくとも1つの記憶装置に接続される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
【0078】
ネットワークインタフェース1004は、無線又は有線により、通信ネットワークNに接続するためのインタフェースである。ネットワークインタフェース1004は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース1004により、通信ネットワークNを介して接続された外部装置1010Aと情報のやり取りが行われてもよい。なお、通信ネットワークNは、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか又はそれらの組み合わせであってよく、コンピュータ1000と外部装置1010Aとの間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
【0079】
デバイスインタフェース1005は、外部装置1010Bと直接接続するUSB等のインタフェースである。
【0080】
外部装置1010Aはコンピュータ1000とネットワークを介して接続されている装置である。外部装置1010Bはコンピュータ1000と直接接続されている装置である。
【0081】
外部装置1010A又は外部装置1010Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、タッチパネル等のデバイスであり、取得した情報をコンピュータ1000に与える。また、パーソナルコンピュータ、タブレット端末、スマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
【0082】
また、外部装置1010A又は外部装置1010Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
【0083】
また、外部装置1010Aまた外部装置1010Bは、記憶装置(メモリ)であってもよい。例えば、外部装置1010Aはネットワークストレージ等であってもよく、外部装置1010BはHDD等のストレージであってもよい。
【0084】
また、外部装置1010A又は外部装置1010Bは、前述した実施形態における各装置(探索空間管理装置10又はユーザ端末20)の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ1000は、外部装置1010A又は外部装置1010Bに処理結果の一部又は全部を送信してもよいし、外部装置1010A又は外部装置1010Bから処理結果の一部又は全部を受信してもよい。
【0085】
本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
【0086】
本明細書(請求項を含む)において、「データを入力として/を用いて/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、データそのものを用いる場合や、データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、データの中間表現等)を用いる場合を含む。また、「データを入力として/を用いて/データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合(同様な表現を含む)、特に断りがない場合、当該データのみに基づいて当該結果が得られる場合や、当該データ以外の他のデータ、要因、条件及び/又は状態にも影響を受けて当該結果が得られる場合を含む。また、「データを出力する」旨が記載されている場合(同様な表現を含む)、特に断りがない場合、データそのものを出力として用いる場合や、データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、各種データの中間表現等)を出力として用いる場合を含む。
【0087】
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0088】
本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ、専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造等が動作Bを実際に実行するように構築(implemented)されていればよい。
【0089】
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」、「有する(having)」等)が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0090】
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」、「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0091】
本明細書において、ある実施形態の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施形態についても当該効果が得られると理解されるべきである。但し、当該効果の有無は、一般に種々の要因、条件及び/又は状態に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件及び/又は状態が満たされたときに実施形態に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0092】
本明細書(請求項を含む)において、「最大化する(maximize)/最大化(maximization)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化する(minimize)/最小化(minimization)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化する(optimize)/最適化(optimization)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
【0093】
本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現(同様な表現を含む)が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、電子回路を含む装置等を含んでよい。
【0094】
本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置のうち個々の記憶装置は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。また、複数の記憶装置のうち一部の記憶装置がデータを記憶する構成を含んでもよい。
【0095】
本明細書(請求項を含む)において、「第1の」、「第2の」等の用語は、単に2つ以上の要素間を区別する方法として使用されており、その対象に対して時間的態様、空間的態様、順序、量等の技術的意味を課すことを必ずしも意図するものではない。したがって、例えば、第1の要素及び第2の要素への参照は、2つの要素のみがそこで採用され得ること、第1の要素が第2の要素に先行しなければならないこと、第2の要素が存在するために第1の要素が存在しなければならないこと等を必ずしも意味するものではない。
【0096】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において、種々の追加、変更、置き換え、部分的削除等が可能である。例えば、前述した実施形態において、数値又は数式を説明に用いている場合、これらは例示的な目的で示されたものであり、本開示の範囲を限定するものではない。また、実施形態で示した各動作の順序も例示的なものであり、本開示の範囲を限定するものではない。
【符号の説明】
【0097】
1 探索空間管理システム
10 探索空間管理装置
20 ユーザ端末
21 ユーザ
101 定義情報取得部
102 識別情報取得部
103 探索空間登録部
104 探索空間変更部
105A 記憶装置
105B 記憶装置
1001 プロセッサ
1002 主記憶装置(メモリ)
1003 補助記憶装置(メモリ)
1004 ネットワークインタフェース
1005 デバイスインタフェース
1010A 外部装置
1010B 外部装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10