(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-30
(45)【発行日】2024-11-08
(54)【発明の名称】点データをラスターデータに組み合わせる機械学習のための方法、装置、及び、プログラム
(51)【国際特許分類】
G06N 3/045 20230101AFI20241031BHJP
【FI】
G06N3/045
(21)【出願番号】P 2020215187
(22)【出願日】2020-12-24
【審査請求日】2023-08-22
(32)【優先日】2019-12-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000000099
【氏名又は名称】株式会社IHI
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100083806
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100101247
【氏名又は名称】高橋 俊一
(74)【代理人】
【識別番号】100095500
【氏名又は名称】伊藤 正和
(74)【代理人】
【識別番号】100098327
【氏名又は名称】高松 俊雄
(72)【発明者】
【氏名】シュムード,ヨハネス
(72)【発明者】
【氏名】ルー,シーユアン
(72)【発明者】
【氏名】ハーマン,ヘンドリック
(72)【発明者】
【氏名】櫻井 秋久
(72)【発明者】
【氏名】泉山 卓
(72)【発明者】
【氏名】長谷川 正雄
【審査官】真木 健彦
(56)【参考文献】
【文献】特表2019-504659(JP,A)
【文献】特開2019-125110(JP,A)
【文献】特開2018-072938(JP,A)
【文献】Guilin Liu,Image Inpainting for Irregular Holes Using Partial Convolutions ,arXiv:1804.07723v2 [cs.CV] 15 Dec 2018,arXiv,2018年12月15日,P.1-23
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/04
G06N 7/00
G06T 7/00
G06F 17/17
G06Q 10/04
G01W 1/00
(57)【特許請求の範囲】
【請求項1】
点データに基づいて、ラスターデータのフィールド全体にわたって予測を生成するようにコンピュータを操作する方法であって、
部分的に空である、前記点データの行列<X
0>を取得し、
第1畳込ニューラルネットワーク
を繰り返し適用して、前記点データを
空である要素が減る方向に拡張して外挿ラスターデータの行列<X
n>を生成し、
第2畳込ニューラルネットワークによって、前記外挿ラスターデータの行列<X
n>と標準ラスターデータの行列<X
r>と組み合わせて、集約ラスターデータの行列<X
a>を生成する、方法。
【請求項2】
請求項1に記載の方法であって、
前記第1畳込ニューラルネットワークは、再帰型畳込ニューラルネットワークである、方法。
【請求項3】
請求項2に記載の方法であって、
前記第1畳込ニューラルネットワークは、ウェイト行列<W>、前記ウェイト行列<W>と同じサイズであって全ての要素が1である壱行列<O>、0又は1の値をとる要素から構成されるマスク行列<M
i>(添字iは処理の実行回数を示す、1からnまでの整数)を有し、
前記マスク行列<M
0>の1である要素の範囲は、前記行列<X
0>のうち空でない部分の範囲と同じであり、
前記処理において、
前記マスク行列<M
i-1>の1である要素の範囲が、行列<X
i-1>のうち空でない部分の範囲と同じとなるよう、前記マスク行列<M
i-1>は設定され、
前記第1畳込ニューラルネットワークは、行列<X
i-1>、前記ウェイト行列<W>、前記壱行列<O>、及び、前記マスク行列<M
i-1>の乗算により行列<X
i>を生成し、
前記マスク行列<M
n>の全ての要素が1となるn回目まで、前記処理を繰り返す、方法。
【請求項4】
請求項3に記載の方法であって、
過去のラスターデータ、及び、前記過去のラスターデータに対応する過去の点データの組からなる教師データに基づいて、前記第1畳込ニューラルネットワークの学習を行う、方法。
【請求項5】
請求項1に記載の方法であって、
前記第1畳込ニューラルネットワークは、n個(nは1以上の整数)の拡張層から構成され、
i番目(iは1からnまでの整数)の前記拡張層は、ウェイト行列<W
i>、前記ウェイト行列<W
i>と同じサイズであって全ての要素が1である壱行列<O
i>、0又は1の値をとる要素から構成されるマスク行列<M
i>を有し、
前記第1畳込ニューラルネットワークに学習させる際、
前記マスク行列<M
i-1>の1である要素の範囲が、行列<X
i-1>のうち空でない部分の範囲と同じとなるよう、前記マスク行列<M
i-1>は設定され、
i番目の前記拡張層は、行列<X
i-1>、前記ウェイト行列<W
i>、前記壱行列<O
i>、及び、前記マスク行列<M
i-1>の乗算により行列<X
i>を生成し、
前記マスク行列<M
n>の全ての要素が1となるように、i番目の前記拡張層に、前記ウェイト行列<W
i>を学習させる、方法。
【請求項6】
請求項5に記載の方法であって、
前記第1畳込ニューラルネットワークに推論させる際、前記第1畳込ニューラルネットワークは、学習時の前記行列<X
0>のうち空でない部分の範囲と同じ、空でない部分の範囲を有する、入力された前記点データを拡張して、完全に空のないラスターデータを生成する、方法。
【請求項7】
請求項1~6のいずれか一項に記載の方法であって、
前記第1畳込ニューラルネットワークは、人工ニューロンによって実装される、方法。
【請求項8】
点データに基づいて、ラスターデータのフィールド全体にわたって予測を生成するようにコンピュータを操作する方法を実行するための実行可能命令を格納するメモリと、
前記メモリに接続され、前記実行可能命令を処理可能な少なくとも1つ以上のプロセッサと
、を有する装置であって、
前記方法は、
部分的に空である、前記点データの行列<X
0>を取得し、
第1畳込ニューラルネットワーク
を繰り返し適用して、前記点データを
空である要素が減る方向に拡張して外挿ラスターデータの行列<X
n>を生成し、
第2畳込ニューラルネットワークによって、前記外挿ラスターデータの行列<X
n>と標準ラスターデータの行列<X
r>と組み合わせて、集約ラスターデータの行列<X
a>を生成する、装置。
【請求項9】
点データに基づいて、ラスターデータのフィールド全体にわたって予測を生成するようにコンピュータを操作する方法を実行するための実行可能な命令を備えるプログラムであって、
前記方法は、
部分的に空である、前記点データの行列<X
0>を取得し、
第1畳込ニューラルネットワーク
を繰り返し適用して、前記点データを
空である要素が減る方向に拡張して外挿ラスターデータの行列<X
n>を生成し、
第2畳込ニューラルネットワークによって、前記外挿ラスターデータの行列<X
n>と標準ラスターデータの行列<X
r>と組み合わせて、集約ラスターデータの行列<X
a>を生成する、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、点データをラスターデータに組み合わせる機械学習のための方法、装置、及び、プログラムに関する。
【背景技術】
【0002】
測定、予測、またはその他のプロセスから生じるかどうかに関わらず、データはいくつかのタイプの空間依存性を有し得る。
【0003】
空間依存性を有するデータの例としては、観測所での測定によって得られるデータや、多くの車両に取り付けられている外気温センサなどの移動センサによって得られる、空間(又は時間)の特定のポイントに対応するデータが挙げられる。国勢調査における観測値は、通常、地域(例えば、郡の人口や特定の郵便番号の平均収入)を表し、空間依存性を有する。ドローン、衛星または平面によって撮影された画像は、隣接するピクセルのラスターからなり、各ピクセルは、通常、ピクセルの中心の点に対応し(技術的には、この値はピクセル全体の集約にも対応しうる)、空間依存性を有する。
【0004】
上述した3つのデータの例は、それぞれ、「点データ」、「ポリゴン」、「ラスターデータ」と呼ばれる(「点データ」は、厳密には「ポリゴン」の下位概念である)。これらの形式のデータを処理する場合、多くの場合、それらを共同で処理することが望ましい。特に、点データ(または一般的なポリゴン)を、元の観測にデータが含まれていなかった領域の値も含むラスターデータに変換することがしばしば行われる。
【0005】
たとえば、近接する3つの観測所のデータがあれば、それらの観測を組み合わせて中央の値を推測することができる。このような推測を行う一般的な方法として、クリンギング手法だけでなく、単純な最近傍、双線形などの補間が知られている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
クリギングは、補間された値が事前の共分散によって支配されるガウス過程によってモデル化される補間の方法である。事前の分布に関する適切な仮定の下で、クリギングは中間値の線形不偏予測を提供する。つまり、クリギングは、事前の分布に基づいて最も可能性の高い値に近い補間を生成する。しかしながら、クリギングは、事前の分布に線形依存する補間を生成し、補間されたデータに冗長性を導入する傾向があるという課題を有する。
【0007】
本開示は上述の状況を鑑みて成されたものである。即ち、本開示は、事前の分布に線形依存せず、さらに、補間されたデータに冗長性を導入することなく点データをラスターデータに変換することができる方法、装置、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示に係る、点データをラスターデータに組み合わせる機械学習のための方法は、部分的に空である、点データの行列<X0>を取得し、第1畳込ニューラルネットワークによって点データを拡張して外挿ラスターデータの行列<Xn>を生成する。そして、第2畳込ニューラルネットワークによって、外挿ラスターデータの行列<Xn>と標準ラスターデータの行列<Xr>と組み合わせて、集約ラスターデータの行列<Xa>を生成する。
【0009】
上記第1畳込ニューラルネットワークは、再帰型畳込ニューラルネットワークであってもよい。
【0010】
上記第1畳込ニューラルネットワークは、ウェイト行列<W>、壱行列<O>、マスク行列<Mi>(添字iは処理の実行回数を示す、1からnまでの整数)を有するものであってもよい。ここで、壱行列<O>は、ウェイト行列<W>と同じサイズであって全ての要素が1である。マスク行列<Mi>は、0又は1の値をとる要素から構成される。マスク行列<M0>の1である要素の範囲は、行列<X0>のうち空でない部分の範囲と同じである。処理において、マスク行列<Mi-1>の1である要素の範囲が、行列<Xi-1>のうち空でない部分の範囲と同じとなるよう、マスク行列<Mi-1>は設定されるものであってもよい。第1畳込ニューラルネットワークは、行列<Xi-1>、ウェイト行列<W>、壱行列<O>、及び、マスク行列<Mi-1>の乗算により行列<Xi>を生成するものであってもよい。マスク行列<Mn>の全ての要素が1となるn回目まで、処理を繰り返すものであってもよい。
【0011】
過去のラスターデータ、及び、過去のラスターデータに対応する過去の点データの組からなる教師データに基づいて、上記第1畳込ニューラルネットワークの学習を行うものであってもよい。
【0012】
上記第1畳込ニューラルネットワークは、n個(nは1以上の整数)の拡張層から構成されるものであってもよい。ここで、i番目(iは1からnまでの整数)の拡張層は、ウェイト行列<Wi>、ウェイト行列<Wi>と同じサイズであって全ての要素が1である壱行列<Oi>、0又は1の値をとる要素から構成されるマスク行列<Mi>を有するものであってもよい。そして、第1畳込ニューラルネットワークに学習させる際、マスク行列<Mi-1>の1である要素の範囲が、行列<Xi-1>のうち空でない部分の範囲と同じとなるよう、マスク行列<Mi-1>は設定されるものであってもよい。i番目の拡張層は、行列<Xi-1>、ウェイト行列<Wi>、壱行列<Oi>、及び、マスク行列<Mi-1>の乗算により行列<Xi>を生成するものであってもよい。マスク行列<Mn>の全ての要素が1となるように、i番目の拡張層に、ウェイト行列<Wi>を学習させるものであってもよい。
【0013】
上記第1畳込ニューラルネットワークに推論させる際、第1畳込ニューラルネットワークは、入力された点データを拡張して、完全に空のないラスターデータを生成するものであってもよい。ここで、入力された点データは、学習時の行列<X0>のうち空でない部分の範囲と同じ、空でない部分の範囲を有するものであってもよい。
【0014】
上記第1畳込ニューラルネットワークは、人工ニューロンによって実装されるものであってもよい。
【0015】
本開示に係る、点データをラスターデータに組み合わせる機械学習のための装置は、メモリと、少なくとも1つ以上のプロセッサとを有する。ここで、メモリは、点データに基づいてラスターデータのフィールド全体にわたって予測を生成するようにコンピュータを操作する方法を実行するための実行可能命令を格納する。プロセッサは、メモリに接続され、実行可能命令を処理可能である。上記方法によれば、部分的に空である、点データの行列<X0>を取得し、第1畳込ニューラルネットワークによって点データを拡張して外挿ラスターデータの行列<Xn>を生成する。そして、第2畳込ニューラルネットワークによって、外挿ラスターデータの行列<Xn>と標準ラスターデータの行列<Xr>と組み合わせて、集約ラスターデータの行列<Xa>を生成する。
【0016】
本開示に係る、点データをラスターデータに組み合わせる機械学習のためのプログラムは、部分的に空である、点データの行列<X0>を取得し、第1畳込ニューラルネットワークによって点データを拡張して外挿ラスターデータの行列<Xn>を生成する。そして、第2畳込ニューラルネットワークによって、外挿ラスターデータの行列<Xn>と標準ラスターデータの行列<Xr>と組み合わせて、集約ラスターデータの行列<Xa>を生成する。
【発明の効果】
【0017】
本開示によれば、事前の分布に線形依存せず、さらに、補間されたデータに冗長性を導入することなく点データをラスターデータに変換することができる。
【図面の簡単な説明】
【0018】
【
図1】点データによって部分的に満たされたグリッドを示す図である。
【
図2】ラスターデータによって満たされたグリッドを示す図である。
【
図3】畳込フィルタ層による逆畳み込みの動作によって補間された点データによって満たされるグリッドの系列を示す図である。
【
図4】点データを拡張してグリッドを満たすために用いる第1のニューラルネットワークの構成を示す図である。
【
図5】点データからラスターデータを得るための拡張ネットワークの詳細を示す図である。
【
図6】点データを拡張してグリッドを満たすために用いる第1の計算式を示す図である。
【
図7】点データを拡張してグリッドを満たすために用いる第2のニューラルネットワークの構成を示す図である。
【
図8】点データからラスターデータを得るために用いる拡張層の詳細を示す図である。
【
図9】点データを拡張してグリッドを満たすために用いる第2の計算式を示す図である。
【
図10】点データを拡張してグリッドを満たす方法のフローチャートを示す図である。
【発明を実施するための形態】
【0019】
以下、いくつかの例示的な実施形態について、図面を参照して説明する。なお、各図において共通する部分には同一の符号を付し、重複する説明を省略する。
【0020】
フィールドの変数の予測は、グリッド内の点における変数の値の系列を測定し、時間が変数として組み込まれた方程式を適用して、点データによって部分的に満たされたグリッドから時間方向に外挿して予測を行うことで実現されてきた。フィールドの変数の内挿・外挿は、グリッドを満たす点の間で内挿・外挿を行うことで実現されてきた。
【0021】
図1は、点データによって部分的に満たされたグリッド100を示す図である。
図1では、点データのあるグリッドは「+」記号でマークされ、濃い色で網掛けされている。点データは、任意の位置、時間における測定値によって得られる。ここで、点データを取得するセンサとしては、衛星、飛行機、自動車、携帯電話などに搭載されたセンサなどが挙げられる。フィールドの予測を生成するために予測された点の間の補間には、例えば「クリギング」など、種々の方法が使われてきた。
【0022】
フィールドの変数を取得する方法としては、例えば、レーザ、レーダ、X線、超音波などの散乱技術を用いて、グリッド全体にわたって、グリッドの各点での変数を直接取得する方法がある。時間方向の外挿によって予測を行うために、取得されたフィールドの変数に対して、時間を変数として有する方程式が適用される。
【0023】
図2は、現場での測定または、衛星、ドローン、または数値予報システムの出力などの変数の予測によって完全にラスターデータ(フィールドのデータ)によって満たされたグリッド200を示す図である。完全に値で満たされたグリッドに対して方程式を適用する場合には、グリッドの点同士の間での補間を行う必要はない。
【0024】
散乱技法によって得られるフィールドの変数の値は、各点での直接測定によって得られる値ほど正確ではないことがある。本開示によれば、点データをラスターデータと結合することが可能となり、点データをラスターデータと結合して得られる結合後のデータセットへのフィールドの方程式を適用することができる。このような方法は、点データに基づいてクリギングを行って補間を行う方法よりも優れた方法であり、グリッドを満たすために点データをラスターデータ化、又は、拡張することによって達成される。点データの優れた拡張は、ニューラルネットワーク、特に畳込フィルタ層を点データに適用することによって達成される。
【0025】
ニューラルネットワークは、1つ以上の機械学習アルゴリズムを実現するために協働するように構成された複数のコンピュータプロセッサを含む。実装にあたってコンピュータプロセッサ間の通信は同期でも非同期でもよい。コンピュータプロセッサにより、軸索とシナプスでつながっている数千から数百万のニューロンの動作がシミュレートされる。
【0026】
ニューロン間の連結は、連結されたユニットの活性化状態に及ぼす影響に関して、強制的、抑制的、または中立的のいずれかの状態を取りうる。各ユニットは、そのすべての入力の値を一緒に結合する合計関数を有する。信号が他のニューロンに伝播する前に限界を超えなければならないように、各ユニットには、活性化関数(例えば、シグモイド関数、正規化線形関数、ソフトマックス関数など)が存在する。活性化関数は、閾値関数または制限関数とも呼ばれる。ニューラルネットワークは、教師付き機械学習、教師なし機械学習、または半教師付き機械学習を実行することができる。
【0027】
例えば、ニューラルネットワークは、データが入力される入力層、出力値が出力される出力層、入力層と出力層の間に設けられる少なくとも1層以上の隠れ層とを含み、入力層、隠れ層、出力層の順番に信号が伝搬する。入力層、隠れ層、出力層の各層は、1つ以上のユニットから構成される。層間のユニット同士が結合しており、各ユニットは活性化関数を有する。ユニットへの複数の入力に基づいて重み付きの合計が算出され、合計値を変数とする活性化関数の値が、ユニットの出力となる。
【0028】
畳込フィルタ層は、ニューラルネットワークの特徴の一種であり、畳込フィルタ層の各ユニットは、入力層の選択された部分のみをサンプリングする。畳込フィルタ層は、限られたサンプリングが視神経束内のニューロンの性能を模倣するので、コンピュータビジョンまたは画像処理に関連する用途にしばしば使用される。
【0029】
畳込フィルタ層による畳込み動作(順方向の動作)により、複雑な画像をダウンサンプリングして、単純化された画像を生成、又は、画像の分類を行う用途に使用可能である。また、畳込フィルタ層による逆畳込み動作(逆方向の動作)により、畳込フィルタ層は、単純化された画像、又は、画像の分類をアップサンプリングして、より複雑な画像を生成する用途に使用可能である。
【0030】
図3は、畳込フィルタ層による逆畳み込みの動作によって補間された点データによって満たされるグリッドの系列を示す図である。最初に、
図3(a)に示すように、測定点での点データがグリッドに配置される。
図3(a)では、点データのあるグリッドには「+」記号が付与され、濃い色で網掛けされている。なお、データを含まないグリッドには「0」記号が付与され、網掛けされていない。
【0031】
図3(a)に示すグリッドのデータに対して、畳込フィルタ層による逆畳み込みを行うことにより、
図3(b)に示すグリッドのデータ(外挿ラスターデータ)を得る。
図3(b)に示すグリッドのデータに対して、畳込フィルタ層による逆畳み込みを行うことにより、
図3(c)に示すグリッドのデータ(外挿ラスターデータ)を得る。
図3(c)に示すグリッドのデータに対して、畳込フィルタ層による逆畳み込みを行うことにより、
図3(d)に示すグリッドのデータ(外挿ラスターデータ)を得る。
【0032】
このように、学習済の畳込フィルタ層による逆畳み込み(拡張処理)を行うことにより、学習済の畳込フィルタ層は、グリッド全体にわたってセンサデータをいくつかのステップで拡張する。
【0033】
なお、過去のラスターデータ、及び、過去のラスターデータに対応する過去の点データの組からなる教師データに基づいて、畳込フィルタ層に学習を行わせることにより、事前に学習済の畳込フィルタ層を用意してあるものとする。
【0034】
畳込フィルタ層による学習の対象となる目的関数は、畳込フィルタ層に入力または出力される、「ラスターデータ」と「点データ」の対応関係を表す任意の関数である。誤差逆伝搬法により、
図5の拡張ネットワークで使用されるウェイト行列も確実に訓練可能である。
【0035】
したがって、拡張処理を繰り返すことにより、
図3(a)に示す点データ300に基づいて、
図3(b)に示すラスターデータ302、
図3(b)に示すラスターデータ304、
図3(d)に示すラスターデータ306を得ることができる。その結果、グリッド全体をデータによって満たすことができる。すなわち、点データをラスターデータに変換して、点データをラスター化することができる。
【0036】
このように、拡張処理を用いて点データをラスターデータに変換すると、標準的なラスターデータ(標準ラスターデータ)と同様に点データを取り扱うことができる。その結果、標準的な畳込みニューラルネットワークへの異なる入力チャンネルからのデータと同様に、ラスター化した点データを取り扱うことができる。例えば、畳込みニューラルネットワークは、「赤」、「緑」、「青」といった波長のデータ(標準的なラスターデータ)を入力チャンネルとして有する場合を考える。この畳込みニューラルネットワークは、その他の入力チャンネルとして、「赤外線」、「紫外線」といった波長のデータ(点データ)を入力チャンネルとして有することも可能である。
【0037】
図4~6の実施例では、同じウェイト行列を有する畳込フィルタ層が繰り返し適用される。一方、
図7~9の実施例では、最大でn個の畳込フィルタ層が適用される。n個の畳込フィルタ層の間では、異なるウェイト行列が使用されうる。
【0038】
畳込フィルタ層によって達成される拡張は、点データをラスタライズするが、グリッド化されたデータにおける線形依存性および冗長性を回避することができる。畳み込みフィルタは加算演算を利用しており、加算はデータが利用可能な点の数によって重み付けされる。
【0039】
[第1のニューラルネットワーク]
図4は、点データ<X
0>を拡張してグリッドを満たすために用いる第1のニューラルネットワーク400の構成を示す図である。点データ<X
0>は、グリッド化されて拡張ネットワーク500に入力される。拡張ネットワーク500は、ウェイト行列<W>によって定義される畳込フィルタ層による逆畳み込みを繰り替えし適用することにより、点データを拡張して外挿ラスターデータ<X
n>を生成する。
【0040】
ウェイト行列<W>によって定義される畳込フィルタ層は、過去のラスターデータ、及び、過去のラスターデータに対応する過去の点データの組からなる教師データに基づいて、既に訓練されているものとする。なお、過去のラスターデータは、測定値、予測値、またはその両方を含むことができることに留意されたい。
【0041】
そして、外挿ラスターデータ<Xn>は、標準ラスターデータ<Xr>(通常の手法により得られる標準的なラスターデータ)とともに、畳込ニューラルネットワーク402に入力される。畳込ニューラルネットワーク402は、外挿ラスターデータ<Xn>、点データ<X0>、及び、標準ラスターデータ<Xr>を組み込んだ集約ラスターデータ<Xa>を出力する。
【0042】
この手順は、「イメージインペインティング」問題で使用される手法に似通っている。参考として、Liu et al., “Image Inpainting for Irregular Holes Using Partial Convolutions” 2013年12月 (section 3.1)が挙げられる。「イメージインペインティング」問題におけるピクセルの一部分が欠落した画像を対象とする代わりに、本開示では、疎データを対象としていると仮定することができる。このように、欠落した小さな領域を埋める代わりに、ランダムな点データを拡張して点データが得られた領域の周囲の範囲の改善を行う。
【0043】
また、拡張は一般的な測定セットで動作する。つまり、センサ測定値のセット(温度など)が単一のバンドを構成する場合があるが、この方法は、空間と時間のさまざまな場所で記録されるパラメータの任意のセットに適用することが可能である。
【0044】
例えば、画像データについては、異なるバンドにおける値は、一般的に相関している。「イメージインペインティング」問題では、すべてのバンドの値が同じ位置で欠落している。しかし、データは通常、異なるバンド間で無関係であってもよく、異なるバンドにおける欠落個所は、互いに無関係であってもよい。したがって、本開示の方法は、異なるデータソースが異なる位置でデータを欠いている場合にも適用可能である(この場合、データソース/入力レイヤーごとに1つのマスクを使用することになる)。この場合は、すべてのレイヤーの同じ場所でピクセルの欠落が生じている「イメージインペインティング」問題とは異なる。
【0045】
拡張のために使用されるマスク<M>は、空間内の位置だけでなく、問題の入力にも依存する。例えば、n次元空間に複数の入力バンドが定義されている状況を想定する。入力データの空間は2次元又は3次元になる場合がある。これらの入力は、n+1次元のテンソル<X0>内に配置されることになる。ここで、余剰の1次元は入力される異なるバンドを互いに区別するためのパラメータの次元である。この場合、マスク<M>もn+1次元のテンソルとなる。
【0046】
すべてのレイヤーの同じ場所でデータの欠落が生じている場合には、バンドを互いに区別する必要がないため、マスク<M>は単にn次元のテンソルとなる。
【0047】
図5は、点データからラスターデータを得るための拡張ネットワーク500の詳細を示す図である。拡張ネットワーク500には、点データ308又は点データ<X
0>(グリッド化された点データ)が入力される。
【0048】
拡張ネットワーク500は、再帰型畳込ニューラルネットワーク(RCNN)として実装されるものであってもよい。再帰型畳込ニューラルネットワークは、ウェイト行列<W>、マスク行列<Mi>(添字iは、拡張ネットワーク500による処理の実行回数を示す)、壱行列<O>を有する。マスク行列<Mi>は、0又は1の値をとる要素から構成される。壱行列<O>は、ウェイト行列<W>と同じサイズであって全ての要素が1である。
【0049】
なお、マスク行列<M0>の1である要素の範囲は、行列<X0>のうち空でない部分の範囲と同じである。処理の間、マスク行列<Mi-1>の1である要素の範囲は、行列<Xi-1>のうち空でない部分の範囲と同じとなるよう、マスク行列<Mi-1>は設定される。
【0050】
拡張ネットワーク500は、第1乗算器502及び第2乗算器504を備える。第1乗算器502は、行列<X0>又は行列<Xi-1>に対して、ウェイト行列<W>を乗算して、仮ラスターデータ<Pi>を算出する。第2乗算器504は、マスク行列<Mi-1>に対して壱行列<O>を乗算して、点ウェイト<Vi>を算出する。
【0051】
第1乗算器502が行列<X0>又は行列<Xi-1>のいずれに対して乗算を行うかは、拡張ネットワーク500の処理の実行回数に依存する。拡張ネットワーク500の実行が1回目であれば、行列<X0>に対して乗算が行われ、拡張ネットワーク500の実行が2回目以降であれば、行列<Xi-1>に対して乗算が行われる。
【0052】
拡張ネットワーク500は、仮ラスターデータ<Pi>と点ウェイト<Vi>に基づいて、行列<Xi>を得る。ここで、行列<Xi>の要素の値は、仮ラスターデータ<Pi>の要素の値を点ウェイト<Vi>の要素の値で除算することで算出される。なお、点ウェイト<Vi>の要素の値が0である場合には、行列<Xi>の要素の値は0に設定される。
【0053】
さらに、拡張ネットワーク500は、点ウェイト<Vi>に基づいて、マスク行列<Mi>を得る。ここで、点ウェイト<Vi>の要素の値が0である場合には、マスク行列<Mi>の要素の値は0に設定され、点ウェイト<Vi>の要素の値が0でない場合には、マスク行列<Mi>の要素の値は1に設定される。
【0054】
拡張ネットワーク500は、マスク行列<Mi>の全ての要素が1となるまで、上述した処理を繰り返す。マスク行列<Mi>の全ての要素が1となる場合の添字iの値をnで表すと、添字iは1からnまでの整数をとる。
【0055】
図6は、点データを拡張してグリッドを満たすために用いる第1の計算式を示す図である。
図6において、<g>、又は、<X
0>は、測定点での点データ<X
0>の行列である。<W>は、拡張ネットワーク500によって保持されているウェイト行列<W>である。<X
i>は、点データ<X
0>に対して拡張ネットワーク500によって処理を反復実行することにより得られる、外挿ラスターデータの行列<X
i>である。
【0056】
なお、拡張ネットワーク500によって保持されているウェイト行列<W>に依存して、処理の結果には非等方性などの特徴が表れる場合がある。つまり、ウェイト行列<W>は、ラスター内の特定の方向を優先して補間を行う処理を表現することができる。
【0057】
[第2のニューラルネットワーク]
図7は、点データ<X
0>を拡張してグリッドを満たすために用いる第2のニューラルネットワーク700の構成を示す図である。点データ<X
0>は、グリッド化されて拡張層に入力される。i番目の拡張層は、ウェイト行列<W
i>によって定義される畳込フィルタ層による逆畳み込みを順次適用することにより、点データを拡張して外挿ラスターデータ<X
i>を生成する。ここで、1番前からn番目までの拡張層の全体が、第1畳込ニューラルネットワークを構成する。
【0058】
ウェイト行列<Wi>によって定義される畳込フィルタ層は、過去のラスターデータ、及び、過去のラスターデータに対応する過去の点データの組からなる教師データに基づいて、既に訓練されているものとする。なお、過去のラスターデータは、測定値、予測値、またはその両方を含むことができることに留意されたい。
【0059】
そして、外挿ラスターデータ<Xn>は、標準ラスターデータ<Xr>(通常の手法により得られる標準的なラスターデータ)とともに、畳込ニューラルネットワーク702に入力される。畳込ニューラルネットワーク702は、外挿ラスターデータ<Xn>、点データ<X0>、及び、標準ラスターデータ<Xr>を組み込んだ集約ラスターデータ<Xa>を出力する。
【0060】
図8は、点データからラスターデータを得るために用いる拡張層の詳細を示す図である。i番目の拡張層には、データ<X
i-1>が入力され、i番目の拡張層からは、データ<X
i>が出力される。すなわち、1番目の拡張層には、点データ308又は点データ<X
0>(グリッド化された点データ)が入力され、1番目の拡張層からは、外挿ラスターデータ<X
1>が出力される。i番目の拡張層には、外挿ラスターデータ<X
i>が入力され、i番目の拡張層からは、外挿ラスターデータ<X
i>が出力される。
【0061】
i番目の拡張層は、ウェイト行列<Wi>、マスク行列<Mi>、壱行列<Oi>を有する。マスク行列<Mi>は、0又は1の値をとる要素から構成される。壱行列<Oi>は、ウェイト行列<Wi>と同じサイズであって全ての要素が1である。
【0062】
なお、マスク行列<M0>の1である要素の範囲は、行列<X0>のうち空でない部分の範囲と同じである。マスク行列<Mi-1>の1である要素の範囲は、行列<Xi-1>のうち空でない部分の範囲と同じとなるよう、マスク行列<Mi-1>は設定される。
【0063】
i番目の拡張層は、第3乗算器802及び第4乗算器804を備える。第3乗算器802は、行列<Xi-1>に対して、ウェイト行列<Wi>を乗算して、仮ラスターデータ<Pi>を算出する。第4乗算器804は、マスク行列<Mi-1>に対して壱行列<Oi>を乗算して、点ウェイト<Vi>を算出する。
【0064】
i番目の拡張層は、仮ラスターデータ<Pi>と点ウェイト<Vi>に基づいて、行列<Xi>を得る。ここで、行列<Xi>の要素の値は、仮ラスターデータ<Pi>の要素の値を点ウェイト<Vi>の要素の値で除算することで算出される。なお、点ウェイト<Vi>の要素の値が0である場合には、行列<Xi>の要素の値は0に設定される。
【0065】
さらに、i番目の拡張層は、点ウェイト<Vi>に基づいて、マスク行列<Mi>を得る。ここで、点ウェイト<Vi>の要素の値が0である場合には、マスク行列<Mi>の要素の値は0に設定され、点ウェイト<Vi>の要素の値が0でない場合には、マスク行列<Mi>の要素の値は1に設定される。
【0066】
図9は、点データを拡張してグリッドを満たすために用いる第2の計算式を示す図である。
図9において、<g>、又は、<X
0>は、測定点での点データ<X
0>の行列である。<W
i>は、i番目の拡張層によって保持されているウェイト行列<W
i>である。<X
i>は、データの行列<X
i-1>に対してi番目の拡張層によって処理を実行することにより得られる、外挿ラスターデータの行列<X
i>である。
【0067】
なお、i番目の拡張層によって保持されているウェイト行列<Wi>に依存して、処理の結果には非等方性などの特徴が表れる場合がある。つまり、ウェイト行列<Wi>は、ラスター内の特定の方向を優先して補間を行う処理を表現することができる。
【0068】
[処理手順]
図10は、点データを拡張してグリッドを満たす方法のフローチャートを示す図である。本開示に係る、点データを拡張してグリッドを満たす方法によれば、まず最初に、ステップS1002において、部分的に空である、点データの行列<X
0>が取得される。
【0069】
ステップS1004において、第1畳込ニューラルネットワークによって点データを拡張して外挿ラスターデータの行列<Xn>が生成される。
【0070】
そして、ステップS1006において、第2畳込ニューラルネットワークによって、外挿ラスターデータの行列<Xn>と標準ラスターデータの行列<Xr>とが組み合わされて、集約ラスターデータの行列<Xa>が生成される。
【0071】
[実施形態による効果]
以上詳細に説明したように、本開示に係る方法は、部分的に空である、点データの行列<X0>を取得し、第1畳込ニューラルネットワークによって点データを拡張して外挿ラスターデータの行列<Xn>を生成する。そして、第2畳込ニューラルネットワークによって、外挿ラスターデータの行列<Xn>と標準ラスターデータの行列<Xr>と組み合わせて、集約ラスターデータの行列<Xa>を生成する。これによって、点データに基づいて、ラスターデータのフィールド全体にわたって予測を生成するようにコンピュータを操作する。
【0072】
これにより、事前の分布に線形依存せず、さらに、補間されたデータに冗長性を導入することなく点データをラスターデータに変換することができる。さらに言えば、標準ラスターデータと同様に点データを取り扱うことができる。
【0073】
上記第1畳込ニューラルネットワークは、再帰型畳込ニューラルネットワークであってもよい。これにより、データを含まないグリッドに対して、点データに基づいてラスターデータを生成することができる。さらに言えば、データを含まないグリッドに対する補間方法をユーザが決定する場合と比較して、事前の分布に線形依存せず、さらに、補間されたデータに冗長性を導入することなく点データをラスターデータに変換できる。
【0074】
上記第1畳込ニューラルネットワークは、ウェイト行列<W>、壱行列<O>、マスク行列<Mi>(添字iは処理の実行回数を示す、1からnまでの整数)を有するものであってもよい。ここで、壱行列<O>は、ウェイト行列<W>と同じサイズであって全ての要素が1である。マスク行列<Mi>は、0又は1の値をとる要素から構成される。マスク行列<M0>の1である要素の範囲は、行列<X0>のうち空でない部分の範囲と同じである。処理において、マスク行列<Mi-1>の1である要素の範囲が、行列<Xi-1>のうち空でない部分の範囲と同じとなるよう、マスク行列<Mi-1>は設定されるものであってもよい。第1畳込ニューラルネットワークは、行列<Xi-1>、ウェイト行列<W>、壱行列<O>、及び、マスク行列<Mi-1>の乗算により行列<Xi>を生成するものであってもよい。マスク行列<Mn>の全ての要素が1となるn回目まで、処理を繰り返すものであってもよい。
【0075】
これにより、データを含まないグリッドがなくなるまで反復して処理が継続され、確実に、データを含まないグリッドに対して、点データに基づいてラスターデータを生成することができる。
【0076】
過去のラスターデータ、及び、過去のラスターデータに対応する過去の点データの組からなる教師データに基づいて、上記第1畳込ニューラルネットワークの学習を行うものであってもよい。これにより、過去のラスターデータと過去の点データの間にある関係性が、第1畳込ニューラルネットワークに学習される。その結果、データを含まないグリッドに対する補間方法をユーザが決定する場合と比較して、事前の分布に線形依存せず、さらに、補間されたデータに冗長性を導入することなく点データをラスターデータに変換できる。
【0077】
上記第1畳込ニューラルネットワークは、n個(nは1以上の整数)の拡張層から構成されるものであってもよい。ここで、i番目(iは1からnまでの整数)の拡張層は、ウェイト行列<Wi>、ウェイト行列<Wi>と同じサイズであって全ての要素が1である壱行列<Oi>、0又は1の値をとる要素から構成されるマスク行列<Mi>を有するものであってもよい。そして、第1畳込ニューラルネットワークに学習させる際、マスク行列<Mi-1>の1である要素の範囲が、行列<Xi-1>のうち空でない部分の範囲と同じとなるよう、マスク行列<Mi-1>は設定されるものであってもよい。i番目の拡張層は、行列<Xi-1>、ウェイト行列<Wi>、壱行列<Oi>、及び、マスク行列<Mi-1>の乗算により行列<Xi>を生成するものであってもよい。マスク行列<Mn>の全ての要素が1となるように、i番目の拡張層に、ウェイト行列<Wi>を学習させるものであってもよい。
【0078】
これにより、データを含まないグリッドに対して、点データに基づいてラスターデータを生成することができる。さらに言えば、データを含まないグリッドに対する補間方法をユーザが決定する場合と比較して、事前の分布に線形依存せず、さらに、補間されたデータに冗長性を導入することなく点データをラスターデータに変換できる。さらには、ウェイト行列<Wi>の自由度の数だけ、ラスターデータと点データの間にある関係性を表現する幅が広がり、より正確に、補間されたデータに冗長性を導入することなく点データをラスターデータに変換できる。
【0079】
上記第1畳込ニューラルネットワークに推論させる際、第1畳込ニューラルネットワークは、入力された点データを拡張して、完全に空のないラスターデータを生成するものであってもよい。ここで、入力された点データは、学習時の行列<X0>のうち空でない部分の範囲と同じ、空でない部分の範囲を有するものであってもよい。これにより、データを含まないグリッドがなくなるまで反復して処理が継続され、確実に、データを含まないグリッドに対して、点データに基づいてラスターデータを生成することができる。
【0080】
上記第1畳込ニューラルネットワークは、人工ニューロンによって実装されるものであってもよい。これにより、軸索とシナプスでつながっている数千から数百万のニューロンの動作がシミュレートされ、効果的にラスターデータと点データの間にある関係性を表現することができる。
【0081】
本開示に係る装置は、メモリと、少なくとも1つ以上のプロセッサとを有する。ここで、メモリは、上述した方法を実行するための実行可能命令を格納する。プロセッサは、メモリに接続され、実行可能命令を処理可能である。
【0082】
本開示に係るプログラムは、上述した方法を実行するための実行可能な命令を備える。なお、本開示に係るプログラムは、コンピュータによって読み書き可能な記録媒体に格納されるものであってもよい。
【0083】
上述の実施形態で示した各機能は、1又は複数の処理回路によって実装されうる。処理回路には、プログラムされたプロセッサ、電気回路などが含まれ、さらには、特定用途向けの集積回路(ASIC)のような装置、又は、記載された機能を実行するよう配置された回路構成要素なども含まれる。
【0084】
いくつかの実施形態を説明したが、上記開示内容に基づいて実施形態の修正または変形をすることが可能である。上記実施形態のすべての構成要素、及び請求の範囲に記載されたすべての特徴は、それらが互いに矛盾しない限り、個々に抜き出して組み合わせてもよい。
【符号の説明】
【0085】
402,702 畳込ニューラルネットワーク(第2畳込ニューラルネットワーク)
500 拡張ネットワーク(第1畳込ニューラルネットワーク)
801 拡張層