JP2023106081A - モデル生成方法、モデル生成装置、推論プログラム、及び推論装置 - Google Patents
モデル生成方法、モデル生成装置、推論プログラム、及び推論装置 Download PDFInfo
- Publication number
- JP2023106081A JP2023106081A JP2022007218A JP2022007218A JP2023106081A JP 2023106081 A JP2023106081 A JP 2023106081A JP 2022007218 A JP2022007218 A JP 2022007218A JP 2022007218 A JP2022007218 A JP 2022007218A JP 2023106081 A JP2023106081 A JP 2023106081A
- Authority
- JP
- Japan
- Prior art keywords
- graph
- inference
- task
- training
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 117
- 238000010801 machine learning Methods 0.000 claims abstract description 99
- 238000007781 pre-processing Methods 0.000 claims abstract description 44
- 238000012549 training Methods 0.000 claims description 181
- 238000012216 screening Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 101
- 238000003860 storage Methods 0.000 description 56
- 230000000052 comparative effect Effects 0.000 description 25
- 230000008569 process Effects 0.000 description 25
- 238000004891 communication Methods 0.000 description 24
- 230000010365 information processing Effects 0.000 description 18
- 238000009941 weaving Methods 0.000 description 12
- 238000011156 evaluation Methods 0.000 description 10
- 230000006872 improvement Effects 0.000 description 10
- 230000033001 locomotion Effects 0.000 description 10
- 239000000203 mixture Substances 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 8
- 239000000126 substance Substances 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000013078 crystal Substances 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 3
- 238000002910 structure generation Methods 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007721 medicinal effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005676 thermoelectric effect Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】グラフ構造を有するデータに対する推論処理の効率化を図る。【解決手段】本発明の一側面に係るモデル生成装置は、前処理モジュール及びグラフ推論モジュールを備える推論モデルの機械学習を実施する。前処理モジュールは、特徴抽出器及び選抜モジュールを備える。特徴抽出器は、入力グラフに含まれる複数の集合それぞれに属する各要素の特徴量を算出する。選抜モジュールは、算出された各要素の特徴量に基づいて、各要素を始点に延びる1つ以上の枝を選抜し、算出された各要素の特徴量及び枝の選抜結果を示すグラフ情報を集合毎に生成する。グラフ推論モジュールは、微分可能に構成され、かつ生成された各集合のグラフ情報から入力グラフに対するタスクの解を推論する。【選択図】図2
Description
本発明は、モデル生成方法、モデル生成装置、推論プログラム、及び推論装置に関する。
マッチング、経路探索等の様々な推論タスクを解く際、各種の情報を表現するために、グラフを用いる場合がある。グラフは、基本的には、要素(頂点/ノード)及び枝(エッジ)により構成される。枝は、要素間の関係性を示す。推論タスクに応じて、例えば、有向グラフ、2部グラフ、頂点特徴グラフ、ハイパーグラフ等の様々な構造を有するグラフを用いることができる。
一例として、安定マッチング問題を解く場合、2部グラフを用いることができる。安定マッチング問題は、例えば、就職希望者及び雇用主間のマッチング等の両面市場(two sided market)の割り当て問題である。2部グラフは、要素(頂点)集合を2つの部分集合に分割し、各部分集合内の要素同士の間には枝が存在しないように構成されたグラフである。各部分集合は、マッチングを行う対象の属するパーティに対応付けられてよく、各部分集合内の要素(頂点)は、マッチングの対象(例えば、就職希望者/雇用主)に対応付けられてよい。各対象は、他のパーティに属する対象への希望度(例えば、希望順位)を有してよく、希望度は枝により表現されてよい。
マッチングは、一方の部分集合に属する要素及び他方の部分集合に属する要素の組み合わせを示す枝であって、要素を共有しないように割り当てられた枝で構成される枝集合により表現することができる。マッチングを構成する枝集合に対して、当該枝集合に属する枝の組み合わせよりも希望度の高い要素同士の組み合わせが存在する場合、この組み合わせを示す枝は、当該マッチングをブロックする(すなわち、その枝集合により示されるマッチングより好ましいマッチングが他に存在することを示す)。安定マッチング問題の一例では、このようなブロッキングペアを有さず、かつ任意の尺度(例えば、公平性)を満たすように、要素同士の組み合わせが探索される。
他の一例として、複数件の点群データ(2次元/3次元モデル等)間の対応関係を推論する(例えば、同一の要素を特定する)場合、頂点特徴グラフを用いることができる。頂点特徴グラフは、各要素(頂点)が属性を有するように構成されたグラフである。点群データを構成する各点が、各要素に対応する。対応関係を推論することは、例えば、点群の位置合わせ、オプティカルフローの推定、ステレオマッチング等に対応し得る。
典型例として、点群データが2次元又は3次元モデルを示し、2件の点群データ間で同一の点を特定する(すなわち、対応関係を有する点の組み合わせを特定する)場面を想定する。この場合、基本的には、一方の点群データに含まれる各点と対応関係を有する点の候補は、他方の点群データの全ての点である。推論タスクの一例は、その候補の中から対応関係を有する点を特定すること(すなわち、複数の候補の中から対応関係を有する点の組み合わせを推定すること)により構成される。
なお、上記点群データ間の対応関係を推論する等の要素間の関係性が未知である場合、推論前に与えられるグラフ(上記の例では、複数件の点群データ)には、枝が与えられていなくてもよい。この場合、推論タスクを解く際には、対応関係を有し得る要素の組み合わせの全ての候補に枝が張られているとみなしてよい。
従来、このようなグラフで表現されたタスクを解くため、様々なアルゴリズムが開発されてきた。非特許文献1で提案されているGSアルゴリズムは、上記安定マッチング問題を解く古典的な方法の一例として知られている。ただし、このような特定のアルゴリズムによる方法は、タスクの内容が少しでも変更されると使用できなくなるため汎用性に乏しく、また、手作業により構成される部分が多いため、ソルバーの生成コストが高くなってしまう。
そこで、近年、グラフで表現されたタスクを解く汎用的な方法として、ニューラルネットワーク等の機械学習モデルを使用する方法の研究が進められている。例えば、非特許文献2では、5層のニューラルネットワークを用いて、安定マッチング問題を解くことが提案されている。非特許文献3では、機械学習モデルで構成されるWeaveNetを用いて、グラフで表現されたタスクを解く方法が提案されている。このような機械学習モデルを使用する方法によれば、タスクに応じた学習データを用意すれば、当該タスクを解く能力を獲得した学習済みモデル(ソルバー)を生成することができる。そのため、生成されるモデルの汎用性を高めることができ、またソルバーの生成コストを低減することができる。
David Gale, Lloyd S Shapley, "College admissions and the stability of marriage", The American Mathematical Monthly, 69(1):9-15, 1962.
Shira Li, "Deep Learning for Two-Sided Matching Markets", PhD thesis, Harvard University, 2019.
Shusaku Sone, Atsushi Hashimoto, Jiaxin Ma, Rintaro Yanagi, Naoya Chiba, Yoshitaka Ushiku, "WeaveNet: A Differentiable Solver for Non-linear Assignment Problems" [online]、[令和4年1月11日検索]、インターネット<URL: https://openreview.net/forum?id=ktHKpsbsxx>
本件発明者らは、非特許文献2、3等で提案される、グラフ構造を有するデータに対する推論タスクを機械学習モデルにより解く方法には次のような問題点があることを見出した。すなわち、要素の数が増えれば増えるほど、推論処理において参照される枝の数が増大する。一例として、上記安定マッチング問題で、一方の部分集合の要素の数がN個であり、他方の部分集合の要素の数がM個であり、全ての要素間に有向枝で希望度が与えられている場合、参照される枝の数は2MN個となる。他の一例として、上記2件の点群データ間で同一の点を特定するタスクを解くケースにおいて、各件の点群データに含まれる点(要素)の数がN個であり、全ての候補(総当たり)の中から同一の点の組み合わせを特定する場合、参照される枝(候補)の数はN2となる。これにより、推論タスクを解く演算の負荷が増大し、処理の効率が悪化してしまう可能性がある。
本発明は、一側面では、このような事情を鑑みてなされたものであり、その目的は、グラフ構造を有するデータに対する推論タスクを機械学習モデルにより解く際に、処理の効率化を図る技術を提供することである。
本発明は、上述した課題を解決するために、以下の構成を採用する。
すなわち、本発明の一側面に係るモデル生成方法は、コンピュータが、複数の訓練グラフを取得するステップと、取得された前記複数の訓練グラフを使用して、推論モデルの機械学習を実施するステップと、を実行する情報処理方法である。前記推論モデルは、前処
理モジュール及びグラフ推論モジュールを備える。前記前処理モジュールは、特徴抽出器及び選抜モジュールを備える。前記特徴抽出器は、入力グラフに含まれる複数の集合それぞれに属する各要素の特徴量を算出するように構成される。前記選抜モジュールは、算出された前記各要素の特徴量に基づいて、前記各要素を始点に延びる1つ以上の枝を選抜し、かつ算出された前記各要素の特徴量及び選抜された前記1つ以上の枝を示すグラフ情報を集合毎に生成するように構成される。前記グラフ推論モジュールは、微分可能に構成され、かつ生成された前記各集合のグラフ情報から前記入力グラフに対するタスクの解を推論するように構成される。前記機械学習は、前記各訓練グラフを前記入力グラフとして前記前処理モジュールに入力することで前記グラフ推論モジュールより得られる推論の結果が前記各訓練グラフに対する前記タスクの正解に適合するように前記推論モデルを訓練することにより構成される。
理モジュール及びグラフ推論モジュールを備える。前記前処理モジュールは、特徴抽出器及び選抜モジュールを備える。前記特徴抽出器は、入力グラフに含まれる複数の集合それぞれに属する各要素の特徴量を算出するように構成される。前記選抜モジュールは、算出された前記各要素の特徴量に基づいて、前記各要素を始点に延びる1つ以上の枝を選抜し、かつ算出された前記各要素の特徴量及び選抜された前記1つ以上の枝を示すグラフ情報を集合毎に生成するように構成される。前記グラフ推論モジュールは、微分可能に構成され、かつ生成された前記各集合のグラフ情報から前記入力グラフに対するタスクの解を推論するように構成される。前記機械学習は、前記各訓練グラフを前記入力グラフとして前記前処理モジュールに入力することで前記グラフ推論モジュールより得られる推論の結果が前記各訓練グラフに対する前記タスクの正解に適合するように前記推論モデルを訓練することにより構成される。
当該構成に係るモデル生成方法によれば、前処理モジュールを備える訓練済みの推論モデルを生成することができる。前処理モジュールによれば、入力グラフの各要素の特徴量を算出し、算出された各要素の特徴量に基づいて、推論タスクを解く際に参照する枝(要素の組み合わせ)を選抜することができる。すなわち、データに含まれる要素の数が増えても、前処理モジュールによる枝の選抜により、推論処理において参照する枝の数を抑えることができる。したがって、訓練済みの推論モデルにより、グラフ構造を有するデータに対する推論タスクを解く際、処理の効率化を図ることができる。
上記一側面に係るモデル生成方法において、前記各要素の特徴量に基づいて、前記1つ以上の枝を選抜することは、前記各要素からの枝を接続する先の候補となる各候補要素と前記各要素との間の尤度を算出し、かつ算出された尤度に応じて、前記1つ以上の枝を選抜する、ことにより構成されてよい。当該構成によれば、尤度に基づいて推論タスクを解く際に参照する枝を適切に選抜することができ、これにより、推論処理の効率化及び精度の向上を期待することができる。
上記一側面に係るモデル生成方法において、前記各訓練グラフは、有向2部グラフであってよく、前記有向2部グラフに含まれる複数の要素は、2つの部分集合のいずれかに属するように分けられてよい。前記入力グラフの前記複数の集合は、前記有向2部グラフの前記2つの部分集合により構成されてよい。前記各要素の特徴量を算出することは、前記有向2部グラフの前記各要素を始点に延びる枝の特徴から前記各要素の特徴量を算出することにより構成されてよい。当該構成によれば、推論タスクが有向2部グラフにより表現される場面で、推論タスクを解く(解を推論する)処理の効率化を図ることができる。
上記一側面に係るモデル生成方法において、前記タスクは、2つのパーティ間でのマッチングタスクであって、各パーティに属する対象同士の最適なペアリングを決定することであってよい。前記有向2部グラフの前記2つの部分集合は、前記マッチングタスクにおける前記2つのパーティに対応してよい。前記有向2部グラフの前記各部分集合に属する前記要素は、前記各パーティに属する前記対象に対応してよい。当該構成によれば、有向2部グラフで表現される両側マッチングの解を推論する処理の効率化を図ることができる。
上記一側面に係るモデル生成方法において、前記各訓練グラフは、無向2部グラフであってよく、前記無向2部グラフに含まれる複数の要素は、2つの部分集合のいずれかに属するように分けられてよい。前記入力グラフの前記複数の集合は、前記無向2部グラフの前記2つの部分集合により構成されてよい。前記各要素の特徴量を算出することは、前記無向2部グラフの前記各要素に接続する枝の特徴から前記各要素の特徴量を算出することにより構成されてよい。当該構成によれば、推論タスクが無向2部グラフにより表現される場面で、推論タスクを解く処理の効率化を図ることができる。
上記一側面に係るモデル生成方法において、前記タスクは、2つのパーティ間でのマッチングタスクであって、各パーティに属する対象同士の最適なペアリングを決定することであってよい。前記無向2部グラフの前記2つの部分集合は、前記マッチングタスクにおける前記2つのパーティに対応してよい。前記無向2部グラフの前記各部分集合に属する前記要素は、前記各パーティに属する前記対象に対応してよい。当該構成によれば、無向2部グラフで表現される片側マッチングの解を推論する処理の効率化を図ることができる。
上記一側面に係るモデル生成方法において、前記各訓練グラフは、有向グラフであってよい。前記入力グラフの前記複数の集合は、第1集合及び第2集合により構成されてよい。前記第1集合に属する要素は、前記有向グラフを構成する有向枝の始点に対応してよく、前記第2集合に属する要素は、前記有向枝の終点に対応してよい。前記各要素の特徴量を算出することは、前記第1集合に属する前記要素より流出する有向枝の特徴から前記第1集合に属する前記要素の特徴量を算出すること、及び前記第2集合に属する前記要素に流入する有向枝の特徴から前記第2集合に属する前記要素の特徴量を算出することにより構成されてよい。当該構成によれば、推論タスクが有向グラフにより表現される場面で、推論タスクを解く処理の効率化を図ることができる。
上記一側面に係るモデル生成方法において、前記各訓練グラフは、無向グラフであってよい。前記入力グラフの前記複数の集合は、第1集合及び第2集合により構成されてよい。前記第1集合及び前記第2集合それぞれに属する各要素は、前記無向グラフを構成する各要素に対応してよい。前記各要素の特徴量を算出することは、前記各要素に接続する枝の特徴から前記各要素の特徴量を算出することにより構成されてよい。当該構成によれば、推論タスクが無向グラフにより表現される場面で、推論タスクを解く処理の効率化を図ることができる。
上記一側面に係るモデル生成方法において、前記各訓練グラフは、前記各訓練グラフに含まれる各要素が属性を有するように構成されてよい。前記各要素の特徴量を算出することは、前記各要素の有する属性から前記各要素の特徴量を算出することにより構成されてよい。当該構成によれば、頂点(要素)に特徴(属性)を有する頂点特徴グラフにより推論タスクが表現される場面で、推論タスクを解く処理の効率化を図ることができる。なお、前記タスクは、前記各集合に属する要素間の関係性を推定することであってよい。要素間の関係性を推定することは、例えば、点群の位置合わせ、オプティカルフローの推定、ステレオマッチング等であってよい。これにより、要素間の関係性を推定する処理の効率化を図ることができる。
上記一側面に係るモデル生成方法において、前記各訓練グラフは、前記各訓練グラフに含まれる各要素が属性を有するように構成されてよい。前記各訓練グラフに含まれる前記各要素間の関係性が定義されていてよい。前記各要素の特徴量を算出することは、前記各要素の有する属性及び前記関係性を示す情報から前記各要素の特徴量を算出することにより構成されてよい。当該構成によれば、頂点間の関係性が予め与えられる頂点特徴グラフにより推論タスクが表現される場面で、推論タスクを解く処理の効率化を図ることができる。
上記一側面に係るモデル生成方法において、前記各訓練グラフは、ハイパーグラフであってよく、前記ハイパーグラフに含まれる複数の要素は、3つ以上の部分集合のうちのいずれかに属するように分けられてよい。前記入力グラフの前記複数の集合は、前記ハイパーグラフの前記3つ以上の部分集合により構成されてよい。前記各要素の特徴量を算出することは、前記ハイパーグラフの前記各要素に接続する枝の特徴から前記各要素の特徴量
を算出することにより構成されてよい。当該構成によれば、推論タスクがハイパーグラフにより表現される場面で、推論タスクを解く処理の効率化を図ることができる。
を算出することにより構成されてよい。当該構成によれば、推論タスクがハイパーグラフにより表現される場面で、推論タスクを解く処理の効率化を図ることができる。
また、本発明の形態は、上記モデル生成方法に限られなくてよい。本発明の一側面は、上記いずれかの形態に係るモデル生成方法により生成された訓練済みの推論モデルを使用して、グラフに対するタスクの解を推論するステップを含む推論方法であってよい。例えば、本発明の一側面に係る推論方法は、コンピュータが、対象グラフを取得するステップと、機械学習により訓練済みの推論モデルを使用して、取得された前記対象グラフに対するタスクの解を推論するステップと、前記タスクの解を推論した結果に関する情報を出力するステップと、を実行する情報処理方法である。推論モデルは、上記と同様に構成される。前記対象グラフに対するタスクの解を推論することは、前記対象グラフを前記入力グラフとして前記前処理モジュールに入力して、前記タスクの解を推論した結果を前記グラフ推論モジュールから得ることにより構成される。当該構成によれば、訓練済みの推論モデルによりタスクの解を推論する際に処理の効率化を図ることができる。なお、推論方法は、適用場面におけるタスクの種類に応じて、例えば、マッチング方法、予測方法等と読み替えられてよい。その他の形態(例えば、推論装置等)に関しても同様である。
また、上記各形態に係るモデル生成方法及び推論方法それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理装置(モデル生成装置、推論装置)であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面は、モデル生成装置及び推論装置により構成される推論システムであってもよい。
例えば、本発明の一側面に係るモデル生成装置は、複数の訓練グラフを取得するように構成される取得部と、取得された前記複数の訓練グラフを使用して、推論モデルの機械学習を実施するように構成される学習処理部と、を備える。また、例えば、本発明の一側面に係るモデル生成プログラムは、コンピュータに、複数の訓練グラフを取得するステップと、取得された前記複数の訓練グラフを使用して、推論モデルの機械学習を実施するステップと、を実行させるためのプログラムである。推論モデルは、上記と同様に構成される。前記機械学習は、前記各訓練グラフを前記入力グラフとして前記前処理モジュールに入力することで前記グラフ推論モジュールより得られる推論の結果が前記各訓練グラフに対する前記タスクの正解に適合するように前記推論モデルを訓練することにより構成される。
例えば、本発明の一側面に係る推論装置は、対象グラフを取得するように構成される取得部と、機械学習により訓練済みの推論モデルを使用して、取得された前記対象グラフに対するタスクの解を推論するように構成される推論部と、前記タスクの解を推論した結果に関する情報を出力するように構成される出力部と、を備える。また、例えば、本発明の一側面に係る推論プログラムは、コンピュータに、対象グラフを取得するステップと、機械学習により訓練済みの推論モデルを使用して、取得された前記対象グラフに対するタスクの解を推論するステップと、前記タスクの解を推論した結果に関する情報を出力するステップと、を実行させるためのプログラムである。推論モデルは、上記と同様に構成される。前記対象グラフに対するタスクの解を推論することは、前記対象グラフを前記入力グラフとして前記前処理モジュールに入力して、前記タスクの解を推論した結果を前記グラフ推論モジュールから得ることにより構成される。
本発明によれば、グラフ構造を有するデータに対する推論タスクを機械学習モデルにより解く際に、処理の効率化を図ることができる。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良及び変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
§1 適用例
図1は、本発明を適用した場面の一例を模式的に例示する。図1に示されるとおり、本実施形態に係る推論システム100は、モデル生成装置1及び推論装置2を備える。
図1は、本発明を適用した場面の一例を模式的に例示する。図1に示されるとおり、本実施形態に係る推論システム100は、モデル生成装置1及び推論装置2を備える。
(モデル生成装置)
本実施形態に係るモデル生成装置1は、機械学習を実施することで訓練済みの推論モデル5を生成するように構成された1台以上のコンピュータである。具体的に、モデル生成装置1は、複数の訓練グラフ30を取得する。各訓練グラフ30の種類は、推論モデル5に獲得させるタスクを解く能力に応じて適宜選択されてよい。各訓練グラフ30は、例えば、有向2部グラフ、無向2部グラフ、一般有向グラフ、一般無向グラフ、頂点特徴グラフ、ハイパーグラフ等であってよい。各訓練グラフ30のデータ形式は、実施の形態に応じて適宜選択されてよい。各訓練グラフ30は、例えば、画像データ、点群データ、その他グラフ構造を示すデータ等により構成されてもよい。モデル生成装置1は、取得された複数の訓練グラフ30を使用して、推論モデル5の機械学習を実施する。これにより、訓練済みの推論モデル5を生成することができる。
本実施形態に係るモデル生成装置1は、機械学習を実施することで訓練済みの推論モデル5を生成するように構成された1台以上のコンピュータである。具体的に、モデル生成装置1は、複数の訓練グラフ30を取得する。各訓練グラフ30の種類は、推論モデル5に獲得させるタスクを解く能力に応じて適宜選択されてよい。各訓練グラフ30は、例えば、有向2部グラフ、無向2部グラフ、一般有向グラフ、一般無向グラフ、頂点特徴グラフ、ハイパーグラフ等であってよい。各訓練グラフ30のデータ形式は、実施の形態に応じて適宜選択されてよい。各訓練グラフ30は、例えば、画像データ、点群データ、その他グラフ構造を示すデータ等により構成されてもよい。モデル生成装置1は、取得された複数の訓練グラフ30を使用して、推論モデル5の機械学習を実施する。これにより、訓練済みの推論モデル5を生成することができる。
(推論装置)
一方、本実施形態に係る推論装置2は、訓練済みの推論モデル5を使用して、グラフに対するタスクの解を推論するように構成された1台以上のコンピュータである。具体的に、推論装置2は、対象グラフ221を取得する。対象グラフ221は、タスクの解を推論する対象となるグラフであり、その種類は、上記訓練グラフ30と同様に、訓練済みの推論モデル5の獲得した能力に応じて適宜選択されてよい。対象グラフ221のデータ形式も、訓練グラフ30と同様に、実施の形態に応じて適宜選択されてよい。対象グラフ221は、例えば、有向2部グラフ、無向2部グラフ、一般有向グラフ、一般無向グラフ、頂点特徴グラフ、ハイパーグラフ等であってよい。対象グラフ221は、例えば、画像データ、点群データ等により構成されてよい。推論装置2は、機械学習により訓練済みの推論モデル5を使用して、取得された対象グラフ221に対するタスクの解を推論する。そして、推論装置2は、タスクの解を推論した結果に関する情報を出力する。
一方、本実施形態に係る推論装置2は、訓練済みの推論モデル5を使用して、グラフに対するタスクの解を推論するように構成された1台以上のコンピュータである。具体的に、推論装置2は、対象グラフ221を取得する。対象グラフ221は、タスクの解を推論する対象となるグラフであり、その種類は、上記訓練グラフ30と同様に、訓練済みの推論モデル5の獲得した能力に応じて適宜選択されてよい。対象グラフ221のデータ形式も、訓練グラフ30と同様に、実施の形態に応じて適宜選択されてよい。対象グラフ221は、例えば、有向2部グラフ、無向2部グラフ、一般有向グラフ、一般無向グラフ、頂点特徴グラフ、ハイパーグラフ等であってよい。対象グラフ221は、例えば、画像データ、点群データ等により構成されてよい。推論装置2は、機械学習により訓練済みの推論モデル5を使用して、取得された対象グラフ221に対するタスクの解を推論する。そして、推論装置2は、タスクの解を推論した結果に関する情報を出力する。
(推論モデル)
図2は、本実施形態に係る推論モデル5の構成の一例を模式的に示す。図1及び図2に示されるとおり、本実施形態に係る推論モデル5は、前処理モジュール50及びグラフ推論モジュール55により構成される。前処理モジュール50は、特徴抽出器501及び選抜モジュール503を備える。
図2は、本実施形態に係る推論モデル5の構成の一例を模式的に示す。図1及び図2に示されるとおり、本実施形態に係る推論モデル5は、前処理モジュール50及びグラフ推論モジュール55により構成される。前処理モジュール50は、特徴抽出器501及び選抜モジュール503を備える。
本実施形態に係る特徴抽出器501は、入力グラフに含まれる複数の集合それぞれに属
する各要素の特徴量を算出するように構成される。一例では、特徴抽出器501は、入力グラフにおける各集合に属する各要素に関係する特徴から各要素の特徴量を集合毎に算出するように構成されてよい。要素は、グラフの頂点(ノード)に対応する。各要素に関係する特徴は、例えば、各要素に接続する枝の特徴、各要素自身の特徴(属性)等であってよい。
する各要素の特徴量を算出するように構成される。一例では、特徴抽出器501は、入力グラフにおける各集合に属する各要素に関係する特徴から各要素の特徴量を集合毎に算出するように構成されてよい。要素は、グラフの頂点(ノード)に対応する。各要素に関係する特徴は、例えば、各要素に接続する枝の特徴、各要素自身の特徴(属性)等であってよい。
特徴抽出器501は、特徴量を抽出する演算処理を実行するための1つ以上のパラメータであって、機械学習により調整されるパラメータを備える機械学習モデルにより構成されてよい。特徴抽出器501は、例えば、関数式により表現されてよい。これにより、特徴抽出器501は、微分可能に構成されてよい。なお、特徴抽出器501を構成する機械学習モデルの種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。特徴抽出器501を構成する機械学習モデルには、例えば、ニューラルネットワーク等が用いられてよい。ニューラルネットワークの構造は、実施の形態に応じて適宜決定されてよい。ニューラルネットワークを特徴抽出器501に用いる場合、各ノード(ニューロン)間の結合の重み、各ノードの閾値等が、パラメータの一例である。
特徴抽出器501の数は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。一例では、図2に示されるとおり、特徴抽出器501は、入力グラフに含まれる複数の集合のうち少なくとも一部の集合に対して共通に使用されてよい。単純なケースでは、特徴抽出器501は、全ての集合に対して共通に使用されてよい。この場合、前処理モジュール50は、単一の特徴抽出器501を備えてよい。他の一例では、特徴抽出器501は、集合毎に別々に用意されてよい。この場合、前処理モジュール50は、複数の特徴抽出器501を備えてよい。
本実施形態に係る選抜モジュール503は、特徴抽出器501により集合毎に算出された各要素の特徴量に基づいて、各要素を始点に他の集合の他の要素へ延びる1つ以上の枝を選抜するように構成される。更に、選抜モジュール503は、算出された各要素の特徴量及び要素毎に選抜された1つ以上の枝を示すグラフ情報を集合毎に生成するように構成される。図2の一例では、入力グラフは、集合A及び集合Bを含んでおり、特徴抽出器501は、各集合(A、B)の各要素の特徴量(A、B)を算出する。選抜モジュール503は、各集合(A、B)の各要素の特徴量(A、B)に基づいて、各要素を始点に延びる1つ以上の枝を要素毎に選抜し、各集合(A、B)のグラフ情報(A、B)を導出している。グラフ情報は、各要素の特徴量及び枝の選抜結果を示すように構成されていれば、そのデータ形式は、特に限定されなくてよい。一例では、各集合のグラフ情報は、各要素の特徴量及び枝の選抜結果を示す情報を結合する(例えば、cat演算する)ことにより導出
されてよい。
されてよい。
枝選抜の一例では、選抜モジュール503は、要素間に予め枝が与えられているか否かに関係なく、各要素を始点に延びる1つ以上の枝を選抜してよい。すなわち、選抜モジュール503による枝の選抜の結果、入力グラフでは枝が与えられていない要素間に枝が張られてもよい。例えば、対象の集合に属する対象の要素から枝を延ばす先となる要素の候補(以下、「候補要素」とも記載する)は、対象の集合以外の他の集合に属する全ての要素であってよい。選抜モジュール503は、その全ての要素の中から対象の要素と組み合わせて枝を張る候補を選抜する(すなわち、各集合間で枝を張る要素の組み合わせを選抜する)ように構成されてよい。ただし、枝選抜の形態は、このような例に限定されなくてよい。他の一例では、選抜モジュール503は、予め与えられた枝から1つ以上の枝を選抜してよい。
特徴量に基づいて枝を選抜する方法は、タスクの推論に有益な枝を各要素の特徴量から選抜し得るものであれば、特に限定されなくてよく、実施の形態に応じて適宜決定されて
よい。一例では、各要素の特徴量に基づいて、1つ以上の枝を選抜することは、各要素からの枝を接続する先の候補となる各候補要素と各要素との間の尤度を各要素の特徴量から算出すること、及び候補要素毎に算出された尤度に応じて1つ以上の枝を選抜すること、により構成されてよい。これにより、推論タスクを解く際に参照する枝を適切に選抜することができる。なお、尤度は、各要素と各候補要素との組み合わせがタスクの推論に関連する程度を示す。尤度は、例えば、類似度等の他の名称で称されてもよい。
よい。一例では、各要素の特徴量に基づいて、1つ以上の枝を選抜することは、各要素からの枝を接続する先の候補となる各候補要素と各要素との間の尤度を各要素の特徴量から算出すること、及び候補要素毎に算出された尤度に応じて1つ以上の枝を選抜すること、により構成されてよい。これにより、推論タスクを解く際に参照する枝を適切に選抜することができる。なお、尤度は、各要素と各候補要素との組み合わせがタスクの推論に関連する程度を示す。尤度は、例えば、類似度等の他の名称で称されてもよい。
図3は、本実施形態に係る前処理モジュール50の演算過程の一例を模式的に示す。図3では、入力グラフとして人体のモデルを示す2件の点群データ(集合A、集合B)が与えられ、点群データ間で対応する点(要素)の組み合わせを特定する場面を想定する。集合Aの点群データの点(要素)の数はN個であり、集合Bの点群データの点(要素)の数はM個であると想定する。
図3の一例では、まず、前処理モジュール50は、特徴抽出器501により、各集合(A、B)の各要素の特徴量(A、B)を算出する。各要素の特徴量(A、B)は、点群データの点の属性値(例えば、座標等)から算出されてよい。次に、前処理モジュール50は、選抜モジュール503により、各集合(A、B)の各要素に対して、他の集合(B、A)の各候補要素との間の尤度を算出する。尤度を算出する方法は、実施の形態に応じて適宜選択されてよい。本実施形態では、各要素の尤度は、所定の演算により算出されてよい。一例では、選抜モジュール503は、以下の式1の演算式により尤度を算出してよい。
sA n,mは、集合Aの各要素と集合Bの各候補要素との間の尤度を示す。fA nは、集合Aの各要素の特徴量Aを示す。fB mは、集合Bの各要素の特徴量Bを示す。集合Bの各要素と集合Aの各候補要素との間の尤度も同様に算出されてよい。ただし、尤度を算出する方法は、このような例に限られなくてよい。他の一例では、選抜モジュール503は、各要素の特徴量(A、B)の内積により尤度を算出してよい。
続いて、前処理モジュール50は、選抜モジュール503により、算出された尤度に応じて、1つ以上の枝を各集合(A、B)の要素毎に選抜する。枝を選抜する方法は、実施の形態に応じて適宜選抜されてよい。一例では、選抜モジュール503は、要素毎にk個の枝を選抜してもよい。この場合、k個の枝を選抜する方法には、例えば、k近傍法等の任意のアルゴリズムが用いられてよい。他の一例では、集合(A、B)毎に選抜する枝の最大数Kが定められていてもよく、選抜モジュール503は、少なくとも1つ以上の枝(可変数)を要素毎に選抜してもよい。例えば、尤度の高い候補を優先する場合、選抜モジュール503は、尤度の最も高い候補(集合Aの場合、N個)を要素毎に選択した後、尤度の高いものから順に2つ目以降の候補(K-N個)を選出してよい。
そして、前処理モジュール50は、選抜モジュール503により、算出された各要素の特徴量(A、B)及び要素毎に選抜された1つ以上の枝を示す各集合(A、B)のグラフ情報(A、B)を生成する。グラフ情報Aは、集合Aの各要素の特徴量A及び集合Aの各要素に対する枝の選抜結果を示すように適宜構成されてよく、グラフ情報Bは、集合Bの各要素の特徴量B及び集合Bの各要素に対する枝の選抜結果を示すように適宜構成されてよい。なお、枝の選抜結果は、例えば、グラフの種類、枝の選抜方法等に依存し得る。図3の一例では、選抜された枝を実線で示し、選抜されなかった枝を点線で示している。例
えば、集合Aの第1要素については、集合Bの第1要素及び第M要素それぞれとの間の枝が選抜されている。これに対して、集合Bの第1要素については、集合Aの第1要素との間の枝は選抜されておらず、集合Aの第2要素との間の枝が選抜されている。このように、場合によっては、集合A及び集合Bの間で、枝の選抜結果が異なってよい。
えば、集合Aの第1要素については、集合Bの第1要素及び第M要素それぞれとの間の枝が選抜されている。これに対して、集合Bの第1要素については、集合Aの第1要素との間の枝は選抜されておらず、集合Aの第2要素との間の枝が選抜されている。このように、場合によっては、集合A及び集合Bの間で、枝の選抜結果が異なってよい。
図1及び図2に戻り、グラフ推論モジュール55は、微分可能に構成され、かつ生成された各集合のグラフ情報から入力グラフに対するタスクの解を推論するように構成される。グラフ推論モジュール55は、グラフ情報からタスクの解を推論する演算処理を実行するための1つ以上のパラメータであって、機械学習により調整されるパラメータを備える機械学習モデルにより構成されてよい。グラフ推論モジュール55を構成する機械学習モデルの種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。グラフ推論モジュール55を構成する機械学習モデルには、例えば、ニューラルネットワーク等が用いられてよい。ニューラルネットワークの構造は、実施の形態に応じて適宜決定されてよい。ニューラルネットワークをグラフ推論モジュール55に用いる場合、各ノード間の結合の重み、各ノードの閾値等が、パラメータの一例である。
一例では、グラフ推論モジュール55は、参考文献1(Jiaming Sun, Zehong Shen, Yuang Wang, Hujun Bao, Xiaowei Zhou, “LoFTR: Detector-Free Local Feature Matching
with Transformers” [online]、[令和4年1月11日検索]、インターネット<URL: https://arxiv.org/abs/2104.00680>)で提案されるCross-Attention Layerにより構
成されてよい。
with Transformers” [online]、[令和4年1月11日検索]、インターネット<URL: https://arxiv.org/abs/2104.00680>)で提案されるCross-Attention Layerにより構
成されてよい。
他の一例では、グラフ推論モジュール55は、非特許文献3で提案されるWeaveNetにより構成されてよい。この場合、グラフ推論モジュール55は、特徴織込みネットワーク及び推論器を備えてよい。特徴織込みネットワークは、複数の特徴織込み層を備えることで、グラフ情報の入力を受け付けて、特徴情報を出力するように構成されてよい。推論器は、特徴織込みネットワークにより出力される特徴情報からタスクの解を推論するように構成されてよい。各特徴織込み層は、L個の(L+1)階の入力テンソルの入力を受け付けてよい(Lは、2以上の自然数)。L個の入力テンソルのうちのi番目の入力テンソルは、第1軸には、第i番目の集合に属する第i頂点(第i番目の集合に属するi番目の要素)が要素として並び、第2軸から第L軸までの第j軸には、第i番目を起点に循環して第(j-1)番目の集合に属する頂点が要素として並び、かつ第(L+1)軸には、第i番目の集合に属する第i頂点から(L-1)個の他の集合それぞれに属する頂点同士の組み合わせへ流出する枝に関する特徴量が並ぶように構成されてよい。各特徴織込み層は、エンコーダを備えてよい。各特徴織込み層は、第1番目から第L番目までの第i番目の入力テンソルについて、第i番目以外の(L-1)個の他の入力テンソルそれぞれの第(L+1)軸を固定して、第i番目の入力テンソルの各軸と揃うように他の入力テンソルそれぞれの第(L+1)軸以外の他の軸を循環させ、かつ第i番目の入力テンソル及び循環させた当該各他の入力テンソルの各要素の特徴量を連結することにより、L個の(L+1)階の連結テンソルを生成し、並びに生成されたL個の連結テンソルそれぞれを第1軸の要素毎に分割してエンコーダに入力し、エンコーダの演算を実行することで、L個の入力テンソルそれぞれにそれぞれ対応するL個の(L+1)階の出力テンソルを生成するように構成されてよい。エンコーダは、入力される全ての要素の特徴量から各要素の相対的な特徴量を導出するように構成されてよい。複数の特徴織込み層のうちの最初の特徴織込み層は、各集合のグラフ情報から直接的に又は所定の演算を介して間接的にL個の入力テンソルを受け取るように構成されてよい。特徴情報は、複数の特徴織込み層のうちの最後の特徴織込み層から出力されるL個の出力テンソルにより構成されてよい。グラフ推論モジュール55にWeaveNetを採用することで、複雑なタスクであっても、特徴織込みネットワークの階層を深くすることで、タスクの解を推論する精度の向上を図ることができる。
上記モデル生成装置1における機械学習は、各訓練グラフ30を入力グラフとして前処理モジュール50に入力することでグラフ推論モジュール55より得られる推論の結果が各訓練グラフ30に対するタスクの正解(真値)に適合するように推論モデル5を訓練することにより構成される。この機械学習の際、推論モデル5は、グラフ推論モジュール55から特徴抽出器501まで一貫的に訓練されてよい。一方、上記推論装置2における対象グラフ221に対するタスクの解を推論することは、対象グラフ221を入力グラフとして前処理モジュール50に入力して、タスクの解を推論した結果をグラフ推論モジュール55から得ることにより構成される。
(特徴)
以上のとおり、本実施形態に係る推論モデル5では、前処理モジュール50により、入力グラフの各要素の特徴量を算出し、算出された各要素の特徴量に基づいて、推論タスクを解く際に参照する枝を選抜することができる。これにより、データに含まれる要素の数が増えても、前処理モジュール50による枝の選抜により、推論処理において参照する枝の数を抑えることができる。したがって、本実施形態によれば、グラフ構造を有するデータに対する推論タスクを解く際、処理の効率化を図ることができる。本実施形態に係るモデル生成装置1によれば、推論処理を効率的に遂行可能な訓練済みの推論モデル5を生成することができる。本実施形態に係る推論装置2によれば、生成された訓練済みの推論モデル5を使用することで、対象グラフ221に対する推論タスクを効率的に解くことができる。
以上のとおり、本実施形態に係る推論モデル5では、前処理モジュール50により、入力グラフの各要素の特徴量を算出し、算出された各要素の特徴量に基づいて、推論タスクを解く際に参照する枝を選抜することができる。これにより、データに含まれる要素の数が増えても、前処理モジュール50による枝の選抜により、推論処理において参照する枝の数を抑えることができる。したがって、本実施形態によれば、グラフ構造を有するデータに対する推論タスクを解く際、処理の効率化を図ることができる。本実施形態に係るモデル生成装置1によれば、推論処理を効率的に遂行可能な訓練済みの推論モデル5を生成することができる。本実施形態に係る推論装置2によれば、生成された訓練済みの推論モデル5を使用することで、対象グラフ221に対する推論タスクを効率的に解くことができる。
なお、単純には、ルールベースで枝を選抜し、推論処理の効率化を図る方法が考えられる。しかしながら、この方法では、枝を選抜するルールが推論処理に最適とは限らないため、推論処理のパフォーマンスが、その枝を選抜するルールに制限を受けてしまい、精度の悪化を招く恐れがある。これに対して、本実施形態では、推論モデル5の機械学習において、グラフ推論モジュール55から特徴抽出器501まで一貫的に訓練の対象とすることができる。これにより、特徴抽出器501のパフォーマンスを推論処理に最適化することができ、その結果、推論精度の悪化を抑制することができる。したがって、本実施形態によれば、推論の精度を担保した上で、推論処理の効率化を図ることができる。
加えて、特徴量のばらつきに多様性がある場合、その多様性に起因して、推論精度の悪化を招く可能性がある。これに対して、本実施形態では、選抜モジュール503による枝の選抜により、グラフ推論モジュール55により処理する特徴量のばらつきの多様性を抑えることができる。その結果、推論精度の向上を期待することができる。
§2 構成例
[ハードウェア構成]
<モデル生成装置>
図4は、本実施形態に係るモデル生成装置1のハードウェア構成の一例を模式的に例示する。図4に示されるとおり、本実施形態に係るモデル生成装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。
[ハードウェア構成]
<モデル生成装置>
図4は、本実施形態に係るモデル生成装置1のハードウェア構成の一例を模式的に例示する。図4に示されるとおり、本実施形態に係るモデル生成装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、
RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。制御部11(CPU)は、プロセッサ・リソースの一例である。記憶部12は、メモリ・リソースの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、モデル生成プログラム81、複数の訓練グラフ30、学習結果データ125等の各種情報を記憶する。
RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。制御部11(CPU)は、プロセッサ・リソースの一例である。記憶部12は、メモリ・リソースの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、モデル生成プログラム81、複数の訓練グラフ30、学習結果データ125等の各種情報を記憶する。
モデル生成プログラム81は、訓練済みの推論モデル5を生成する後述の機械学習の情報処理(図8)をモデル生成装置1に実行させるためのプログラムである。モデル生成プログラム81は、当該情報処理の一連の命令を含む。複数の訓練グラフ30は、推論モデル5の機械学習に使用される。学習結果データ125は、機械学習を実施することで生成された訓練済みの推論モデル5に関する情報を示す。本実施形態では、学習結果データ125は、モデル生成プログラム81を実行した結果として生成される。
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。モデル生成装置1は、通信インタフェース13を利用して、他の情報処理装置との間で、ネットワークを介したデータ通信を実行することができる。外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は任意に選択されてよい。訓練グラフ30は、例えば、カメラ等のセンサにより得られてもよい。或いは、訓練グラフ30は、他のコンピュータにより生成されてもよい。これらの場合、モデル生成装置1は、通信インタフェース13及び外部インタフェース14の少なくとも一方を介して、当該センサ又は他のコンピュータに接続されてよい。
入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置15及び出力装置16を利用することで、モデル生成装置1を操作することができる。訓練グラフ30は、入力装置15を介した入力により得られてもよい。入力装置15及び出力装置16は、例えば、タッチパネルディスプレイ等により一体的に構成されてもよい。
ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。上記モデル生成プログラム81及び複数の訓練グラフ30の少なくともいずれかは、記憶媒体91に記憶されていてもよい。モデル生成装置1は、この記憶媒体91から、上記モデル生成プログラム81及び複数の訓練グラフ30の少なくともいずれかを取得してもよい。ここで、図4では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限られなくてもよく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ17の種類は、記憶媒体91の種類に応じて任意に選択されてよい。
なお、モデル生成装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で
構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。モデル生成装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、モデル生成装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。モデル生成装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、モデル生成装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
<推論装置>
図5は、本実施形態に係る推論装置2のハードウェア構成の一例を模式的に例示する。図5に示されるとおり、本実施形態に係る推論装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。
図5は、本実施形態に係る推論装置2のハードウェア構成の一例を模式的に例示する。図5に示されるとおり、本実施形態に係る推論装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。
推論装置2の制御部21~ドライブ27及び記憶媒体92はそれぞれ、上記モデル生成装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部22は、推論プログラム82、学習結果データ125等の各種情報を記憶する。
推論プログラム82は、訓練済みの推論モデル5を使用して推論タスクを遂行する後述の情報処理(図9)を推論装置2に実行させるためのプログラムである。推論プログラム82は、当該情報処理の一連の命令を含む。推論プログラム82及び学習結果データ125の少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、推論装置2は、推論プログラム82及び学習結果データ125の少なくともいずれかを記憶媒体92から取得してもよい。
上記訓練グラフ30と同様に、対象グラフ221は、例えば、カメラ等のセンサにより得られてもよい。或いは、対象グラフ221は、他のコンピュータにより生成されてもよい。これらの場合に、推論装置2は、通信インタフェース23及び外部インタフェース24の少なくとも一方を介して、当該センサ又は他のコンピュータに接続されてよい。対象グラフ221は、入力装置25を介した入力により得られてもよい。
なお、推論装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。推論装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、推論装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、タブレットPC、端末装置等であってもよい。
[ソフトウェア構成]
<モデル生成装置>
図6は、本実施形態に係るモデル生成装置1のソフトウェア構成の一例を模式的に例示する。モデル生成装置1の制御部11は、記憶部12に記憶されたモデル生成プログラム81をRAMに展開する。そして、制御部11は、RAMに展開されたモデル生成プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図6に示されるとおり、本実施形態に係るモデル生成装置1は、取得部111、学習処理部112、及び保存処理部113をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
<モデル生成装置>
図6は、本実施形態に係るモデル生成装置1のソフトウェア構成の一例を模式的に例示する。モデル生成装置1の制御部11は、記憶部12に記憶されたモデル生成プログラム81をRAMに展開する。そして、制御部11は、RAMに展開されたモデル生成プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図6に示されるとおり、本実施形態に係るモデル生成装置1は、取得部111、学習処理部112、及び保存処理部113をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
取得部111は、複数の訓練グラフ30を取得するように構成される。学習処理部112は、取得された複数の訓練グラフ30を使用して、推論モデル5の機械学習を実施するように構成される。推論モデル5は、前処理モジュール50及びグラフ推論モジュール55を備える。機械学習は、各訓練グラフ30を入力グラフとして前処理モジュール50に入力することでグラフ推論モジュール55より得られる推論の結果が各訓練グラフ30に対するタスクの正解(真値)に適合するように推論モデル5を訓練することにより構成される。
推論モデル5を訓練することは、各訓練グラフ30に適合する出力(推論結果)を各訓練グラフ30から導出するように推論モデル5に含まれるパラメータの値を調整(最適化)することにより構成される。機械学習の方法は、採用する機械学習モデルの種類等に応じて適宜選択されてよい。機械学習の方法には、例えば、誤差逆伝播法、最適化問題を解く等の方法が採用されてよい。
本実施形態では、推論モデル5(特徴抽出器501及びグラフ推論モジュール55)にはニューラルネットワークが用いられてよい。この場合、各訓練グラフ30を入力グラフとして前処理モジュール50に入力し、前処理モジュール50及びグラフ推論モジュール55の順方向の演算処理を実行することで、各訓練グラフ30に対する推論結果をグラフ推論モジュール55の出力として得ることができる。学習処理部112は、機械学習の処理において、各訓練グラフ30に対して得られる推論結果と正解との間の誤差が小さくなるように、推論モデル5のパラメータ(例えば、上記特徴抽出器501及びグラフ推論モジュール55のパラメータ)を調整するように構成される。
各訓練グラフ30に対する正解(真値)は、例えば、安定マッチング問題のケースにおけるブロッキングペアを有さない、所定の尺度を満たす、対応関係を有する点同士である等の所定の規則により与えられてよい。或いは、取得された各訓練グラフ30には、正解ラベル(教師信号)が関連付けられてよい。各正解ラベルは、対応する訓練グラフ30に対する推論タスクの正解(真値)を示すように構成されてよい。
保存処理部113は、上記機械学習により生成された訓練済みの推論モデル5に関する情報を学習結果データ125として生成し、生成された学習結果データ125を所定の記憶領域に保存するように構成される。訓練済みの推論モデル5を再生可能であれば、学習結果データ125の構成は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。一例として、学習結果データ125は、上記機械学習の調整により得られた各パラメータの値を示す情報を含んでよい。場合によって、学習結果データ125は、推論モデル5の構造を示す情報を含んでよい。構造は、例えば、層の数、各層の種類、各層に含まれるノードの数、隣接する層のノード同士の結合関係等により特定されてよい。
<推論装置>
図7は、本実施形態に係る推論装置2のソフトウェア構成の一例を模式的に例示する。推論装置2の制御部21は、記憶部22に記憶された推論プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された推論プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図7に示されるとおり、本実施形態に係る推論装置2は、取得部211、推論部212、及び出力部213をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推論装置2の各ソフトウェアモジュールも、モデル生成装置1と同様に、制御部21(CPU)により実現される。
図7は、本実施形態に係る推論装置2のソフトウェア構成の一例を模式的に例示する。推論装置2の制御部21は、記憶部22に記憶された推論プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された推論プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図7に示されるとおり、本実施形態に係る推論装置2は、取得部211、推論部212、及び出力部213をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推論装置2の各ソフトウェアモジュールも、モデル生成装置1と同様に、制御部21(CPU)により実現される。
取得部211は、対象グラフ221を取得するように構成される。推論部212は、学習結果データ125を保持していることで、訓練済みの推論モデル5を備える。推論部2
12は、訓練済みの推論モデル5を使用して、取得された対象グラフ221に対するタスクの解を推論するように構成される。対象グラフ221に対するタスクの解を推論することは、対象グラフ221を入力グラフとして前処理モジュール50に入力して、タスクの解を推論した結果をグラフ推論モジュール55から得ることにより構成される。出力部213は、タスクの解を推論した結果に関する情報を出力するように構成される。
12は、訓練済みの推論モデル5を使用して、取得された対象グラフ221に対するタスクの解を推論するように構成される。対象グラフ221に対するタスクの解を推論することは、対象グラフ221を入力グラフとして前処理モジュール50に入力して、タスクの解を推論した結果をグラフ推論モジュール55から得ることにより構成される。出力部213は、タスクの解を推論した結果に関する情報を出力するように構成される。
<その他>
モデル生成装置1及び推論装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル生成装置1及び推論装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、上記ソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサ(例えば、グラフィックスプロセッシングユニット)により実現されてもよい。上記各モジュールは、ハードウェアモジュールとして実現されてもよい。また、モデル生成装置1及び推論装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
モデル生成装置1及び推論装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル生成装置1及び推論装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、上記ソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサ(例えば、グラフィックスプロセッシングユニット)により実現されてもよい。上記各モジュールは、ハードウェアモジュールとして実現されてもよい。また、モデル生成装置1及び推論装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
§3 動作例
[モデル生成装置]
図8は、本実施形態に係るモデル生成装置1による機械学習に関する処理手順の一例を示すフローチャートである。以下で説明するモデル生成装置1の処理手順は、モデル生成方法の一例である。ただし、以下で説明するモデル生成装置1の処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が行われてよい。
[モデル生成装置]
図8は、本実施形態に係るモデル生成装置1による機械学習に関する処理手順の一例を示すフローチャートである。以下で説明するモデル生成装置1の処理手順は、モデル生成方法の一例である。ただし、以下で説明するモデル生成装置1の処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が行われてよい。
(ステップS101)
ステップS101では、制御部11は、取得部111として動作し、複数の訓練グラフ30を取得する。
ステップS101では、制御部11は、取得部111として動作し、複数の訓練グラフ30を取得する。
各訓練グラフ30は、推論モデル5に獲得させるタスクの推論能力に応じて適宜生成されてよい。タスクを解く対象の条件が適宜与えられてよく、各訓練グラフ30は、与えられた条件から生成されてよい。各訓練グラフ30は、既存の交通網、既存の通信ネットワーク等を示す既存のデータから得られてもよい。各訓練グラフ30は、画像データから得られてよい。画像データは、カメラにより得られてもよいし、或いはコンピュータにより適宜生成されてもよい。また、各訓練グラフ30は、2次元又は3次元モデルを示す点群データから得られてよい。
各訓練グラフ30のデータ形式は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例では、各訓練グラフ30は、隣接リスト又は隣接行列により構成されてよい。他の一例では、各訓練グラフ30は、隣接リスト及び隣接行列以外の他のデータ形式(例えば、画像データ、点群データ等)で構成されてよい。他の一例として、各訓練グラフ30は、画像データにより構成されてよい。この場合、各画素が要素(頂点)に対応してよく、画素間の関係性が枝に対応してよい。更に他の一例として、各訓練グラフ30は、点群データにより構成されてよい。この場合、点群データに含まれる各点が要素に対応してよい。
各訓練グラフ30に対する正解(真値)は適宜与えられてよい。一例では、正解(真値)は、所定の規則により与えられてよい。その他の一例では、正解(真値)は、正解ラベル(教師信号)により示されてよい。この場合、各訓練グラフ30に対応する正解ラベルが適宜生成されてよく、生成された正解ラベルは各訓練グラフ30に関連付けられてよい。これにより、各訓練グラフ30は、正解ラベルが関連付けられたデータセットの形式で
生成されてもよい。
生成されてもよい。
各訓練グラフ30は、コンピュータの動作により自動的に生成されてもよいし、或いは少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。また、各訓練グラフ30の生成は、モデル生成装置1により行われてもよいし、或いはモデル生成装置1以外の他のコンピュータにより行われてもよい。すなわち、制御部11は、自動的に又は入力装置15を介したオペレータの操作により手動的に各訓練グラフ30を生成してよい。或いは、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された各訓練グラフ30を取得してよい。複数の訓練グラフ30の一部がモデル生成装置1により生成され、その他が1又は複数の他のコンピュータにより生成されてよい。複数の訓練グラフ30のうちの少なくともいずれかは、例えば、機械学習モデルにより構成される生成モデル(例えば、敵対的生成ネットワークに含まれる生成モデル)により生成されてもよい。
取得する訓練グラフ30の数は、特に限定されなくてよく、機械学習を実施可能なように実施の形態に応じて適宜決定されてよい。複数の訓練グラフ30を取得すると、制御部11は、次のステップS102に処理を進める。
(ステップS102)
ステップS102では、制御部11は、学習処理部112として動作し、取得された複数の訓練グラフ30を使用して、推論モデル5の機械学習を実施する。
ステップS102では、制御部11は、学習処理部112として動作し、取得された複数の訓練グラフ30を使用して、推論モデル5の機械学習を実施する。
機械学習の処理の一例として、まず、制御部11は、機械学習の処理対象となる推論モデル5の初期設定を行う。推論モデル5の構造及びパラメータの初期値は、テンプレートにより与えられてもよいし、或いはオペレータの入力により決定されてもよい。また、追加学習又は再学習を行う場合、制御部11は、過去の機械学習により得られた学習結果データに基づいて、推論モデル5の初期設定を行ってよい。
次に、制御部11は、機械学習により、各訓練グラフ30に対してタスクの解を推論した結果が正解(真値)に適合するように推論モデル5を訓練する(すなわち、推論モデル5のパラメータの値を調整する)。この訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
訓練処理の一例として、まず、制御部11は、各訓練グラフ30を推論モデル5に入力し、順方向の演算処理を実行する。一例では、制御部11は、各訓練グラフ30の各集合に属する各要素に関係する特徴(例えば、各要素に接続する枝の特徴、各要素自身の特徴)を示す情報を特徴抽出器501に入力し、特徴抽出器501の演算処理を実行する。これにより、制御部11は、各要素の特徴量を集合毎に算出する。続いて、制御部11は、集合毎に算出された各要素の特徴量を選抜モジュール503に入力し、選抜モジュール503の演算処理を実行する。選抜モジュール503では、制御部11は、各要素の特徴量に基づいて、各要素を始点に延びる1つ以上の枝を選抜する。本実施形態では、制御部11は、各要素と各候補要素との間の尤度を特徴量から算出し、算出された尤度に応じて、1つ以上の枝を要素毎に選抜してよい。制御部11は、算出された各要素の特徴量及び選抜された1つ以上の枝を示すグラフ情報を集合毎に生成する。そして、制御部11は、集合毎に生成されたグラフ情報をグラフ推論モジュール55に入力し、グラフ推論モジュール55の演算処理を実行する。この一連の順方向の演算処理により、制御部11は、各訓練グラフ30に対するタスクの解の推論結果をグラフ推論モジュール55から取得する。
次に、制御部11は、得られた推論結果と対応する正解との間の誤差を算出する。誤差の算出には、損失関数が用いられてよい。損失関数は、例えば、タスク、正解の形式等に
応じて適宜設定されてよい。制御部11は、算出された誤差の勾配を算出する。制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、推論モデル5のパラメータの値の誤差を出力側から順に算出する。制御部11は、算出された各誤差に基づいて、推論モデル5の各パラメータの値を更新する。一例では、推論モデル5のパラメータは、グラフ推論モジュール55及び前処理モジュール50(特徴抽出器501)の各パラメータを含み、制御部11は、グラフ推論モジュール55から特徴抽出器501まで一貫的に各パラメータの値を更新してよい。各パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。
応じて適宜設定されてよい。制御部11は、算出された誤差の勾配を算出する。制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、推論モデル5のパラメータの値の誤差を出力側から順に算出する。制御部11は、算出された各誤差に基づいて、推論モデル5の各パラメータの値を更新する。一例では、推論モデル5のパラメータは、グラフ推論モジュール55及び前処理モジュール50(特徴抽出器501)の各パラメータを含み、制御部11は、グラフ推論モジュール55から特徴抽出器501まで一貫的に各パラメータの値を更新してよい。各パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。
制御部11は、上記一連の更新処理により、各訓練グラフ30について、算出される誤差の和が小さくなるように、各パラメータの値を調整する。例えば、規定回数実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで、制御部11は、上記一連の更新処理による各パラメータの値の調整を繰り返してもよい。この機械学習の処理の結果として、制御部11は、使用した訓練グラフ30に応じた所望の推論タスクを遂行する(すなわち、与えられたグラフに対してタスクの解を推論する)能力を獲得した訓練済みの推論モデル5を生成することができる。機械学習の処理が完了すると、制御部11は、次のステップS103に処理を進める。
(ステップS103)
ステップS103では、制御部11は、保存処理部113として動作し、機械学習により生成された訓練済みの推論モデル5に関する情報を学習結果データ125として生成する。そして、制御部11は、生成された学習結果データ125を所定の記憶領域に保存する。
ステップS103では、制御部11は、保存処理部113として動作し、機械学習により生成された訓練済みの推論モデル5に関する情報を学習結果データ125として生成する。そして、制御部11は、生成された学習結果データ125を所定の記憶領域に保存する。
所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ17を介して記憶メディアに学習結果データ125を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに学習結果データ125を格納してもよい。また、外部記憶装置は、例えば、外部インタフェース14を介してモデル生成装置1に接続された外付けの記憶装置であってもよい。
学習結果データ125の保存が完了すると、制御部11は、本動作例に係るモデル生成装置1の処理手順を終了する。
なお、生成された学習結果データ125は、任意のタイミングで推論装置2に提供されてよい。例えば、制御部11は、ステップS103の処理として又はステップS103の処理とは別に、学習結果データ125を推論装置2に転送してもよい。推論装置2は、この転送を受信することで、学習結果データ125を取得してもよい。また、例えば、推論装置2は、通信インタフェース23を利用して、モデル生成装置1又はデータサーバにネットワークを介してアクセスすることで、学習結果データ125を取得してもよい。また、例えば、推論装置2は、記憶媒体92を介して、学習結果データ125を取得してもよい。また、例えば、学習結果データ125は、推論装置2に予め組み込まれてもよい。
更に、制御部11は、上記ステップS101~ステップS103の処理を定期又は不定期に繰り返すことで、学習結果データ125を更新又は新たに生成してもよい。この繰り返しの際に、機械学習に使用する訓練グラフ30の少なくとも一部の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した学習
結果データ125を任意の方法で推論装置2に提供することで、推論装置2の保持する学習結果データ125を更新してもよい。
結果データ125を任意の方法で推論装置2に提供することで、推論装置2の保持する学習結果データ125を更新してもよい。
[推論装置]
図9は、本実施形態に係る推論装置2による推論タスクの遂行に関する処理手順の一例を示すフローチャートである。以下で説明する推論装置2の処理手順は、推論方法の一例である。ただし、以下で説明する推論装置2の処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が行われてよい。
図9は、本実施形態に係る推論装置2による推論タスクの遂行に関する処理手順の一例を示すフローチャートである。以下で説明する推論装置2の処理手順は、推論方法の一例である。ただし、以下で説明する推論装置2の処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が行われてよい。
(ステップS201)
ステップS201では、制御部21は、取得部211として動作し、推論タスクの対象となる対象グラフ221を取得する。対象グラフ221の構成は、訓練グラフ30と同様である。対象グラフ221のデータ形式は、実施の形態に応じて適宜選択されてよい。対象グラフ221は、例えば、入力装置25等を介して入力された条件から生成されてよい。対象グラフ221は、例えば、既存の交通網、既存の通信ネットワーク等を示す既存のデータから得られてもよい。或いは、対象グラフ221は、例えば、画像データ、点群データ等から得られてもよい。一例では、制御部21は、対象グラフ221を直接的に取得してよい。他の一例では、制御部21は、例えば、ネットワーク、センサ、他のコンピュータ、記憶媒体92等を介して対象グラフ221を間接的に取得してよい。対象グラフ221を取得すると、制御部21は、次のステップS202に処理を進める。
ステップS201では、制御部21は、取得部211として動作し、推論タスクの対象となる対象グラフ221を取得する。対象グラフ221の構成は、訓練グラフ30と同様である。対象グラフ221のデータ形式は、実施の形態に応じて適宜選択されてよい。対象グラフ221は、例えば、入力装置25等を介して入力された条件から生成されてよい。対象グラフ221は、例えば、既存の交通網、既存の通信ネットワーク等を示す既存のデータから得られてもよい。或いは、対象グラフ221は、例えば、画像データ、点群データ等から得られてもよい。一例では、制御部21は、対象グラフ221を直接的に取得してよい。他の一例では、制御部21は、例えば、ネットワーク、センサ、他のコンピュータ、記憶媒体92等を介して対象グラフ221を間接的に取得してよい。対象グラフ221を取得すると、制御部21は、次のステップS202に処理を進める。
(ステップS202)
ステップS202では、制御部21は、推論部212として動作し、学習結果データ125を参照して、訓練済みの推論モデル5の設定を行う。そして、制御部21は、訓練済みの推論モデル5を使用して、取得された対象グラフ221に対するタスクの解を推論する。この推論の演算処理は、上記機械学習の訓練処理における順方向の演算処理と同様であってよい。制御部21は、対象グラフ221を訓練済みの推論モデル5に入力し、訓練済みの推論モデル5の順方向の演算処理を実行する。この演算処理を実行した結果として、制御部21は、対象グラフ221に対してタスクの解を推論した結果をグラフ推論モジュール55から取得することができる。推論結果を取得すると、制御部21は、次のステップS203に処理を進める。
ステップS202では、制御部21は、推論部212として動作し、学習結果データ125を参照して、訓練済みの推論モデル5の設定を行う。そして、制御部21は、訓練済みの推論モデル5を使用して、取得された対象グラフ221に対するタスクの解を推論する。この推論の演算処理は、上記機械学習の訓練処理における順方向の演算処理と同様であってよい。制御部21は、対象グラフ221を訓練済みの推論モデル5に入力し、訓練済みの推論モデル5の順方向の演算処理を実行する。この演算処理を実行した結果として、制御部21は、対象グラフ221に対してタスクの解を推論した結果をグラフ推論モジュール55から取得することができる。推論結果を取得すると、制御部21は、次のステップS203に処理を進める。
(ステップS203)
ステップS203では、制御部21は、出力部213として動作し、推論結果に関する情報を出力する。
ステップS203では、制御部21は、出力部213として動作し、推論結果に関する情報を出力する。
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、ステップS202により得られた推論結果を出力装置26又は他のコンピュータの出力装置にそのまま出力してもよい。また、制御部21は、得られた推論結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を、推論結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推論結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置26、他のコンピュータの出力装置、制御対象装置等であってよい。
推論結果に関する情報の出力が完了すると、制御部21は、本動作例に係る推論装置2の処理手順を終了する。なお、制御部21は、ステップS201~ステップS203の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、実施の形態に応じて適宜決定されてよい。これにより、推論装置2は、上記推論タスクを継続的に繰り
返し遂行するように構成されてよい。
返し遂行するように構成されてよい。
[特徴]
以上のとおり、本実施形態に係る推論モデル5によれば、前処理モジュール50による枝の選抜により、推論処理において参照する枝の数を抑えることができる。グラフ構造を有するデータに対する推論タスクを解く際、処理の効率化を図ることができる。モデル生成装置1では、上記ステップS101及びステップS102の処理により、推論処理を効率的に遂行可能な訓練済みの推論モデル5を生成することができる。上記ステップS102の機械学習において、グラフ推論モジュール55から特徴抽出器501まで一貫的に訓練することで、推論の精度を担保した上で、推論処理を効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2では、上記ステップS201~ステップS203の処理により、対象グラフ221に対する推論タスクを効率的に解くことができる。また、ステップS202の処理において、選抜モジュール503による枝の選抜により、グラフ推論モジュール55により処理する特徴量のばらつきの多様性を抑えることができる。その結果、推論精度の向上を期待することができる。
以上のとおり、本実施形態に係る推論モデル5によれば、前処理モジュール50による枝の選抜により、推論処理において参照する枝の数を抑えることができる。グラフ構造を有するデータに対する推論タスクを解く際、処理の効率化を図ることができる。モデル生成装置1では、上記ステップS101及びステップS102の処理により、推論処理を効率的に遂行可能な訓練済みの推論モデル5を生成することができる。上記ステップS102の機械学習において、グラフ推論モジュール55から特徴抽出器501まで一貫的に訓練することで、推論の精度を担保した上で、推論処理を効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2では、上記ステップS201~ステップS203の処理により、対象グラフ221に対する推論タスクを効率的に解くことができる。また、ステップS202の処理において、選抜モジュール503による枝の選抜により、グラフ推論モジュール55により処理する特徴量のばらつきの多様性を抑えることができる。その結果、推論精度の向上を期待することができる。
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
<4.1>
上記実施形態に係る推論システム100は、グラフで表現可能な様々なタスクを解く場面に適用されてよい。グラフ(訓練グラフ30、対象グラフ221)の種類は、タスクに応じて適宜選択されてよい。グラフは、例えば、有向2部グラフ、無向2部グラフ、一般有向グラフ、一般無向グラフ、頂点特徴グラフ、ハイパーグラフ等であってよい。タスクは、例えば、両側マッチング、片側マッチング、事象の推定(予測を含む)、グラフの特徴推定、グラフ内の検索、頂点のカテゴライズ(グラフの分割)、頂点間の関係性の推定等であってよい。以下、適用場面を限定した具体例を示す。
上記実施形態に係る推論システム100は、グラフで表現可能な様々なタスクを解く場面に適用されてよい。グラフ(訓練グラフ30、対象グラフ221)の種類は、タスクに応じて適宜選択されてよい。グラフは、例えば、有向2部グラフ、無向2部グラフ、一般有向グラフ、一般無向グラフ、頂点特徴グラフ、ハイパーグラフ等であってよい。タスクは、例えば、両側マッチング、片側マッチング、事象の推定(予測を含む)、グラフの特徴推定、グラフ内の検索、頂点のカテゴライズ(グラフの分割)、頂点間の関係性の推定等であってよい。以下、適用場面を限定した具体例を示す。
(A)有向2部グラフを採用する場面
図10は、第1具体例に係る推論システム100Aの適用場面の一例を模式的に例示する。第1具体例は、与えられる条件(タスクを解く対象)を表現するグラフとして有向2部グラフを採用する場面に上記実施形態を適用した例である。第1具体例に係る推論システム100Aは、モデル生成装置1及び推論装置2Aを備える。推論装置2Aは、上記推論装置2の一例である。
図10は、第1具体例に係る推論システム100Aの適用場面の一例を模式的に例示する。第1具体例は、与えられる条件(タスクを解く対象)を表現するグラフとして有向2部グラフを採用する場面に上記実施形態を適用した例である。第1具体例に係る推論システム100Aは、モデル生成装置1及び推論装置2Aを備える。推論装置2Aは、上記推論装置2の一例である。
第1具体例において、各訓練グラフ30A及び対象グラフ221A(入力グラフ)は、有向2部グラフ70Aである。有向2部グラフ70Aに含まれる複数の要素(頂点)は、各部分集合(71A、72A)内の要素同士には枝が存在しないように2つの部分集合(71A、72A)のいずれかに属するように分けられる。2つの部分集合(71A、72A)のうち一方の部分集合に属する要素から他方の部分集合に属する要素への枝、及び他方の部分集合に属する要素から一方の部分集合に属する要素への枝が個別に定義される。入力グラフの複数の集合は、有向2部グラフ70Aの2つの部分集合(71A、72A)により構成される。各訓練グラフ30A及び対象グラフ221Aは、上記実施形態における各訓練グラフ30及び対象グラフ221の一例である。有向2部グラフ70Aにおける要素の数、及び要素間の有向枝の有無は、タスクを解く対象を適切に表現するように適宜与えられてよい。
タスクは、有向2部グラフにより表現可能であれば、その内容は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例では、タスクは、両側マッチングであってよい。すなわち、タスクは、2つのパーティ間でのマッチングタスクであって、各パーティに属する対象同士の最適なペアリングを決定することであってよい。この場合、有向2部グラフ70Aの2つの部分集合(71A、72A)は、マッチングタスクにおける2つのパーティに対応する。有向2部グラフ70Aの各部分集合(71A、72A)に属する要素は、各パーティに属する対象に対応する。
一方の部分集合に属する要素から他方の部分集合に属する要素に流出する有向枝の特徴は、一方のパーティに属する対象から他方のパーティに属する対象への希望度に対応する。同様に、他方の部分集合に属する要素から一方の部分集合に属する要素に流出する有向枝の特徴は、他方のパーティに属する対象から一方のパーティに属する対象への希望度に対応する。すなわち、各要素より流出する有向枝の特徴は、各要素に対応する対象から他のパーティ(対応する対象の属するパーティとは別のパーティ)に属する対象への希望度に対応する。
ペアを組む(マッチングされる)ことを希望する程度を示すことができれば、希望度の形式は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。希望度は、例えば、希望順位、スコア等で表現されてよい。スコアは、ペアを組むことを希望する程度を数値で示す。スコアは適宜与えられてよい。一例では、各対象から希望順位のリストが与えられた後、各対象のリストで示される希望順位を所定の演算で数値変換することでスコアが得られてよく、得られたスコアが希望度として用いられてよい。
マッチングの対象は、実施の形態に応じて適宜選択されてよい。マッチングの対象は、例えば、男/女、ルームメイト、就職希望者/雇用主、従業員/配属先、患者/医者、エネルギーの供給者/受給者等であってよい。なお、タスクがマッチングであることに対応して、推論装置2Aは、マッチング装置と読み替えられてよい。
グラフ推論モジュール55は、各部分集合(71A、72A)のグラフ情報からマッチング結果を推論するように構成されてよい。機械学習における正解は、所望の基準を満たすマッチング結果が得られるように適宜与えられてよい。
第1具体例では、モデル生成装置1の機械学習の際、及び推論装置2Aの推論処理の際に、有向2部グラフ70Aが入力グラフとして取り扱われる。各集合に属する各要素の特徴量を算出することは、有向2部グラフ70Aの各部分集合(71A、72A)に属する各要素を始点に延びる枝(換言すると、各要素より流出する有向枝)の特徴から各要素の特徴量を算出することにより構成される。すなわち、特徴抽出器501は、有向2部グラフ70Aの部分集合(71A、72A)毎に、各要素より流出する有向枝の特徴から各要素の特徴量を算出するように構成される。これらの点を除き、第1具体例の構成は、上記実施形態と同様であってよい。
(モデル生成装置)
第1具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、有向2部グラフ70Aに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
第1具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、有向2部グラフ70Aに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
すなわち、ステップS101では、制御部11は、複数の訓練グラフ30Aを取得する。各訓練グラフ30Aは、有向2部グラフ70Aにより構成される。各訓練グラフ30Aにおける要素(頂点)及び枝の設定は、訓練対象の条件を適切に表現するように適宜与え
られてよい。ステップS102では、制御部11は、取得された複数の訓練グラフ30Aを使用して、推論モデル5の機械学習を実施する。この機械学習により、有向2部グラフ70Aに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。タスクは、上記マッチングタスクであってよい。ステップS103では、制御部11は、生成された訓練済みの推論モデル5を示す学習結果データ125を生成し、生成された学習結果データ125を所定の記憶領域に保存する。学習結果データ125は、任意のタイミングで推論装置2Aに提供されてよい。
られてよい。ステップS102では、制御部11は、取得された複数の訓練グラフ30Aを使用して、推論モデル5の機械学習を実施する。この機械学習により、有向2部グラフ70Aに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。タスクは、上記マッチングタスクであってよい。ステップS103では、制御部11は、生成された訓練済みの推論モデル5を示す学習結果データ125を生成し、生成された学習結果データ125を所定の記憶領域に保存する。学習結果データ125は、任意のタイミングで推論装置2Aに提供されてよい。
(推論装置)
推論装置2Aのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第1具体例において、推論装置2Aは、上記推論装置2と同様の処理手順により、有向2部グラフ70Aに対するタスクの解を推論することができる。
推論装置2Aのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第1具体例において、推論装置2Aは、上記推論装置2と同様の処理手順により、有向2部グラフ70Aに対するタスクの解を推論することができる。
すなわち、ステップS201では、推論装置2Aの制御部は、取得部として動作し、対象グラフ221Aを取得する。対象グラフ221Aは、有向2部グラフ70Aにより構成される。対象グラフ221Aにおける要素(頂点)及び枝の設定は、推論対象の条件を適切に表現するように適宜与えられてよい。ステップS202では、制御部は、推論部として動作し、訓練済みの推論モデル5を使用して、取得された対象グラフ221Aに対するタスクの解を推論する。訓練済みの推論モデル5が上記マッチングタスクを遂行する能力を獲得している場合、制御部は、マッチングの推論結果を得ることができる。
ステップS203では、制御部は、出力部として動作し、推論結果に関する情報を出力する。一例として、制御部は、上記マッチングの推論結果を得た場合、得られた推論結果をそのまま出力装置に出力してもよい。これにより、推論装置2Aは、オペレータに対して推論結果を採用するか否かを促してもよい。他の一例として、上記マッチングの推論結果を得た場合、制御部は、推論結果の少なくとも一部のマッチングを成立(確定)させてもよい。この場合、マッチングの対象(要素)は任意のタイミングで追加されてよく、推論装置2Aは、フリーの対象(要素)同士のマッチングを繰り返し実行してもよい。マッチングタスクの遂行によりマッチングの成立した対象(要素)は、次回以降のマッチングタスクの対象から除外されてよい。また、成立したマッチングは任意のタイミングで解消されてよく、マッチングが解消された対象(要素)は、それ以降のマッチングタスクの対象に追加されてよい。これにより、推論装置2Aは、オンラインでリアルタイムにマッチングを遂行するように構成されてよい。
(特徴)
第1具体例によれば、与えられるタスク(例えば、マッチングタスク)が有向2部グラフ70Aで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、有向2部グラフ70Aで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Aでは、そのような訓練済みの推論モデル5を使用することで、有向2部グラフ70Aで表現されるタスクの解を効率的に推論することができる。
第1具体例によれば、与えられるタスク(例えば、マッチングタスク)が有向2部グラフ70Aで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、有向2部グラフ70Aで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Aでは、そのような訓練済みの推論モデル5を使用することで、有向2部グラフ70Aで表現されるタスクの解を効率的に推論することができる。
なお、有向2部グラフ70Aにおいて、2つの部分集合(71A、72A)間の全ての要素の組み合わせに必ずしも有向枝が与えられていなくてもよい。すなわち、有向枝が与えられていない要素の組み合わせが存在してもよい。この場合に、選抜モジュール503は、要素間に予め枝が与えられているか否かに関係なく、各要素から流出する1つ以上の有向枝を選抜してよい。これにより、有向枝が与えられていなくても、タスクを解くのに有益な要素の組み合わせを参照し、タスクの解を推論することができる。その結果、推論精度の向上を期待することができる。
(B)無向2部グラフを採用する場面
図11は、第2具体例に係る推論システム100Bの適用場面の一例を模式的に例示する。第2具体例は、与えられる条件(タスクを解く対象)を表現するグラフとして無向2部グラフを採用する場面に上記実施形態を適用した例である。第2具体例に係る推論システム100Bは、モデル生成装置1及び推論装置2Bを備える。推論装置2Bは、上記推論装置2の一例である。
図11は、第2具体例に係る推論システム100Bの適用場面の一例を模式的に例示する。第2具体例は、与えられる条件(タスクを解く対象)を表現するグラフとして無向2部グラフを採用する場面に上記実施形態を適用した例である。第2具体例に係る推論システム100Bは、モデル生成装置1及び推論装置2Bを備える。推論装置2Bは、上記推論装置2の一例である。
第2具体例において、各訓練グラフ30B及び対象グラフ221B(入力グラフ)は、無向2部グラフ70Bである。無向2部グラフ70Bを構成する複数の頂点は、各部分集合(71B、72B)内の頂点同士には枝が存在しないように2つの部分集合(71B、72B)のいずれかに属するように分けられる。2つの部分集合(71B、72B)のうち一方の部分集合に属する要素から他方の部分集合に属する要素への枝、及び他方の部分集合に属する要素から一方の部分集合に属する要素への枝は互いに区別されずに定義される。入力グラフの複数の集合は、無向2部グラフ70Bの2つの部分集合(71B、72B)により構成される。各訓練グラフ30B及び対象グラフ221Bは、上記実施形態における各訓練グラフ30及び対象グラフ221の一例である。なお、無向2部グラフ70Bにおける要素の数、及び要素間の枝の有無は、タスクを解く対象を適切に表現するように適宜与えられてよい。
タスクは、無向2部グラフにより表現可能であれば、その内容は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例では、タスクは、片側マッチングであってよい。すなわち、タスクは、2つのパーティ間でのマッチングタスクであって、各パーティに属する対象同士の最適なペアリングを決定することであってよい。この場合、無向2部グラフ70Bの2つの部分集合(71B、72B)は、マッチングタスクにおける2つのパーティに対応する。無向2部グラフ70Bの各部分集合(71B、72B)に属する要素(頂点)は、各パーティに属する対象に対応する。2つの部分集合(71B、72B)のうちの一方に属する要素及び他方に属する要素を接続する枝の特徴は、2つのパーティのうちの一方に属する対象及び他方に属する対象(具体的には、枝により接続される2つの要素に対応する2つの対象)同士をペアリングすることのコスト又は報酬に対応する。
マッチングの対象は、実施の形態に応じて適宜選択されてよい。マッチングの対象は、例えば、運搬ロボット/荷物、部屋/客(宿泊施設の自動チェックイン)、座席/客(例えば、公共交通機関、遊興施設等での座席割当)等であってよい。その他の一例では、マッチングは、複数の画像(例えば、動画像における連続するフレーム)間で複数の物体を追跡するために行われてよい。この場合、第1の画像が一方のパーティに対応し、第2の画像が他方のパーティに対応してよく、マッチングの対象(頂点)は、各画像内で検出された物体(又は物体領域)であってよい。各画像間で同一物体をマッチングすることで、当該物体の追跡を行うことができる。
コストは、マッチングを妨げる程度を示す。報酬は、マッチングを促す程度を示す。一例として、運搬ロボット及び荷物のマッチングを行う場面では、対象の運搬ロボットから対象の荷物までの距離がコストとして設定されてよい。他の一例として、座席及び客のマッチングを行う場面では、対象の客の好み(例えば、窓側、通路側等の好みの位置)が対象の座席に対する報酬として設定されてよい。コスト又は報酬の数値表現は、実施の形態に応じて適宜決定されてよい。なお、タスクがマッチングであることに対応して、推論装置2Bは、マッチング装置と読み替えられてよい。
その他の一例では、畳み込みニューラルネットワークにおいて得られる特徴マップは、一方の部分集合に属する高さh個の要素及び他方の部分集合に属する幅w個の要素を有す
る無向2部グラフとして捉えることができる。そのため、無向2部グラフ70Bは、このような特徴マップにより構成されてよく、タスクは、画像に対する所定の推論であってよい。画像に対する推論は、例えば、領域を分割すること、物体を検出すること等であってよい。これらの所定の推論は、例えば、車両のカメラで得られた撮影画像に写る対象を抽出する場面、街頭に配置されたカメラで得られた撮影画像に写る人物を検出する場面等の様々な場面で実行されてよい。なお、畳み込みニューラルネットワークの構造は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。また、特徴マップは、畳み込みニューラルネットワークの出力として得られてもよいし、畳み込みニューラルネットワークの途中の演算結果として得られてもよい。
る無向2部グラフとして捉えることができる。そのため、無向2部グラフ70Bは、このような特徴マップにより構成されてよく、タスクは、画像に対する所定の推論であってよい。画像に対する推論は、例えば、領域を分割すること、物体を検出すること等であってよい。これらの所定の推論は、例えば、車両のカメラで得られた撮影画像に写る対象を抽出する場面、街頭に配置されたカメラで得られた撮影画像に写る人物を検出する場面等の様々な場面で実行されてよい。なお、畳み込みニューラルネットワークの構造は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。また、特徴マップは、畳み込みニューラルネットワークの出力として得られてもよいし、畳み込みニューラルネットワークの途中の演算結果として得られてもよい。
グラフ推論モジュール55は、無向2部グラフ70Bに対するタスク(例えば、上記マッチング、画像に対する所定の推論等)の解の推論結果を各部分集合(71B、72B)のグラフ情報から導出するように適宜構成されてよい。機械学習における正解は、無向2部グラフ70Bに対するタスクの内容に応じて適宜与えられてよい。タスクが上記マッチングタスクである場合、上記第1具体例と同様に、機械学習における正解は、所望の基準を満たすマッチング結果が得られるように適宜与えられてよい。タスクが上記画像に対する所定の推論である場合、例えば、領域分割の真値、物体の検出結果の真値等の推論の正解が、各訓練グラフ30Bに適宜与えられてよい。
第2具体例では、モデル生成装置1の機械学習の際、及び推論装置2Bの推論処理の際に、無向2部グラフ70Bが入力グラフとして取り扱われる。各集合に属する各要素の特徴量を算出することは、無向2部グラフ70Bの各部分集合(71B、72B)に属する各要素に接続する枝の特徴から各要素の特徴量を算出することにより構成される。すなわち、特徴抽出器501は、無向2部グラフ70Bの部分集合(71B、72B)毎に、各要素に接続する枝の特徴から各要素の特徴量を算出するように構成される。これらの点を除き、第2具体例の構成は、上記実施形態と同様であってよい。
(モデル生成装置)
第2具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、無向2部グラフ70Bに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
第2具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、無向2部グラフ70Bに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
すなわち、ステップS101では、制御部11は、複数の訓練グラフ30Bを取得する。各訓練グラフ30Bは、無向2部グラフ70Bにより構成される。各訓練グラフ30Bにおける要素(頂点)及び枝の設定は、訓練対象の条件を適切に表現するように適宜与えられてよい。ステップS102では、制御部11は、取得された複数の訓練グラフ30Bを使用して、推論モデル5の機械学習を実施する。この機械学習により、無向2部グラフ70Bに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。タスクは、例えば、上記マッチングタスク、画像に対する推論タスク等であってよい。ステップS103では、制御部11は、生成された訓練済みの推論モデル5を示す学習結果データ125を生成し、生成された学習結果データ125を所定の記憶領域に保存する。学習結果データ125は、任意のタイミングで推論装置2Bに提供されてよい。
(推論装置)
推論装置2Bのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第2具体例において、推論装置2Bは、上記推論装置2と同様の処理手順により、無向2部グラフ70Bに対するタスクの解を推論することができる。
推論装置2Bのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第2具体例において、推論装置2Bは、上記推論装置2と同様の処理手順により、無向2部グラフ70Bに対するタスクの解を推論することができる。
すなわち、ステップS201では、推論装置2Bの制御部は、取得部として動作し、対
象グラフ221Bを取得する。対象グラフ221Bは、無向2部グラフ70Bにより構成される。対象グラフ221Bにおける要素(頂点)及び枝の設定は、推論対象の条件を適切に表現するように適宜与えられてよい。訓練済みの推論モデル5が上記画像に対する所定の推論を遂行する能力を獲得している場合、制御部は、畳み込みニューラルネットワークの演算処理を実行することで、対象グラフ221B(特徴マップ)を取得してよい。
象グラフ221Bを取得する。対象グラフ221Bは、無向2部グラフ70Bにより構成される。対象グラフ221Bにおける要素(頂点)及び枝の設定は、推論対象の条件を適切に表現するように適宜与えられてよい。訓練済みの推論モデル5が上記画像に対する所定の推論を遂行する能力を獲得している場合、制御部は、畳み込みニューラルネットワークの演算処理を実行することで、対象グラフ221B(特徴マップ)を取得してよい。
ステップS202では、制御部は、推論部として動作し、訓練済みの推論モデル5を使用して、取得された対象グラフ221Bに対するタスクの解を推論する。訓練済みの推論モデル5が上記マッチングタスクを遂行する能力を獲得している場合、制御部は、マッチングの推論結果を得ることができる。訓練済みの推論モデル5が上記画像に対する所定の推論を遂行する能力を獲得している場合、制御部は、対象グラフ221Bを取得した画像に対する所定の推論の結果を得ることができる。
ステップS203では、制御部は、出力部として動作し、推論結果に関する情報を出力する。一例として、制御部は、得られた推論結果をそのまま出力装置に出力してもよい。他の一例として、マッチングの推論結果を得た場合、上記第1具体例と同様に、制御部は、推論結果の少なくとも一部のマッチングを成立させてもよい。この場合、更に上記第1具体例と同様に、推論装置2Bは、オンラインでリアルタイムにマッチングを遂行するように構成されてよい。例えば、上記自動チェックイン/座席割当のケースでは、推論装置2Bは、客の来訪及び部屋/席の開放に伴い対応する要素を各部分集合に追加し、客の要求に応じて、空き部屋/空席をマッチングにより割り当ててよい。そして、推論装置2Bは、割り当てた客及び部屋/席に対応する各要素を各部分集合から削除してよい。更にその他の一例として、上記物体追跡のケースでは、制御部は、推論結果に基づいて、各画像内での1つ以上の物体を追跡してよい。この場合、推論装置2Bは、画像内で検出されたときに対象物体をマッチングの対象に追加し、画像内で検出されなくなった(例えば、撮影範囲外に出る、遮蔽物の影に隠れる等)ときに対象物体をマッチングの対象から除外するように構成されてよい。これにより、推論装置2Bは、リアルタイムに物体追跡を遂行するように構成されてよい。
(特徴)
第2具体例によれば、与えられるタスク(例えば、マッチングタスク、画像に対する推論タスク)が無向2部グラフ70Bで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、無向2部グラフ70Bで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Bでは、そのような訓練済みの推論モデル5を使用することで、無向2部グラフ70Bで表現されるタスクの解を効率的に推論することができる。
第2具体例によれば、与えられるタスク(例えば、マッチングタスク、画像に対する推論タスク)が無向2部グラフ70Bで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、無向2部グラフ70Bで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Bでは、そのような訓練済みの推論モデル5を使用することで、無向2部グラフ70Bで表現されるタスクの解を効率的に推論することができる。
また、第1具体例と同様に、無向2部グラフ70Bにおいて、2つの部分集合(71B、72B)間の全ての要素の組み合わせに必ずしも枝が与えられていなくてもよい。選抜モジュール503は、要素間に予め枝が与えられているか否かに関係なく、各要素から延びる1つ以上の枝を選抜してよい。これにより、枝が与えられていなくても、タスクを解くのに有益な要素の組み合わせを参照し、タスクの解を推論することができる。その結果、推論精度の向上を期待することができる。
(C)一般有向グラフを採用する場合
図12は、第3具体例に係る推論システム100Cの適用場面の一例を模式的に例示する。第3具体例は、与えられる条件(タスクを解く対象)を表現するグラフとして一般有向グラフ(単に、有向グラフと称してもよい)を採用する場面に上記実施形態を適用した例である。第3具体例に係る推論システム100Cは、モデル生成装置1及び推論装置2Cを備える。推論装置2Cは、上記推論装置2の一例である。
図12は、第3具体例に係る推論システム100Cの適用場面の一例を模式的に例示する。第3具体例は、与えられる条件(タスクを解く対象)を表現するグラフとして一般有向グラフ(単に、有向グラフと称してもよい)を採用する場面に上記実施形態を適用した例である。第3具体例に係る推論システム100Cは、モデル生成装置1及び推論装置2Cを備える。推論装置2Cは、上記推論装置2の一例である。
第3具体例において、各訓練グラフ30C及び対象グラフ221C(入力グラフ)は、一般有向グラフ70Cである。一般有向グラフ70Cは、複数の要素(頂点)及び要素(頂点)間を連結する1つ以上の有向枝により構成されてよい。図中の丸印、四角印、及び星印は、要素(頂点)を示す。入力グラフの複数の集合は、第1集合及び第2集合により構成される。第1集合に属する要素は、一般有向グラフ70Cを構成する有向枝の始点に対応し、第2集合に属する要素は、有向枝の終点に対応する。そのため、第1集合及び第2集合の要素の数は同一であってよく、各集合に属する要素は共通であってよい。第1集合に属する要素から第2集合に属する要素へ流出する枝は、始点から終点へ流出する有向枝に対応し、第2集合に属する要素から第1集合に属する要素へ流出する枝は、始点から終点に流入する有向枝に対応する。各訓練グラフ30C及び対象グラフ221Cは、上記実施形態における各訓練グラフ30及び対象グラフ221の一例である。なお、一般有向グラフ70Cにおける要素の数、及び要素間の有向枝の有無は、タスクを解く対象を適切に表現するように適宜決定されてよい。
タスクは、一般有向グラフにより表現可能であれば、その内容は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例では、一般有向グラフ70Cは、ネットワークを表現するように構成されてよい。ネットワークは、例えば、道路網、鉄道網、航路網、航空路網等の交通網に対応してよい。或いは、ネットワークは、通信網に対応してよい。これに対応して、タスクは、ネットワーク上で生じる事象を推論(予測を含む)することであってよい。事象を推論することは、例えば、2頂点間の移動にかかる時間の予想すること、異常の発生を予測すること、最適ルートを検索すること等であってよい。
この場合、有向枝の特徴は、ネットワークにおける対応する頂点間の接続の属性を含むように構成されてよい。ネットワークが交通網に対応する場合、各頂点は、交通の拠点(例えば、交差点、主要地点、駅、港、空港等)に対応してよく、接続の属性は、例えば、路の種類(例えば、一般道、高速道等の道路の種類)、路の通行許容量、移動にかかる時間、距離等であってよい。ネットワークが通信網に対応する場合、各頂点は、通信の拠点(例えば、サーバ、ルータ、スイッチ等)に対応してよく、接続の属性は、例えば、通信の種類、通信許容量、通信速度等であってよい。有向枝の特徴は、1つ以上の属性値により構成されてよい。なお、事象を予測することに対応して、推論装置2Cは、予測装置と読み替えられてよい。
その他の一例では、タスクは、一般有向グラフを分割すること(すなわち、一般有向グラフを構成する要素を分類すること)であってよい。タスクの具体例として、一般有向グラフ70Cは、連続する2枚の画像間で特徴点を対応付けた結果から得られる動きの類似性を示す重み付きグラフであってよい。この場合に、上記グラフの分割は、対応付けの正確性を判定することを目的として密な部分グラフを検出するために実行されてよい。或いは、一般有向グラフ70Cは、画像内の特徴点を示すグラフであってよい。この場合に、上記グラフの分割は、特徴点を物体毎に分類するために実行されてよい。それぞれのケースにおいて、有向枝の特徴は、特徴点間の関係性を示すように適宜設定されてよい。
更にその他の一例では、タスクは、一般有向グラフに表れる特徴を推論することであってよい。タスクの具体例として、一般有向グラフ70Cは、例えば、ナレッジグラフ等の対象物(例えば、人、物等)のプロファイルを表現するグラフであってよい。この場合に、タスクは、グラフで表現されるプロファイルから導出される対象物の特徴を推論することであってよい。
グラフ推論モジュール55は、一般有向グラフ70Cに対するタスク(例えば、上記事
象推論、グラフ分割、特徴推論等)の解の推論結果を各集合のグラフ情報から導出するように適宜構成されてよい。機械学習における正解は、一般有向グラフ70Cに対するタスクの内容に応じて適宜与えられてよい。例えば、事象の真値、分割の真値、特徴の真値等の推論の正解が、各訓練グラフ30Cに適宜与えられてよい。
象推論、グラフ分割、特徴推論等)の解の推論結果を各集合のグラフ情報から導出するように適宜構成されてよい。機械学習における正解は、一般有向グラフ70Cに対するタスクの内容に応じて適宜与えられてよい。例えば、事象の真値、分割の真値、特徴の真値等の推論の正解が、各訓練グラフ30Cに適宜与えられてよい。
第3具体例では、モデル生成装置1の機械学習の際、及び推論装置2Cの推論処理の際に、一般有向グラフ70Cが入力グラフとして取り扱われる。各集合に属する各要素の特徴量を算出することは、第1集合に属する要素より流出する有向枝の特徴から第1集合に属する要素の特徴量を算出すること、及び第2集合に属する要素に流入する有向枝の特徴から第2集合に属する要素の特徴量を算出することにより構成される。すなわち、特徴抽出器501は、第1集合に属する各要素より流出する有向枝の特徴から第1集合に属する各要素の特徴量を算出し、かつ第2集合に属する各要素に流入する有向枝の特徴から第2集合に属する各要素の特徴量を算出するように構成される。これらの点を除き、第3具体例の構成は、上記実施形態と同様であってよい。
(モデル生成装置)
第3具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、一般有向グラフ70Cに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
第3具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、一般有向グラフ70Cに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
すなわち、ステップS101では、制御部11は、複数の訓練グラフ30Cを取得する。各訓練グラフ30Cは、一般有向グラフ70Cにより構成される。各訓練グラフ30Cにおける要素(頂点)及び有向枝の設定は、訓練対象の条件を適切に表現するように適宜与えられてよい。ステップS102では、制御部11は、取得された複数の訓練グラフ30Cを使用して、推論モデル5の機械学習を実施する。この機械学習により、一般有向グラフ70Cに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。タスクは、例えば、上記事象推論、グラフ分割、特徴推論等であってよい。ステップS103では、制御部11は、生成された訓練済みの推論モデル5を示す学習結果データ125を生成し、生成された学習結果データ125を所定の記憶領域に保存する。学習結果データ125は、任意のタイミングで推論装置2Cに提供されてよい。
(推論装置)
推論装置2Cのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第3具体例において、推論装置2Cは、上記推論装置2と同様の処理手順により、一般有向グラフ70Cに対するタスクの解を推論することができる。
推論装置2Cのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第3具体例において、推論装置2Cは、上記推論装置2と同様の処理手順により、一般有向グラフ70Cに対するタスクの解を推論することができる。
すなわち、ステップS201では、推論装置2Cの制御部は、取得部として動作し、対象グラフ221Cを取得する。対象グラフ221Cは、一般有向グラフ70Cにより構成される。対象グラフ221Cにおける要素(頂点)及び有向枝の設定は、推論対象の条件を適切に表現するように適宜与えられてよい。ステップS202では、制御部は、推論部として動作し、訓練済みの推論モデル5を使用して、取得された対象グラフ221Cに対するタスクの解を推論する。
ステップS203では、制御部は、出力部として動作し、推論結果に関する情報を出力する。一例として、制御部は、得られた推論結果をそのまま出力装置に出力してもよい。他の一例として、上記ネットワーク上で生じる事象の推論結果を得た場合、制御部は、異常発生の可能性が閾値以上であるときに、そのことを知らせる警報を出力してもよい。更にその他の一例として、通信網における最適ルートの推論結果を得た場合、制御部は、推論された最適ルートに従ってパケットを送信してもよい。
(特徴)
第3具体例によれば、与えられるタスクが一般有向グラフ70Cで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、一般有向グラフ70Cで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Cでは、そのような訓練済みの推論モデル5を使用することで、一般有向グラフ70Cで表現されるタスクの解を効率的に推論することができる。
第3具体例によれば、与えられるタスクが一般有向グラフ70Cで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、一般有向グラフ70Cで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Cでは、そのような訓練済みの推論モデル5を使用することで、一般有向グラフ70Cで表現されるタスクの解を効率的に推論することができる。
また、第1具体例等と同様に、一般有向グラフ70Cにおいて、第1集合及び第2集合間の全ての要素の組み合わせに必ずしも有向枝が与えられていなくてもよい。選抜モジュール503は、要素間に予め枝が与えられているか否かに関係なく、各要素から延びる1つ以上の枝を選抜してよい。これにより、枝が与えられていなくても、タスクを解くのに有益な要素の組み合わせを参照し、タスクの解を推論することができる。その結果、推論精度の向上を期待することができる。
(D)一般無向グラフを採用する場合
図13は、第4具体例に係る推論システム100Dの適用場面の一例を模式的に例示する。第4具体例は、与えられる条件(タスクを解く対象)を表現するグラフとして一般無向グラフ(単に、無向グラフと称してもよい)を採用する場面に上記実施形態を適用した例である。第4具体例に係る推論システム100Dは、モデル生成装置1及び推論装置2Dを備える。推論装置2Dは、上記推論装置2の一例である。
図13は、第4具体例に係る推論システム100Dの適用場面の一例を模式的に例示する。第4具体例は、与えられる条件(タスクを解く対象)を表現するグラフとして一般無向グラフ(単に、無向グラフと称してもよい)を採用する場面に上記実施形態を適用した例である。第4具体例に係る推論システム100Dは、モデル生成装置1及び推論装置2Dを備える。推論装置2Dは、上記推論装置2の一例である。
第4具体例において、各訓練グラフ30D及び対象グラフ221D(入力グラフ)は、一般無向グラフ70Dである。一般無向グラフ70Dは、複数の要素(頂点)及び要素(頂点)間を連結する1つ以上の枝により構成されてよい。入力グラフの複数の集合は、第1集合及び第2集合により構成される。第1集合及び第2集合それぞれに属する各要素は、一般無向グラフ70Dを構成する各要素に対応する。そのため、上記第3具体例と同様に、第1集合及び第2集合の要素の数は同一であってよく、各集合に属する要素は共通であってよい。第1集合に属する要素から第2集合に属する要素に延びる枝、及び第2集合に属する要素から第1集合に属する要素に延びる枝は共に、対応する2つの要素間を接続する枝(無向枝)に対応する。各訓練グラフ30D及び対象グラフ221Dは、上記実施形態における各訓練グラフ30及び対象グラフ221の一例である。なお、一般無向グラフ70Dにおける要素の数、及び要素間の枝の有無は、タスクを解く対象を適切に表現するように適宜決定されてよい。
タスクは、一般無向グラフにより表現可能であれば、その内容は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。枝が方向性を有していない点を除き、第4具体例におけるタスクは、第3具体例と同様であってよい。すなわち、一例では、一般無向グラフ70Dは、ネットワークを表現するように構成されてよい。これに応じて、タスクは、ネットワーク上で生じる事象を推論(予測を含む)することであってよい。この場合、枝の特徴は、ネットワークにおける対応する頂点間の接続の属性を含むように構成されてよい。なお、事象を予測することに対応して、推論装置2Dは、予測装置と読み替えられてよい。その他の一例では、タスクは、一般無向グラフを分割することであってよい。更にその他の一例では、タスクは、一般無向グラフに表れる特徴を推論することであってよい。
グラフ推論モジュール55は、一般無向グラフ70Dに対するタスク(例えば、上記事象推論、グラフ分割、特徴推論等)の解の推論結果を各集合のグラフ情報から導出するように適宜構成されてよい。機械学習における正解は、一般無向グラフ70Dに対するタスクの内容に応じて適宜与えられてよい。例えば、事象の真値、分割の真値、特徴の真値等の推論の正解が、各訓練グラフ30Cに適宜与えられてよい。
第4具体例では、モデル生成装置1の機械学習の際、及び推論装置2Dの推論処理の際に、一般無向グラフ70Dが入力グラフとして取り扱われる。各集合に属する各要素の特徴量を算出することは、各要素に接続する枝の特徴から各要素の特徴量を算出することにより構成される。すなわち、特徴抽出器501は、集合毎に、各要素に接続する枝の特徴から各要素の特徴量を算出するように構成される。なお、第4具体例では、第1集合に対する演算結果及び第2集合に対する演算結果は同一になり得る。そのため、特徴抽出器501による特徴量の算出、選抜モジュール503による枝の選抜、及びグラフ推論モジュール55による推論処理は、第1集合及び第2集合に対して共通に実行されてよい。すなわち、第1集合に対する一連の演算処理及び第2集合に対する一連の演算処理のうちのいずれか一方は省略されてよく、いずれか一方の演算処理の実行により両方の演算処理が実行されたとして取り扱われてよい。これらの点を除き、第4具体例の構成は、上記実施形態と同様であってよい。
(モデル生成装置)
第4具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、一般無向グラフ70Dに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
第4具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、一般無向グラフ70Dに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
すなわち、ステップS101では、制御部11は、複数の訓練グラフ30Dを取得する。各訓練グラフ30Dは、一般無向グラフ70Dにより構成される。各訓練グラフ30Dにおける要素(頂点)及び枝の設定は、訓練対象の条件を適切に表現するように適宜与えられてよい。ステップS102では、制御部11は、取得された複数の訓練グラフ30Dを使用して、推論モデル5の機械学習を実施する。この機械学習により、一般無向グラフ70Dに対してタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。ステップS103では、制御部11は、生成された訓練済みの推論モデル5を示す学習結果データ125を生成し、生成された学習結果データ125を所定の記憶領域に保存する。学習結果データ125は、任意のタイミングで推論装置2Dに提供されてよい。
(推論装置)
推論装置2Dのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第4具体例において、推論装置2Dは、上記推論装置2と同様の処理手順により、一般無向グラフ70Dに対するタスクの解を推論することができる。
推論装置2Dのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第4具体例において、推論装置2Dは、上記推論装置2と同様の処理手順により、一般無向グラフ70Dに対するタスクの解を推論することができる。
すなわち、ステップS201では、推論装置2Dの制御部は、取得部として動作し、対象グラフ221Dを取得する。対象グラフ221Dは、一般無向グラフ70Dにより構成される。対象グラフ221Dにおける要素(頂点)及び枝の設定は、推論対象の条件を適切に表現するように適宜与えられてよい。ステップS202では、制御部は、推論部として動作し、訓練済みの推論モデル5を使用して、取得された対象グラフ221Dに対するタスクの解を推論する。
ステップS203では、制御部は、出力部として動作し、推論結果に関する情報を出力する。一例として、制御部は、得られた推論結果をそのまま出力装置に出力してもよい。他の一例として、上記ネットワーク上で生じる事象の推論結果を得た場合、制御部は、異常発生の可能性が閾値以上であるときに、そのことを知らせる警報を出力してもよい。更にその他の一例として、通信網における最適ルートの推論結果を得た場合、制御部は、推論された最適ルートに従ってパケットを送信してもよい。
(特徴)
第4具体例によれば、与えられるタスクが一般無向グラフ70Dで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、一般無向グラフ70Dで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Dでは、そのような訓練済みの推論モデル5を使用することで、一般無向グラフ70Dで表現されるタスクの解を効率的に推論することができる。
第4具体例によれば、与えられるタスクが一般無向グラフ70Dで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、一般無向グラフ70Dで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Dでは、そのような訓練済みの推論モデル5を使用することで、一般無向グラフ70Dで表現されるタスクの解を効率的に推論することができる。
また、第1具体例等と同様に、一般無向グラフ70Dにおいて、第1集合及び第2集合間の全ての要素の組み合わせに必ずしも枝が与えられていなくてもよい。選抜モジュール503は、要素間に予め枝が与えられているか否かに関係なく、各要素から延びる1つ以上の枝を選抜してよい。これにより、枝が与えられていなくても、タスクを解くのに有益な要素の組み合わせを参照し、タスクの解を推論することができる。その結果、推論精度の向上を期待することができる。
(E)要素間の関係性が不明である頂点特徴グラフを採用する場合
図14は、第5具体例に係る推論システム100Eの適用場面の一例を模式的に例示する。第5具体例は、与えられる条件(タスクを解く対象)を表現するグラフとして頂点特徴グラフを採用し、かつ採用される頂点特徴グラフを構成する要素(頂点)間の関係性が未知である場面に上記実施形態を適用した例である。第5具体例に係る推論システム100Eは、モデル生成装置1及び推論装置2Eを備える。推論装置2Eは、上記推論装置2の一例である。
図14は、第5具体例に係る推論システム100Eの適用場面の一例を模式的に例示する。第5具体例は、与えられる条件(タスクを解く対象)を表現するグラフとして頂点特徴グラフを採用し、かつ採用される頂点特徴グラフを構成する要素(頂点)間の関係性が未知である場面に上記実施形態を適用した例である。第5具体例に係る推論システム100Eは、モデル生成装置1及び推論装置2Eを備える。推論装置2Eは、上記推論装置2の一例である。
第5具体例において、各訓練グラフ30E及び対象グラフ221E(入力グラフ)は、複数の要素(頂点)を含む頂点特徴グラフ70Eであって、各要素が属性(頂点特徴)を有するように構成される頂点特徴グラフ70Eである。各要素の有する属性の種類及び数は、実施の形態に応じて適宜決定されてよい。各要素は、1種類以上の属性値を有してよい。重みは、属性の一例であり、頂点重み付きグラフは、頂点特徴グラフ70Eの一例である。
頂点特徴グラフ70Eに含まれる各要素(頂点)は各集合に適宜振り分けられてよい。集合の数は、実施の形態に応じて適宜決定されてよい。一例では、頂点特徴グラフ70Eに含まれる全ての要素は第1集合及び第2集合の両方に振り分けられてよく、第1集合に属する要素及び第2集合に属する要素は互いに同じであってよい。他の一例では、第1集合に属する要素及び第2集合に属する要素は部分的に重複してもよい。更に他の一例では、上記点群データ間の対応関係を推論するケースにおいて、各集合は、点群データに対応してよく、各集合に属する要素は、点群データを構成する各点に対応してよい。この場合、各集合に属する要素は、重複していなくてよい。各訓練グラフ30E及び対象グラフ221Eは、上記実施形態における各訓練グラフ30及び対象グラフ221の一例である。なお、頂点特徴グラフ70Eにおける要素(頂点)の数及び属性は、タスクを解く対象を適切に表現するように適宜決定されてよい。
タスクは、要素間の関係性が未知である頂点特徴グラフにより表現可能であれば、その内容は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例では、タスクは、各集合に属する要素間の関係性を推定することであってよい。関係性を推定することは、例えば、上記点群データのマッチングにおける同一の点か否かを判定することであってよい。
タスクの具体例として、頂点特徴グラフ70Eは、物体を検出済みの画像に対応するように構成されてよい(例えば、シーングラフ)。この場合、各要素は、検出された物体に対応してよく、各要素の属性は、検出された物体の属性に対応してよい。入力グラフの複数の集合は、第1集合及び第2集合により構成されてよく、頂点特徴グラフ70Eに含ま
れる全ての要素は第1集合及び第2集合の両方に振り分けられてよい。各要素間の関係性を推定することは、画像に表れる特徴を推論すること(画像認識)であってよい。当該具体例は、画像認識を行う様々な場面で採用されてよい。
れる全ての要素は第1集合及び第2集合の両方に振り分けられてよい。各要素間の関係性を推定することは、画像に表れる特徴を推論すること(画像認識)であってよい。当該具体例は、画像認識を行う様々な場面で採用されてよい。
タスクの他の具体例として、頂点特徴グラフ70Eは、1人以上の人物の写る画像であって、人物の特徴点が検出された画像に対応するように構成されてよい(例えば、シーングラフ、骨格モデル)。この場合、各要素は、検出された人物の特徴点(例えば、関節等)に対応してよく、各要素の属性は、検出された特徴点の属性(例えば、関節の種類、位置、傾き等)に対応してよい。入力グラフの複数の集合は、第1集合及び第2集合により構成されてよく、頂点特徴グラフ70Eに含まれる全ての要素は第1集合及び第2集合の両方に振り分けられてよい。各要素の関係性を推定することは、人物の動作の種類を推論すること(動作解析)であってよい。当該具体例は、例えば、スポーツ(特に、団体競技)の動画解析等の動作解析を行う様々な場面で採用されてよい。
タスクの他の具体例として、頂点特徴グラフ70Eは、組成物の性質を示すように構成されてよい。組成物の性質は、例えば、人体への影響の種類(薬効、副作用、残留性、皮膚接触時の反応等)、各種効果の度合い(光電効果の効率性、熱電効果の効率性、赤外線の吸収/反射効率、摩擦係数等)等により規定されてよい。この場合、各要素は、特定の
性質に対応してよく、各要素の属性は、特定の性質の程度を示すように構成されてよい。入力グラフの複数の集合は、第1集合及び第2集合により構成されてよく、頂点特徴グラフ70Eに含まれる全ての要素は第1集合及び第2集合の両方に振り分けられてよい。各要素の関係性を推定することは、頂点特徴グラフ70Eにより示される性質を満たす組成物の構造(例えば、化学式、物理的な結晶構造)を推論(生成)することであってよい。
性質に対応してよく、各要素の属性は、特定の性質の程度を示すように構成されてよい。入力グラフの複数の集合は、第1集合及び第2集合により構成されてよく、頂点特徴グラフ70Eに含まれる全ての要素は第1集合及び第2集合の両方に振り分けられてよい。各要素の関係性を推定することは、頂点特徴グラフ70Eにより示される性質を満たす組成物の構造(例えば、化学式、物理的な結晶構造)を推論(生成)することであってよい。
タスクの他の具体例として、頂点特徴グラフ70Eは、それぞれ2次元又は3次元モデルを示す複数件の点群データにより構成されてよい。この場合、各集合は、各件の点群データに対応してよく、各集合に属する各要素は、対応する点群データに含まれる点に対応してよい。各要素の属性は、点群データに含まれる点の属性に対応してよい。各要素の関係性を推定することは、例えば、点群の位置合わせ、オプティカルフローの推定、ステレオマッチング等の点同士をマッチングすることであってよい。
グラフ推論モジュール55は、頂点特徴グラフ70Eに対するタスク(例えば、上記画像認識、動作解析、構造生成、マッチング等)の解の推論結果を各集合のグラフ情報から導出するように適宜構成されてよい。機械学習における正解は、頂点特徴グラフ70Eに対するタスクの内容に応じて適宜与えられてよい。例えば、画像認識の真値、動作解析の真値、構造生成の真値等の推論の正解が、各訓練グラフ30Eに適宜与えられてよい。
第5具体例では、モデル生成装置1の機械学習の際、及び推論装置2Eの推論処理の際に、頂点特徴グラフ70Eが入力グラフとして取り扱われる。各集合に属する各要素の特徴量を算出することは、各要素の有する属性から各要素の特徴量を算出することにより構成される。すなわち、特徴抽出器501は、集合毎に、各要素の有する属性から各要素の特徴量を算出するように構成される。これらの点を除き、第5具体例の構成は、上記実施形態と同様であってよい。
(モデル生成装置)
第5具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、頂点特徴グラフ70Eに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
第5具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、頂点特徴グラフ70Eに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
すなわち、ステップS101では、制御部11は、複数の訓練グラフ30Eを取得する
。各訓練グラフ30Eは、頂点特徴グラフ70Eにより構成される。各訓練グラフ30Eにおける要素(頂点)及び属性の設定は、訓練対象の条件を適切に表現するように適宜与えられてよい。ステップS102では、制御部11は、取得された複数の訓練グラフ30Eを使用して、推論モデル5の機械学習を実施する。この機械学習により、頂点特徴グラフ70Eに対してタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。ステップS103では、制御部11は、生成された訓練済みの推論モデル5を示す学習結果データ125を生成し、生成された学習結果データ125を所定の記憶領域に保存する。学習結果データ125は、任意のタイミングで推論装置2Eに提供されてよい。
。各訓練グラフ30Eは、頂点特徴グラフ70Eにより構成される。各訓練グラフ30Eにおける要素(頂点)及び属性の設定は、訓練対象の条件を適切に表現するように適宜与えられてよい。ステップS102では、制御部11は、取得された複数の訓練グラフ30Eを使用して、推論モデル5の機械学習を実施する。この機械学習により、頂点特徴グラフ70Eに対してタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。ステップS103では、制御部11は、生成された訓練済みの推論モデル5を示す学習結果データ125を生成し、生成された学習結果データ125を所定の記憶領域に保存する。学習結果データ125は、任意のタイミングで推論装置2Eに提供されてよい。
(推論装置)
推論装置2Eのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第5具体例において、推論装置2Eは、上記推論装置2と同様の処理手順により、頂点特徴グラフ70Eに対するタスクの解を推論することができる。
推論装置2Eのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第5具体例において、推論装置2Eは、上記推論装置2と同様の処理手順により、頂点特徴グラフ70Eに対するタスクの解を推論することができる。
すなわち、ステップS201では、推論装置2Eの制御部は、取得部として動作し、対象グラフ221Eを取得する。対象グラフ221Eは、頂点特徴グラフ70Eにより構成される。対象グラフ221Eにおける要素(頂点)及び属性の設定は、推論対象の条件を適切に表現するように適宜与えられてよい。構造生成のケースでは、各性質の値(すなわち、各要素の属性値)は、乱数で与えられてもよいし、或いはオペレータの指定により与えられてよい。ステップS202では、制御部は、推論部として動作し、訓練済みの推論モデル5を使用して、取得された対象グラフ221Eに対するタスクの解を推論する。一例では、タスクは、対象グラフ221Eにおける要素間の関係性を推定することである。
ステップS203では、制御部は、出力部として動作し、推論結果に関する情報を出力する。一例として、制御部は、得られた推論結果をそのまま出力装置に出力してもよい。他の一例として、制御部は、得られた推論結果に応じた情報処理を実行してよい。例えば、対象グラフ221Eが、物体を検出済みの画像に対応するように構成される場合、制御部は、画像認識の結果に応じた情報処理を実行してよい。具体的な適用場面として、第5具体例は、車両外部の状況をカメラで撮影することで得られた撮影画像を認識する場面に適用されてよい。この場面において、画像認識の結果に基づいて、障害物が車両に接近していると判定される場合に、制御部は、障害物を避ける指令(例えば、停止する、車線変更する等)を車両に与えてもよい。また、例えば、対象グラフ221Eが、人物の特徴点が検出された画像に対応するように構成される場合、制御部は、動作解析の結果に応じた情報処理を実行してよい。具体的な適用場面として、第5具体例は、鉄道駅のプラットホームに設置されたカメラで得られた撮影画像に写る人物の動作解析を行う場面に適用されてよい。この場面において、動作解析の結果に基づいて、プラットホームに存在する人物に危険が迫っている(例えば、プラットホームから転落しそうになっている)と判定される場合に、制御部は、そのことを知らせる警報を出力してもよい。
(特徴)
第5具体例によれば、与えられるタスク(例えば、要素間の関係性を推定する)が頂点特徴グラフ70Eで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、頂点特徴グラフ70Eで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Dでは、そのような訓練済みの推論モデル5を使用することで、頂点特徴グラフ70Eで表現されるタスクの解を効率的に推論することができる。
第5具体例によれば、与えられるタスク(例えば、要素間の関係性を推定する)が頂点特徴グラフ70Eで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、頂点特徴グラフ70Eで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Dでは、そのような訓練済みの推論モデル5を使用することで、頂点特徴グラフ70Eで表現されるタスクの解を効率的に推論することができる。
(F)要素間の関係性が定義された頂点特徴グラフを採用する場合
図15は、第6具体例に係る推論システム100Fの適用場面の一例を模式的に例示す
る。第6具体例は、与えられる条件(タスクを解く対象)を表現するグラフとして頂点特徴グラフを採用し、かつ採用される頂点特徴グラフに含まれる要素(頂点)間の関係性が既知である場面に上記実施形態を適用した例である。第6具体例に係る推論システム100Fは、モデル生成装置1及び推論装置2Fを備える。推論装置2Fは、上記推論装置2の一例である。
図15は、第6具体例に係る推論システム100Fの適用場面の一例を模式的に例示す
る。第6具体例は、与えられる条件(タスクを解く対象)を表現するグラフとして頂点特徴グラフを採用し、かつ採用される頂点特徴グラフに含まれる要素(頂点)間の関係性が既知である場面に上記実施形態を適用した例である。第6具体例に係る推論システム100Fは、モデル生成装置1及び推論装置2Fを備える。推論装置2Fは、上記推論装置2の一例である。
第6具体例において、各訓練グラフ30F及び対象グラフ221F(入力グラフ)は、複数の要素(頂点)を含む頂点特徴グラフ70Fであって、各要素が属性を有するように構成される頂点特徴グラフ70Fである。第6具体例では、頂点特徴グラフ70Fに含まれる各要素間の関係性が定義される。関係性が予め定義される点を除き、頂点特徴グラフ70Fは、上記第5具体例における頂点特徴グラフ70Eと同様に構成されてよい。各訓練グラフ30F及び対象グラフ221Fは、上記実施形態における各訓練グラフ30及び対象グラフ221の一例である。なお、頂点特徴グラフ70Fにおける要素(頂点)の数、属性及び要素(頂点)間の枝は、タスクを解く対象を適切に表現するように適宜決定されてよい。
タスクは、頂点特徴グラフにより表現可能であれば、その内容は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例では、タスクは、頂点特徴グラフ70Fから導出される事象を推論することであってよい。
タスクの具体例として、頂点特徴グラフ70Fは、組成を示す化学式又は物理的な結晶構造を示すように構成されてよい。この場合、各要素は、元素に対応し、各要素の属性は、例えば、元素の種類等の元素の属性に対応してよい。要素間の関係性は、元素間の接続関係に対応してよい。入力グラフの複数の集合は、第1集合及び第2集合により構成されてよく、頂点特徴グラフ70Fに含まれる全ての要素は第1集合及び第2集合の両方に振り分けられてよい。事象を推論することは、その組成の有する性質等の組成に関する特徴を推論することであってよい。その他、事象を推論することは、その組成の物質を生成する手順を推論することであってよい。手順の表現には、例えば、自然言語、記号列等が用いられてよい。記号列を用いる場合、記号列と手順との間の対応関係が規則により予め定められてよい。更に、記号列は、その組成の物質を生成するように構成された生産装置の動作を制御するための命令を含んでよい。生産装置は、例えば、コンピュータ、コントローラ、ロボット装置等であってよい。命令は、例えば、制御指令、コンピュータプログラム等であってよい。
タスクの他の具体例として、頂点特徴グラフ70Fは、複数の対象物(例えば、人、物等)それぞれの特徴を示すように構成されてよい。この場合、各要素は、各対象物に対応し、各要素の属性は、各対象物の特徴に対応してよい。各対象物の特徴は、上記第3具体例又は第4具体例により、プロファイルを表現するグラフから抽出されてよい。入力グラフの複数の集合は、第1集合及び第2集合により構成されてよく、頂点特徴グラフ70Fに含まれる全ての要素は第1集合及び第2集合の両方に振り分けられてよい。事象を推論することは、対象物同士を最適にマッチングすることであってよい。マッチングの対象物は、例えば、客/広告、患者/医者、人物/仕事等であってよい。
タスクの更に他の具体例として、頂点特徴グラフ70Fは、電力供給網を示すように構成されてよい。この場合、各要素は、電力の生産ノード又は消費ノードに対応してよい。要素の属性は、例えば、生産量、消費量等を示すように構成されてよい。各枝は、電線に対応してよい。入力グラフの複数の集合は、第1集合及び第2集合により構成されてよく、頂点特徴グラフ70Fに含まれる全ての要素は第1集合及び第2集合の両方に振り分けられてよい。事象を推論することは、生産ノード及び消費ノードの最適な組み合わせを推論することであってよい。
グラフ推論モジュール55は、頂点特徴グラフ70Fに対するタスク(例えば、上記事象推論等)の解の推論結果を各集合のグラフ情報から導出するように適宜構成されてよい。機械学習における正解は、頂点特徴グラフ70Fに対するタスクの内容に応じて適宜与えられてよい。例えば、事象の真値等の推論の正解が、各訓練グラフ30Fに与えられてよい。
第6具体例では、モデル生成装置1の機械学習の際、及び推論装置2Fの推論処理の際に、頂点特徴グラフ70Fが入力グラフとして取り扱われる。各集合に属する各要素の特徴量を算出することは、各要素の有する属性及び各要素に接続する枝の関係性を示す情報から各要素の特徴量を算出することにより構成される。すなわち、特徴抽出器501は、集合毎に、各要素の有する属性及び枝の特徴(関係性を示す情報)から各要素の特徴量を算出するように構成される。これらの点を除き、第6具体例の構成は、上記実施形態と同様であってよい。
(モデル生成装置)
第6具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、頂点特徴グラフ70Fに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
第6具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、頂点特徴グラフ70Fに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
すなわち、ステップS101では、制御部11は、複数の訓練グラフ30Fを取得する。各訓練グラフ30Fは、頂点特徴グラフ70Fにより構成される。各訓練グラフ30Fにおける要素(頂点)、属性及び枝の設定は、訓練対象の条件を適切に表現するように適宜与えられてよい。ステップS102では、制御部11は、取得された複数の訓練グラフ30Fを使用して、推論モデル5の機械学習を実施する。この機械学習により、頂点特徴グラフ70Fに対してタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。ステップS103では、制御部11は、生成された訓練済みの推論モデル5を示す学習結果データ125を生成し、生成された学習結果データ125を所定の記憶領域に保存する。学習結果データ125は、任意のタイミングで推論装置2Fに提供されてよい。
(推論装置)
推論装置2Fのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第6具体例において、推論装置2Fは、上記推論装置2と同様の処理手順により、頂点特徴グラフ70Fに対するタスクの解を推論することができる。
推論装置2Fのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第6具体例において、推論装置2Fは、上記推論装置2と同様の処理手順により、頂点特徴グラフ70Fに対するタスクの解を推論することができる。
すなわち、ステップS201では、推論装置2Fの制御部は、取得部として動作し、対象グラフ221Fを取得する。対象グラフ221Fは、頂点特徴グラフ70Fにより構成される。対象グラフ221Fにおける要素(頂点)、属性及び枝の設定は、推論対象の条件を適切に表現するように適宜与えられてよい。ステップS202では、制御部は、推論部として動作し、訓練済みの推論モデル5を使用して、取得された対象グラフ221Fに対するタスクの解を推論する。
ステップS203では、制御部は、出力部として動作し、推論結果に関する情報を出力する。一例として、制御部は、得られた推論結果をそのまま出力装置に出力してもよい。他の一例として、対象グラフ221Fが対象の組成(化学式又は物理的な結晶構造)を示すように構成され、その対象の組成の物質を生成する手順を推論した場合、制御部は、得られた推論結果により示される手順に従って生産装置の動作を制御してもよい。その他の一例として、対象物同士のマッチング又は生産ノード及び消費ノードの組み合わせを推論した場合、制御部は、そのマッチング又は組み合わせを成立(確定)させてもよい。
(特徴)
第6具体例によれば、与えられるタスクが頂点特徴グラフ70Fで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、頂点特徴グラフ70Fで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Fでは、そのような訓練済みの推論モデル5を使用することで、頂点特徴グラフ70Fで表現されるタスクの解を効率的に推論することができる。
第6具体例によれば、与えられるタスクが頂点特徴グラフ70Fで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、頂点特徴グラフ70Fで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Fでは、そのような訓練済みの推論モデル5を使用することで、頂点特徴グラフ70Fで表現されるタスクの解を効率的に推論することができる。
また、第1具体例等と同様に、頂点特徴グラフ70Fにおいて、各集合間の全ての要素の組み合わせに必ずしも枝が与えられていなくてもよい。選抜モジュール503は、要素間に予め枝が与えられているか否かに関係なく、各要素から延びる1つ以上の枝を選抜してよい。これにより、枝が与えられていなくても、タスクを解くのに有益な要素の組み合わせを参照し、タスクの解を推論することができる。その結果、推論精度の向上を期待することができる。
(G)ハイパーグラフを採用する場合
図16は、第7具体例に係る推論システム100Gの適用場面の一例を模式的に例示する。第7具体例は、与えられた条件(タスクを解く対象)を表現するグラフとしてハイパーグラフを採用する場面に上記実施形態を適用した例である。第7具体例に係る推論システム100Gは、モデル生成装置1及び推論装置2Gを備える。推論装置2Gは、上記推論装置2の一例である。
図16は、第7具体例に係る推論システム100Gの適用場面の一例を模式的に例示する。第7具体例は、与えられた条件(タスクを解く対象)を表現するグラフとしてハイパーグラフを採用する場面に上記実施形態を適用した例である。第7具体例に係る推論システム100Gは、モデル生成装置1及び推論装置2Gを備える。推論装置2Gは、上記推論装置2の一例である。
第7具体例において、各訓練グラフ30G及び対象グラフ221G(入力グラフ)は、K部のハイパーグラフ70Gである。Kは、3以上の整数であってよい。入力グラフの複数の集合は、ハイパーグラフ70GのK個の部分集合により構成される。ハイパーグラフ70Gに含まれる複数の要素(頂点)は、K個の部分集合のいずれかに属するように分けられてよい。図16の一例では、ハイパーグラフ70Gに含まれる各要素は、3つの部分集合のいずれかに属するように分けられている。枝は、各部分集合に属する要素の組み合わせを示すように適宜設けられてよい。各訓練グラフ30G及び対象グラフ221Gは、上記実施形態における各訓練グラフ30及び対象グラフ221の一例である。なお、ハイパーグラフ70Gにおける要素(頂点)の数、要素(頂点)間の枝の有無、及びKの値は、タスクを解く対象を適切に表現するように適宜決定されてよい。
タスクは、ハイパーグラフにより表現可能であれば、その内容は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例では、タスクは、K個のパーティ間でのマッチングタスクであって、各パーティに属する対象同士の最適な組み合わせを決定することであってよい。この場合、ハイパーグラフ70Gの各部分集合は、マッチングタスクにおける各パーティに対応する。ハイパーグラフ70Gの各部分集合に属する要素は、各パーティに属する対象に対応する。第i番目の部分集合に属する第i要素から(K-1)個の(第i番目以外の)他の部分集合それぞれに属する要素同士の組み合わせへ流出する枝の特徴は、第i要素に対応する対象及び第i番目以外の他の部分集合に属する各要素に対応する対象同士の組み合わせをマッチングすることのコスト又は報酬に対応してよい。或いは、当該枝の特徴は、第i要素に対応する対象から、第i番目以外の他の部分集合に属する各要素に対応する対象同士の組み合わせへの希望度に対応してよい。
マッチングの対象は、実施の形態に応じて適宜選択されてよい。マッチングタスクは、例えば、3つ以上の部品の最適な組み合わせを特定すること、3人以上の人物の最適な組み合わせを特定すること、距離学習におけるtriplet lossの計算のための学習に最適な3項の組み合わせを特定すること、画像中の複数の人物の姿勢を同時に推論する際に同一人物に属する特徴点の組み合わせを特定すること、配送用トラック、荷物、及び経路の最適
な組み合わせを特定すること等を目的として遂行されてよい。これに応じて、マッチングの対象は、例えば、部品、人物、triplet lossを計算する対象となるデータ、画像内に検出された人物の特徴点、配送用トラック/荷物/経路等であってよい。人物の最適な組み合わせを特定することは、例えば、マネージャ/プログラマ/営業、ウェブのフロントエンドプログラマ/バックエンドプログラマ/データサイエンティスト等のチームビルディングのために行われてよい。
な組み合わせを特定すること等を目的として遂行されてよい。これに応じて、マッチングの対象は、例えば、部品、人物、triplet lossを計算する対象となるデータ、画像内に検出された人物の特徴点、配送用トラック/荷物/経路等であってよい。人物の最適な組み合わせを特定することは、例えば、マネージャ/プログラマ/営業、ウェブのフロントエンドプログラマ/バックエンドプログラマ/データサイエンティスト等のチームビルディングのために行われてよい。
グラフ推論モジュール55は、ハイパーグラフ70Gに対するタスク(例えば、上記マッチングタスク等)の解の推論結果を各部分集合のグラフ情報から導出するように適宜構成されてよい。機械学習における正解は、ハイパーグラフ70Gに対するタスクの内容に応じて適宜与えられてよい。例えば、所定の基準を満たすマッチングの真値等の推論の正解が、各訓練グラフ30Gに与えられてよい。一例として、上記チームビルディングのケースでは、所定の基準は、例えば、金銭的利益、離職率の低下、開発工程の縮小、進捗報告量の増加、心理指標(例えば、アンケート、睡眠時間、血圧等)の改善等の実世界で達成された成果を評価するように規定されてよい。
第7具体例では、モデル生成装置1の機械学習の際、及び推論装置2Gの推論処理の際に、ハイパーグラフ70Gが入力グラフとして取り扱われる。各集合に属する各要素の特徴量を算出することは、ハイパーグラフ70Gの各部分集合に属する各要素に接続する枝の特徴から各要素の特徴量を算出することにより構成される。すなわち、特徴抽出器501は、ハイパーグラフ70Gの部分集合毎に、各要素に接続する枝の特徴から各要素の特徴量を算出するように構成される。これらの点を除き、第7具体例の構成は、上記実施形態と同様であってよい。
(モデル生成装置)
第7具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、ハイパーグラフ70Gに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
第7具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、ハイパーグラフ70Gに対するタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。
すなわち、ステップS101では、制御部11は、複数の訓練グラフ30Gを取得する。各訓練グラフ30Gは、ハイパーグラフ70Gにより構成される。各訓練グラフ30Gにおける要素及び枝の設定は、訓練対象の条件を適切に表現するように適宜与えられてよい。ステップS102では、制御部11は、取得された複数の訓練グラフ30Gを使用して、推論モデル5の機械学習を実施する。この機械学習により、ハイパーグラフ70Gに対してタスクの解を推論する能力を獲得した訓練済みの推論モデル5を生成することができる。ステップS103では、制御部11は、生成された訓練済みの推論モデル5を示す学習結果データ125を生成し、生成された学習結果データ125を所定の記憶領域に保存する。学習結果データ125は、任意のタイミングで推論装置2Gに提供されてよい。
(推論装置)
推論装置2Gのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第7具体例において、推論装置2Gは、上記推論装置2と同様の処理手順により、ハイパーグラフ70Gに対するタスクの解を推論することができる。
推論装置2Gのハードウェア構成及びソフトウェア構成は、上記実施形態に係る推論装置2と同様であってよい。第7具体例において、推論装置2Gは、上記推論装置2と同様の処理手順により、ハイパーグラフ70Gに対するタスクの解を推論することができる。
すなわち、ステップS201では、推論装置2Gの制御部は、取得部として動作し、対象グラフ221Gを取得する。対象グラフ221Gは、ハイパーグラフ70Gにより構成される。対象グラフ221Gにおける要素及び枝の設定は、推論対象の条件を適切に表現するように適宜与えられてよい。ステップS202では、制御部は、推論部として動作し、訓練済みの推論モデル5を使用して、取得された対象グラフ221Gに対するタスクの解を推論する。
ステップS203では、制御部は、出力部として動作し、推論結果に関する情報を出力する。一例として、制御部は、得られた推論結果をそのまま出力装置に出力してもよい。他の一例として、上記マッチングの推論結果を得た場合、上記第1具体例等と同様に、制御部は、推論結果の少なくとも一部のマッチングを成立させてもよい。また、推論装置2Gは、オンラインでリアルタイムにマッチングを遂行するように構成されてよい。
(特徴)
第7具体例によれば、与えられるタスクがハイパーグラフ70Gで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、ハイパーグラフ70Gで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Gでは、そのような訓練済みの推論モデル5を使用することで、ハイパーグラフ70Gで表現されるタスクの解を効率的に推論することができる。
第7具体例によれば、与えられるタスクがハイパーグラフ70Gで表現される場面において、推論処理の効率化を図ることができる。モデル生成装置1では、ハイパーグラフ70Gで表現されるタスクを効率的に遂行可能な訓練済みの推論モデル5を生成することができる。推論装置2Gでは、そのような訓練済みの推論モデル5を使用することで、ハイパーグラフ70Gで表現されるタスクの解を効率的に推論することができる。
また、第1具体例等と同様に、ハイパーグラフ70Gにおいて、部分集合間の全ての要素の組み合わせに必ずしも枝が与えられていなくてもよい。選抜モジュール503は、要素間に予め枝が与えられているか否かに関係なく、各要素に接続する1つ以上の枝を選抜してよい。これにより、枝が与えられていなくても、タスクを解くのに有益な要素の組み合わせを参照し、タスクの解を推論することができる。その結果、推論精度の向上を期待することができる。
<4.2>
上記実施形態において、選抜モジュール503は、微分可能に構成され、上記尤度を算出するように構成された演算モジュールを備えてよい。すなわち、選抜モジュール503は、演算モジュールにより、各要素と各候補要素との間の尤度を算出するように構成されてよい。演算モジュールは、尤度を算出する演算処理を実行するための1つ以上のパラメータであって、機械学習により調整されるパラメータを備える機械学習モデルにより構成されてよい。そして、上記機械学習の処理において、選抜モジュール503の演算モジュールも、グラフ推論モジュール55及び特徴抽出器501と共に一貫的に訓練されてよい。これにより、演算モジュールのパフォーマンスを推論処理に最適化することができる。その結果、訓練済みの推論モデル5において、推論の精度を担保した上で、推論処理の効率化を図ることができる。
上記実施形態において、選抜モジュール503は、微分可能に構成され、上記尤度を算出するように構成された演算モジュールを備えてよい。すなわち、選抜モジュール503は、演算モジュールにより、各要素と各候補要素との間の尤度を算出するように構成されてよい。演算モジュールは、尤度を算出する演算処理を実行するための1つ以上のパラメータであって、機械学習により調整されるパラメータを備える機械学習モデルにより構成されてよい。そして、上記機械学習の処理において、選抜モジュール503の演算モジュールも、グラフ推論モジュール55及び特徴抽出器501と共に一貫的に訓練されてよい。これにより、演算モジュールのパフォーマンスを推論処理に最適化することができる。その結果、訓練済みの推論モデル5において、推論の精度を担保した上で、推論処理の効率化を図ることができる。
<4.3>
上記実施形態において、ステップS102の機械学習の順方向の演算の際に、制御部11は、選抜モジュール503において算出される尤度に乱数を加算し、得られた値に基づいて、1つ以上の枝を選抜してよい。これにより、機械学習の処理において、確率的な枝選抜の探索を行うことができる。すなわち、枝選抜のパラメータの最適な値を探索する範囲を拡げることができる。その結果、生成される訓練済みの推論モデル5の推論精度の向上を期待することができる。
上記実施形態において、ステップS102の機械学習の順方向の演算の際に、制御部11は、選抜モジュール503において算出される尤度に乱数を加算し、得られた値に基づいて、1つ以上の枝を選抜してよい。これにより、機械学習の処理において、確率的な枝選抜の探索を行うことができる。すなわち、枝選抜のパラメータの最適な値を探索する範囲を拡げることができる。その結果、生成される訓練済みの推論モデル5の推論精度の向上を期待することができる。
<4.4>
上記実施形態において、選抜モジュール503は、枝を選抜するための複数の基準を有してよく、基準毎に枝を選抜するように構成されてよい。複数の基準は、例えば、尤度の高いものを優先する、尤度が閾値以上離れているものを選択する等を含んでよい。複数の基準のうちの一つとして、ランダムに選択することが含まれていてよい。この場合、選抜モジュール503は、各集合のグラフ情報において、枝の選抜結果を示す情報にその枝を選抜した基準を示す情報を更に追加する(例えば、cat演算する)ように構成されてよい
。基準を示す情報は、例えば、one-hot-vector等により構成されてよい。各基準は、任意の関数で表現されてよい。2つ以上の基準を1つの関数で表現してもよいし、1つの基準
を1つの関数で表現してもよい。本変形例によれば、複数の基準で枝を選抜するようにすることで、参照する枝の範囲を拡げることができ、これにより、生成される訓練済みの推論モデル5の推論精度の向上を期待することができる。
上記実施形態において、選抜モジュール503は、枝を選抜するための複数の基準を有してよく、基準毎に枝を選抜するように構成されてよい。複数の基準は、例えば、尤度の高いものを優先する、尤度が閾値以上離れているものを選択する等を含んでよい。複数の基準のうちの一つとして、ランダムに選択することが含まれていてよい。この場合、選抜モジュール503は、各集合のグラフ情報において、枝の選抜結果を示す情報にその枝を選抜した基準を示す情報を更に追加する(例えば、cat演算する)ように構成されてよい
。基準を示す情報は、例えば、one-hot-vector等により構成されてよい。各基準は、任意の関数で表現されてよい。2つ以上の基準を1つの関数で表現してもよいし、1つの基準
を1つの関数で表現してもよい。本変形例によれば、複数の基準で枝を選抜するようにすることで、参照する枝の範囲を拡げることができ、これにより、生成される訓練済みの推論モデル5の推論精度の向上を期待することができる。
§5 実施例
上記実施形態の有効性を検証するため、以下の実施例及び比較例に係る推論モデルを生成した。ただし、本発明は、以下の実施例に限定されるものではない。
上記実施形態の有効性を検証するため、以下の実施例及び比較例に係る推論モデルを生成した。ただし、本発明は、以下の実施例に限定されるものではない。
<データセット>
まず、与えられた条件を表現するグラフとして上記第5具体例の頂点特徴グラフを仮定し、タスクには、2件の点群データ間のマッチングを採用した。マッチングタスクの機械学習及び評価のため、以下の2つのデータセットを用意した。
まず、与えられた条件を表現するグラフとして上記第5具体例の頂点特徴グラフを仮定し、タスクには、2件の点群データ間のマッチングを採用した。マッチングタスクの機械学習及び評価のため、以下の2つのデータセットを用意した。
第1データセットには、参考文献2(Gul Varol, Javier Romero, Xavier Martin, Naureen Mahmood, Michael J. Black, Ivan Laptev, Cordelia Schmid, “Learning from Synthetic Humans”, [online]、[令和4年1月11日検索]、インターネット<URL: https://arxiv.org/abs/1701.01370>)に公開されるSurrealデータセットを使用した。この第1データセットには、訓練用の230,000件の点群サンプル及び評価用の100件の点群サンプルが含まれている。訓練用の点群サンプルをランダムにペアリングすることで、115,000件の組み合わせ(訓練グラフ)を作成した。一方、評価用の点群サンプルをランダムに回転及び並進して、ペアとなる点群サンプルを作成することで、100件の組み合わせ(評価用の入力グラフ、対象グラフ)を作成した。これにより、各組み合わせ間では、各点群サンプルは、形状に変化のない物体(人体)を示すように構成された(剛体設定)。
第2データセットには、上記第1データセットのSurrealデータセット及び参考文献3
(Bo Li, et al. “A comparison of 3D shape retrieval methods based on a large-scale benchmark supporting multimodal queries”, [online]、[令和4年1月11日
検索]、インターネット<URL: https://userweb.cs.txstate.edu/~burtscher/papers/cviu15.pdf>)に公開されるSHRECデータセットを使用した。この第2データセットには、
それぞれ230,000件及び860件の点群サンプルが含まれている。訓練用の点群サンプルの組み合わせには、上記第1データセットと同様の115,000件の組み合わせを用いた。一方、評価用の点群サンプルはランダムにペアリングすることで、430件の組み合わせ(評価用の入力グラフ、対象グラフ)を作成した。これにより、第2データセットにおける評価用の各組み合わせ間では、各点群サンプルは、形状(姿勢)に変化のある人体を示すように構成された(非剛体設定)。なお、第1データセット及び第2データセットでは、各点群サンプルは、1024個の点(要素)を含んでいた。
(Bo Li, et al. “A comparison of 3D shape retrieval methods based on a large-scale benchmark supporting multimodal queries”, [online]、[令和4年1月11日
検索]、インターネット<URL: https://userweb.cs.txstate.edu/~burtscher/papers/cviu15.pdf>)に公開されるSHRECデータセットを使用した。この第2データセットには、
それぞれ230,000件及び860件の点群サンプルが含まれている。訓練用の点群サンプルの組み合わせには、上記第1データセットと同様の115,000件の組み合わせを用いた。一方、評価用の点群サンプルはランダムにペアリングすることで、430件の組み合わせ(評価用の入力グラフ、対象グラフ)を作成した。これにより、第2データセットにおける評価用の各組み合わせ間では、各点群サンプルは、形状(姿勢)に変化のある人体を示すように構成された(非剛体設定)。なお、第1データセット及び第2データセットでは、各点群サンプルは、1024個の点(要素)を含んでいた。
<実施例>
上記実施形態に係る構成を採用し、オープンソースの機械学習ライブラリを使用して、パーソナルコンピュータ上で、第1実施例に係る推論モデルを作成した。特徴抽出器は、128次元の特徴量を要素毎に算出するように構成した。選抜モジュールは、尤度に基づいて、各点群サンプル(集合)の要素毎に128個の枝を選抜するように構成した。尤度の計算には、上記式1の演算式を用いた。グラフ推論モジュールには、非特許文献3で提案されるWeaveNetを採用した。特徴織込み層の数は、10個に設定した。上記115,000件の訓練用の点群サンプルの組み合わせを用いて、第1実施例に係る推論モデルの機械学習を実施した。機械学習では、学習率を0.0001に設定し、最適化アルゴリズムにはAdamを用いた。そして、後述する参考文献4のFigure 4で示される方法に対応して、訓練用の点群サンプルの組み合わせに対して推論結果に基づいて対応先に各点の座標を写像した後、別の処理により元の点群を復元した際の再構成誤差を最小化するように推
論モデルのパラメータの値を最適化した(教師なし学習)。これにより、第1実施例に係る訓練済みの推論モデルを生成した。
上記実施形態に係る構成を採用し、オープンソースの機械学習ライブラリを使用して、パーソナルコンピュータ上で、第1実施例に係る推論モデルを作成した。特徴抽出器は、128次元の特徴量を要素毎に算出するように構成した。選抜モジュールは、尤度に基づいて、各点群サンプル(集合)の要素毎に128個の枝を選抜するように構成した。尤度の計算には、上記式1の演算式を用いた。グラフ推論モジュールには、非特許文献3で提案されるWeaveNetを採用した。特徴織込み層の数は、10個に設定した。上記115,000件の訓練用の点群サンプルの組み合わせを用いて、第1実施例に係る推論モデルの機械学習を実施した。機械学習では、学習率を0.0001に設定し、最適化アルゴリズムにはAdamを用いた。そして、後述する参考文献4のFigure 4で示される方法に対応して、訓練用の点群サンプルの組み合わせに対して推論結果に基づいて対応先に各点の座標を写像した後、別の処理により元の点群を復元した際の再構成誤差を最小化するように推
論モデルのパラメータの値を最適化した(教師なし学習)。これにより、第1実施例に係る訓練済みの推論モデルを生成した。
また、第1実施例と同様の構成を有する第2実施例に係る推論モデルを作成した。そして、上記115,000件の訓練用の点群サンプルの組み合わせに正解ラベルを与えて、正解ラベルにより示されるマッチングの真値に適合する出力が得られるように、第2実施例に係る推論モデルのパラメータの値を最適化した(教師あり学習)。第2実施例のその他の条件は、第1実施例と同じに設定した。これにより、第2実施例に係る訓練済みの推論モデルを生成した。
<比較例>
一方、参考文献4(Yiming Zeng, Yue Qian, Zhiyu Zhu, Junhui Hou, Hui Yuan, Ying
He, “CorrNet3D: Unsupervised end-to-end learning of dense correspondence for 3D point clouds”, [online]、[令和4年1月11日検索]、インターネット<URL: https://arxiv.org/abs/2012.15638>)で提案されるCorrNet3Dを採用して、第1比較例に係る推論モデルを作成した。そして、上記第1実施例と同様の条件(教師なし学習)で、機械学習を実施することで、第1比較例に係る訓練済みの推論モデルを生成した。また、第1比較例と同様の構成を有する第2比較例に係る推論モデルを作成した。そして、上記第2実施例と同様の条件(教師あり学習)で機械学習を実施することで、第2比較例に係る訓練済みの推論モデルを生成した。
一方、参考文献4(Yiming Zeng, Yue Qian, Zhiyu Zhu, Junhui Hou, Hui Yuan, Ying
He, “CorrNet3D: Unsupervised end-to-end learning of dense correspondence for 3D point clouds”, [online]、[令和4年1月11日検索]、インターネット<URL: https://arxiv.org/abs/2012.15638>)で提案されるCorrNet3Dを採用して、第1比較例に係る推論モデルを作成した。そして、上記第1実施例と同様の条件(教師なし学習)で、機械学習を実施することで、第1比較例に係る訓練済みの推論モデルを生成した。また、第1比較例と同様の構成を有する第2比較例に係る推論モデルを作成した。そして、上記第2実施例と同様の条件(教師あり学習)で機械学習を実施することで、第2比較例に係る訓練済みの推論モデルを生成した。
<評価>
以上により生成された各実施例及び各比較例に係る訓練済みの推論モデルを使用して、第1データセット及び第2データセットの評価用の点群サンプルの組み合わせに対して点群マッチングのタスクを遂行した。許容誤差を0.00~0.2の間で変動させて、各実施例及び各比較例に係る訓練済みの推論モデルによるマッチングの精度を評価した。
以上により生成された各実施例及び各比較例に係る訓練済みの推論モデルを使用して、第1データセット及び第2データセットの評価用の点群サンプルの組み合わせに対して点群マッチングのタスクを遂行した。許容誤差を0.00~0.2の間で変動させて、各実施例及び各比較例に係る訓練済みの推論モデルによるマッチングの精度を評価した。
図17は、第1データセットに対する各実施例及び各比較例の実験結果(設定された許容誤差におけるマッチング精度)を示す。図18は、第2データセットに対する各実施例及び各比較例の実験結果(設定された許容誤差におけるマッチング精度)を示す。図17及び図18に示されるとおり、剛体設定及び非剛体設定共に、各比較例よりも、各実施例の方がマッチングの精度が高かった。特に、教師あり学習で訓練した第2比較例よりも、教師なし学習で訓練した第1実施例のマッチング精度が高かった。これらの結果から、本発明によれば、枝選抜により推論処理の効率化を図ると共に、既存の手法と比べて、高精度に推論可能な訓練済みの推論モデルを生成可能であることが分かった。
更に、第1実施例及び第1比較例の間で、マッチング精度を比較するため、第2データセットの評価用の組み合わせの中から、許容誤差=0.00の第1実施例によるマッチング精度と許容誤差=0.06の第1比較例のマッチング精度とが同程度である2件のサンプルを抽出した。そして、抽出された各組み合わせサンプルにおいて、許容誤差=0.00及び許容誤差=0.06の場合における第1実施例及び第1比較例のマッチング精度を比較した。
図19A及び図19Cは、許容誤差を0.00(図19A)及び0.06(図19C)に設定した場合における、第2データセットの第1組み合わせサンプルに対する第1比較例のマッチング結果を示す。図19B及び図19Dは、許容誤差を0.00(図19B)及び0.06(図19D)に設定した場合における、第2データセットの第1組み合わせサンプルに対する第1実施例のマッチング結果を示す。図20A及び図20Cは、許容誤差を0.00(図20A)及び0.06(図20C)に設定した場合における、第2データセットの第2組み合わせサンプルに対する第1比較例のマッチング結果を示す。図20
B及び図20Dは、許容誤差を0.00(図20B)及び0.06(図20D)に設定した場合における、第2データセットの第2組み合わせサンプルに対する第1実施例のマッチング結果を示す。なお、図19A~図19D及び図20A~図20Dにおける実線は、設定された許容誤差において正しくマッチングされた点のペアを示す。
B及び図20Dは、許容誤差を0.00(図20B)及び0.06(図20D)に設定した場合における、第2データセットの第2組み合わせサンプルに対する第1実施例のマッチング結果を示す。なお、図19A~図19D及び図20A~図20Dにおける実線は、設定された許容誤差において正しくマッチングされた点のペアを示す。
図19C、図19D、図20C及び図20Dに示されるとおり、許容誤差=0.00の第1実施例によるマッチング精度と許容誤差=0.06の第1比較例のマッチング精度とが同程度である各サンプルに対して、許容誤差=0.06の第1実施例のマッチング精度は更に高かった。これらの結果からも、本発明によれば、既存の手法と比べて、高精度に推論可能な訓練済みの推論モデルを生成可能であることが分かった。
1…モデル生成装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…外部インタフェース、
15…入力装置、16…出力装置、17…ドライブ、
81…モデル生成プログラム、91…記憶媒体、
111…取得部、112…学習処理部、
113…保存処理部、
125…学習結果データ、
2…推論装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…外部インタフェース、
25…入力装置、26…出力装置、27…ドライブ、
82…推論プログラム、92…記憶媒体、
211…取得部、212…推論部、213…出力部、
221…対象グラフ、
30…訓練グラフ、
5…推論モデル、
50…前処理モジュール、
501…特徴抽出器、503…選抜モジュール、
55…グラフ推論モジュール
11…制御部、12…記憶部、13…通信インタフェース、
14…外部インタフェース、
15…入力装置、16…出力装置、17…ドライブ、
81…モデル生成プログラム、91…記憶媒体、
111…取得部、112…学習処理部、
113…保存処理部、
125…学習結果データ、
2…推論装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…外部インタフェース、
25…入力装置、26…出力装置、27…ドライブ、
82…推論プログラム、92…記憶媒体、
211…取得部、212…推論部、213…出力部、
221…対象グラフ、
30…訓練グラフ、
5…推論モデル、
50…前処理モジュール、
501…特徴抽出器、503…選抜モジュール、
55…グラフ推論モジュール
Claims (15)
- コンピュータが、
複数の訓練グラフを取得するステップと、
取得された前記複数の訓練グラフを使用して、推論モデルの機械学習を実施するステップと、
を実行するモデル生成方法であって、
前記推論モデルは、前処理モジュール及びグラフ推論モジュールを備え、
前記前処理モジュールは、特徴抽出器及び選抜モジュールを備え、
前記特徴抽出器は、入力グラフに含まれる複数の集合それぞれに属する各要素の特徴量を算出するように構成され、
前記選抜モジュールは、
算出された前記各要素の特徴量に基づいて、前記各要素を始点に延びる1つ以上の枝を選抜し、かつ
算出された前記各要素の特徴量及び選抜された前記1つ以上の枝を示すグラフ情報を集合毎に生成するように構成され、
前記グラフ推論モジュールは、微分可能に構成され、かつ生成された前記各集合のグラフ情報から前記入力グラフに対するタスクの解を推論するように構成され、
前記機械学習は、前記各訓練グラフを前記入力グラフとして前記前処理モジュールに入力することで前記グラフ推論モジュールより得られる推論の結果が前記各訓練グラフに対する前記タスクの正解に適合するように前記推論モデルを訓練することにより構成される、
モデル生成方法。 - 前記各要素の特徴量に基づいて、前記1つ以上の枝を選抜することは、
前記各要素からの枝を接続する先の候補となる各候補要素と前記各要素との間の尤度を算出し、かつ
算出された尤度に応じて、前記1つ以上の枝を選抜する、
ことにより構成される、
請求項1に記載のモデル生成方法。 - 前記各訓練グラフは、有向2部グラフであり、
前記有向2部グラフに含まれる複数の要素は、2つの部分集合のいずれかに属するように分けられ、
前記入力グラフの前記複数の集合は、前記有向2部グラフの前記2つの部分集合により構成され、
前記各要素の特徴量を算出することは、前記有向2部グラフの前記各要素を始点に延びる枝の特徴から前記各要素の特徴量を算出することにより構成される、
請求項1又は2に記載のモデル生成方法。 - 前記タスクは、2つのパーティ間でのマッチングタスクであって、各パーティに属する対象同士の最適なペアリングを決定することであり、
前記有向2部グラフの前記2つの部分集合は、前記マッチングタスクにおける前記2つのパーティに対応し、
前記有向2部グラフの前記各部分集合に属する前記要素は、前記各パーティに属する前記対象に対応する、
請求項3に記載のモデル生成方法。 - 前記各訓練グラフは、無向2部グラフであり、
前記無向2部グラフに含まれる複数の要素は、2つの部分集合のいずれかに属するよう
に分けられ、
前記入力グラフの前記複数の集合は、前記無向2部グラフの前記2つの部分集合により構成され、
前記各要素の特徴量を算出することは、前記無向2部グラフの前記各要素に接続する枝の特徴から前記各要素の特徴量を算出することにより構成される、
請求項1又は2に記載のモデル生成方法。 - 前記タスクは、2つのパーティ間でのマッチングタスクであって、各パーティに属する対象同士の最適なペアリングを決定することであり、
前記無向2部グラフの前記2つの部分集合は、前記マッチングタスクにおける前記2つのパーティに対応し、
前記無向2部グラフの前記各部分集合に属する前記要素は、前記各パーティに属する前記対象に対応する、
請求項5に記載のモデル生成方法。 - 前記各訓練グラフは、有向グラフであり、
前記入力グラフの前記複数の集合は、第1集合及び第2集合により構成され、
前記第1集合に属する要素は、前記有向グラフを構成する有向枝の始点に対応し、
前記第2集合に属する要素は、前記有向枝の終点に対応し、
前記各要素の特徴量を算出することは、前記第1集合に属する前記要素より流出する有向枝の特徴から前記第1集合に属する前記要素の特徴量を算出すること、及び前記第2集合に属する前記要素に流入する有向枝の特徴から前記第2集合に属する前記要素の特徴量を算出することにより構成される、
請求項1又は2に記載のモデル生成方法。 - 前記各訓練グラフは、無向グラフであり、
前記入力グラフの前記複数の集合は、第1集合及び第2集合により構成され、
前記第1集合及び前記第2集合それぞれに属する各要素は、前記無向グラフを構成する各要素に対応し、
前記各要素の特徴量を算出することは、前記各要素に接続する枝の特徴から前記各要素の特徴量を算出することにより構成される、
請求項1又は2に記載のモデル生成方法。 - 前記各訓練グラフは、前記各訓練グラフに含まれる各要素が属性を有するように構成され、
前記各要素の特徴量を算出することは、前記各要素の有する属性から前記各要素の特徴量を算出することにより構成される、
請求項1又は2に記載のモデル生成方法。 - 前記タスクは、前記各集合に属する要素間の関係性を推定することである、
請求項9に記載のモデル生成方法。 - 前記各訓練グラフは、前記各訓練グラフに含まれる各要素が属性を有するように構成され、
前記各訓練グラフに含まれる前記各要素間の関係性が定義されており、
前記各要素の特徴量を算出することは、前記各要素の有する属性及び前記関係性を示す情報から前記各要素の特徴量を算出することにより構成される、
請求項1又は2に記載のモデル生成方法。 - 前記各訓練グラフは、ハイパーグラフであり、
前記ハイパーグラフに含まれる複数の要素は、3つ以上の部分集合のうちのいずれかに属するように分けられ、
前記入力グラフの前記複数の集合は、前記ハイパーグラフの前記3つ以上の部分集合により構成され、
前記各要素の特徴量を算出することは、前記ハイパーグラフの前記各要素に接続する枝の特徴から前記各要素の特徴量を算出することにより構成される、
請求項1又は2に記載のモデル生成方法。 - 複数の訓練グラフを取得するように構成される取得部と、
取得された前記複数の訓練グラフを使用して、推論モデルの機械学習を実施するように構成される学習処理部と、
を備えるモデル生成装置であって、
前記推論モデルは、前処理モジュール及びグラフ推論モジュールを備え、
前記前処理モジュールは、特徴抽出器及び選抜モジュールを備え、
前記特徴抽出器は、入力グラフに含まれる複数の集合それぞれに属する各要素の特徴量を算出するように構成され、
前記選抜モジュールは、
算出された前記各要素の特徴量に基づいて、前記各要素を始点に延びる1つ以上の枝を選抜し、かつ
算出された前記各要素の特徴量及び選抜された前記1つ以上の枝を示すグラフ情報を集合毎に生成するように構成され、
前記グラフ推論モジュールは、微分可能に構成され、かつ生成された前記各集合のグラフ情報から前記入力グラフに対するタスクの解を推論するように構成され、
前記機械学習は、前記各訓練グラフを前記入力グラフとして前記前処理モジュールに入力することで前記グラフ推論モジュールより得られる推論の結果が前記各訓練グラフに対する前記タスクの正解に適合するように前記推論モデルを訓練することにより構成される、
モデル生成装置。 - コンピュータに、
対象グラフを取得するステップと、
機械学習により訓練済みの推論モデルを使用して、取得された前記対象グラフに対するタスクの解を推論するステップと、
前記タスクの解を推論した結果に関する情報を出力するステップと、
を実行させるための推論プログラムであって、
前記推論モデルは、前処理モジュール及びグラフ推論モジュールを備え、
前記前処理モジュールは、特徴抽出器及び選抜モジュールを備え、
前記特徴抽出器は、入力グラフに含まれる複数の集合それぞれに属する各要素の特徴量を算出するように構成され、
前記選抜モジュールは、
算出された前記各要素の特徴量に基づいて、前記各要素を始点に延びる1つ以上の枝を選抜し、かつ
算出された前記各要素の特徴量及び選抜された前記1つ以上の枝を示すグラフ情報を集合毎に生成するように構成され、
前記グラフ推論モジュールは、微分可能に構成され、かつ生成された前記各集合のグラフ情報から前記入力グラフに対する前記タスクの解を推論するように構成され、
前記対象グラフに対するタスクの解を推論することは、前記対象グラフを前記入力グラフとして前記前処理モジュールに入力して、前記タスクの解を推論した結果を前記グラフ推論モジュールから得ることにより構成される、
推論プログラム。 - 対象グラフを取得するように構成される取得部と、
機械学習により訓練済みの推論モデルを使用して、取得された前記対象グラフに対するタスクの解を推論するように構成される推論部と、
前記タスクの解を推論した結果に関する情報を出力するように構成される出力部と、
を備える推論装置であって、
前記推論モデルは、前処理モジュール及びグラフ推論モジュールを備え、
前記前処理モジュールは、特徴抽出器及び選抜モジュールを備え、
前記特徴抽出器は、入力グラフに含まれる複数の集合それぞれに属する各要素の特徴量を算出するように構成され、
前記選抜モジュールは、
算出された前記各要素の特徴量に基づいて、前記各要素を始点に延びる1つ以上の枝を選抜し、かつ
算出された前記各要素の特徴量及び選抜された前記1つ以上の枝を示すグラフ情報を集合毎に生成するように構成され、
前記グラフ推論モジュールは、微分可能に構成され、かつ生成された前記各集合のグラフ情報から前記入力グラフに対する前記タスクの解を推論するように構成され、
前記対象グラフに対するタスクの解を推論することは、前記対象グラフを前記入力グラフとして前記前処理モジュールに入力して、前記タスクの解を推論した結果を前記グラフ推論モジュールから得ることにより構成される、
推論装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022007218A JP2023106081A (ja) | 2022-01-20 | 2022-01-20 | モデル生成方法、モデル生成装置、推論プログラム、及び推論装置 |
EP22922194.0A EP4443339A1 (en) | 2022-01-20 | 2022-12-22 | Model generation method, model generation device, inference program, and inference device |
PCT/JP2022/047490 WO2023140044A1 (ja) | 2022-01-20 | 2022-12-22 | モデル生成方法、モデル生成装置、推論プログラム、及び推論装置 |
CN202280087994.8A CN118525283A (zh) | 2022-01-20 | 2022-12-22 | 模型生成方法、模型生成装置、推理程序以及推理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022007218A JP2023106081A (ja) | 2022-01-20 | 2022-01-20 | モデル生成方法、モデル生成装置、推論プログラム、及び推論装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023106081A true JP2023106081A (ja) | 2023-08-01 |
Family
ID=87348611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022007218A Pending JP2023106081A (ja) | 2022-01-20 | 2022-01-20 | モデル生成方法、モデル生成装置、推論プログラム、及び推論装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4443339A1 (ja) |
JP (1) | JP2023106081A (ja) |
CN (1) | CN118525283A (ja) |
WO (1) | WO2023140044A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117422746B (zh) * | 2023-10-23 | 2024-06-21 | 武汉珈和科技有限公司 | 分区非线性地理配准方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210232918A1 (en) * | 2020-01-29 | 2021-07-29 | Nec Laboratories America, Inc. | Node aggregation with graph neural networks |
-
2022
- 2022-01-20 JP JP2022007218A patent/JP2023106081A/ja active Pending
- 2022-12-22 CN CN202280087994.8A patent/CN118525283A/zh active Pending
- 2022-12-22 EP EP22922194.0A patent/EP4443339A1/en active Pending
- 2022-12-22 WO PCT/JP2022/047490 patent/WO2023140044A1/ja unknown
Also Published As
Publication number | Publication date |
---|---|
EP4443339A1 (en) | 2024-10-09 |
WO2023140044A1 (ja) | 2023-07-27 |
CN118525283A (zh) | 2024-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ahmed et al. | A novel statistical method for scene classification based on multi-object categorization and logistic regression | |
AU2018368279A1 (en) | Meta-learning for multi-task learning for neural networks | |
US20180285778A1 (en) | Sensor data processor with update ability | |
US11816185B1 (en) | Multi-view image analysis using neural networks | |
WO2022163003A1 (ja) | モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム | |
Acharya et al. | A recurrent deep network for estimating the pose of real indoor images from synthetic image sequences | |
CN109447096B (zh) | 一种基于机器学习的扫视路径预测方法和装置 | |
Selvan et al. | Uncertainty quantification in medical image segmentation with normalizing flows | |
Wang et al. | Multi-objective path finding in stochastic networks using a biogeography-based optimization method | |
JP7536893B2 (ja) | 自己注意ベースのニューラルネットワークを使用した画像処理 | |
Ostovar et al. | Adaptive image thresholding of yellow peppers for a harvesting robot | |
Selvan Chenni Chetty et al. | Optimized hierarchical tree deep convolutional neural network of a tree-based workload prediction scheme for enhancing power efficiency in cloud computing | |
Zhao et al. | Application research of image recognition technology based on CNN in image location of environmental monitoring UAV | |
US11727686B2 (en) | Framework for few-shot temporal action localization | |
WO2023140044A1 (ja) | モデル生成方法、モデル生成装置、推論プログラム、及び推論装置 | |
Radwan | Leveraging sparse and dense features for reliable state estimation in urban environments | |
CN116997939A (zh) | 使用专家混合来处理图像 | |
Xu et al. | Slime Mold optimization with hybrid deep learning enabled crowd-counting approach in video surveillance | |
Mukilan et al. | Human and object detection using hybrid deep convolutional neural network | |
Wang et al. | Human activity recognition based on an efficient neural architecture search framework using evolutionary multi-objective surrogate-assisted algorithms | |
CN112488178A (zh) | 网络模型的训练方法及装置、图像处理方法及装置、设备 | |
Li et al. | [Retracted] Human Motion Representation and Motion Pattern Recognition Based on Complex Fuzzy Theory | |
US20230244985A1 (en) | Optimized active learning using integer programming | |
Li et al. | Worker abnormal behavior recognition based on spatio-temporal graph convolution and attention model | |
JP2023527341A (ja) | プロトタイプオプションの発見による解釈可能な模倣学習 |