【図1】
本発明における移動軌跡生成装置の訓練段階及び生成段階を表す説明図である。
【図2】
本発明の訓練段階における拡散モデルを用いた生成モデルの説明図である。
【図3】
本発明の訓練段階におけるニューラルネットワークを用いた生成モデルの説明図である。
【図4】
本発明における移動軌跡生成装置の機能構成図である。
【図5】
本発明の疑似経路選択部における疑似混雑度分布の更新を表す説明図である。
【図6】
本発明の疑似経路選択部における疑似経路の選択を表す説明図である。
【図7】
本発明の生成段階における拡散モデルを用いた生成モデルの説明図である。
【図8】
本発明の生成段階におけるニューラルネットワークを用いた生成モデルの説明図である。
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。
図1は、本発明における移動軌跡生成装置の訓練段階及び生成段階を表す説明図である。
図1によれば、移動軌跡生成装置1は、疑似移動軌跡を生成する「生成モデル」を有し、これは、<訓練段階>と<生成段階>とからなる。
<訓練段階>
移動軌跡生成装置1は、教師データとして、以下のように対応付けた実測移動軌跡の群を入力し、生成モデルを訓練する。
・実測移動軌跡
・実測移動軌跡における地点情報
教師データのサンプル数をMとして、以下のように表現される。
実測移動軌跡の群:X={x1,x2,・・・,xM}
(x:各実測移動軌跡)
各実測移動軌跡 :xi={p1,p2,・・・,pN}
(N:位置座標pjの系列群)
地点情報の群 :Ctrain={c1,c2,・・・,cM}
(c:出発地点、経由地点及び目的地点からなる地点情報)
「実測移動軌跡」は、時系列の位置座標の系列群からなる。時系列の位置座標とは、所定移動時間における時系列の位置を表す。離散的な位置座標のデータ列となる。例えば所定移動時間を24時間として、例えば時系列を10分毎とした場合、144時点(=(24時間×60分)/10分間隔)の位置座標の時系列となる。
位置座標は、緯度経度であってもよいし、グリッド座標であってもよい。緯度経度は、地球全体を網羅する座標系であり、度、分、秒を単位として表現したものである。グリッド座標は、例えばUTMグリッド(Universal Transverse Mercator Grid)の場合、地球を6度ごとの経度帯に分割し、各ゾーン内で直交座標(メートル単位)を用いて位置を特定する。
尚、位置座標としては、地点識別子に基づく位置座標であってもよい。
地点識別子とは、例えばPoI(Point of Interest)であってもよく、その位置座標を特定することができる。PoIとは、その場所の持つ地理的特性のID(IDentifier)であって、ランドマークや商業・公共施設、交通機関、観光スポットなどを意味する。これらは、オープンデータから入手可能なものである。
「地点情報」もそれぞれ、位置座標である。これら地点情報cは、実測移動軌跡xの特徴量として構成される。
本発明の実施形態としては、地点情報は、「出発地点、経由地点及び目的地点」であるとして説明する。「地点」として説明するが、勿論、実測移動軌跡が辿る「地域」に基づくものであってもよい。
・「地点」としては、実測移動軌跡が辿るノードであるとする。
・「地域」とは、地図上を例えば250m×250m単位で区分した範囲の識別子であり、実測移動軌跡が辿る地域であるとする。
<生成段階>
移動軌跡生成装置1は、以下のような対象データを入力し、生成モデルを用いて「疑似移動軌跡」の集合を生成する。
・各地点間又は各地域内の移動体数を記録した「対象混雑度分布」
・複数(例えばK個)の「出発地点及び目的地点」
これら対象データは、疑似移動軌跡を生成しようとするオペレータが所望するものである。
「対象混雑度分布」とは、各地点間又は各地域内の移動体数を記録したものである。移動体数は、車両数や人数(端末数)であってもよい。
・「各地点間」としては、地点(ノード)間を結ぶリンクにおける移動体数を表すものであってもよい。地点は、例えば位置座標の所定範囲であり、リンクは、例えば道路であってもよい。
・「各地域内」とは、各メッシュ内に含まれる移動体数を表すものであってもよい。メッシュとは、例えば地図上を250m×250m単位で区分した地域であってもよい。
「出発地点及び目的地点」はそれぞれ、訓練段階と同様に、位置座標である。ここで、疑似移動軌跡のK個の集合を生成する場合、出発地点及び目的地点のセットもK個入力することとなる。勿論、K個の疑似移動軌跡の集合を生成する際に、同一の出発地点及び目的地点を入力するものであってもよいし、それぞれ異なる出発地点及び目的地点を入力するものであってもよい。
移動軌跡生成装置1によって生成される「疑似移動軌跡」の集合は、実測移動軌跡に対する妥当性の観点と、対象混雑度分布に対する適合性の観点とから生成されたものとなる。
生成される「疑似移動軌跡」は、訓練段階と同様に、時系列の位置座標の群からなる。
[生成モデル10]
生成モデル10は、実測移動軌跡における「地点情報」を入力し、時系列の位置情報からなる複数の「実測移動軌跡」を生成するように訓練した機械学習エンジンである。これは、実測移動軌跡に基づいて、時間的且つ空間的な特徴量を、内部パラメータとして持つ。
生成モデル10は、実施形態としては、例えば拡散モデルを用いたものや、ニューラルネットワークを用いたものがある。
<訓練段階>
図2は、本発明の訓練段階における拡散モデルを用いた生成モデルの説明図である。
図2によれば、生成モデル10は、第1の例として、拡散モデル(Diffusion Model)を用いたものである。拡散モデルとは、深層学習のtext-to-imageモデルに基づくものである。
生成モデル10は、VAE(Variational AutoEncoder)エンコーダと、拡散モデルと、VAEデコーダと、テキストエンコーダとから構成される。
訓練段階では、VAEエンコーダは、入力された実測移動軌跡(時系列の位置座標)を埋込表現へ変換し、その埋込表現を拡散モデルへ出力する。
また、テキストエンコーダは、入力された実測移動軌跡における地点情報(出発地点、経由地点及び目的地点)を埋込表現へ変換し、その埋込表現を拡散モデルへ出力する。
拡散モデルは、VAEエンコーダから入力された埋込表現に少しずつノイズを加える拡散過程と、ノイズを少しずつ取り除いて元の埋込表現へ再生する逆拡散過程とからなる。拡散過程にはガウシアンノイズを用い、逆拡散過程にはU-Netを用いる。ここで、逆拡散過程では、テキストエンコーダの埋込表現を入力し、その埋込表現を反映するようにU-Netを実行する。拡散モデルから出力された埋込表現は、VAEデコーダへ出力される。
VAEデコーダは、拡散モデルから出力された埋込表現を、移動軌跡へ変換する。
ここで、訓練段階における生成モデル10は、VAEデコーダから出力される移動軌跡が、実測移動軌跡と一致するように訓練される。
図3は、本発明の訓練段階におけるニューラルネットワークを用いた生成モデルの説明図である。
図3によれば、生成モデル10は、第2の例として、全結合型ニューラルネットワークを用いたものである。入力層(input layer)と、隠れ層(hidden layer)と、出力層(output layer)との3つの段階の層から構成され、入力層から出力層へ向けて一方向に伝播する。また、生成モデル10は、出力層からの誤差逆伝播によって、隠れ層及び入力層へと、自らの内部パラメータを訓練する。
入力層は、実測移動軌跡における地点情報(出発地点、経由地点及び目的地点)を、埋込表現へ変換する。
入力層は、地点情報の地点(ノード)数分のユニットを備え、実測移動軌跡における地点情報(出発地点、経由地点及び目的地点)を並列に入力する。例えば経路マップとして、50地点ある場合、入力層における入力のユニット数も、50個となる。
そして、入力層は、複数のユニット層を全結合することによって、エンコードレイヤを介して、所定長の埋込表現を出力する。それら埋込表現は、隠れ層に全結合される。
隠れ層は、入力層に全結合で接続する。
隠れ層は、グラフ状に複数の層の全結合によって構成される。各層は、複数のユニットを持ち、訓練段階では、前方層のユニットから後方層のユニットへつなぐ関数のパラメータを算出する。そして、隠れ層から出力される埋込表現は、出力層に全結合される。
出力層は、隠れ層に全結合で接続し、時系列の位置座標を推定する。
出力される時系列の位置座標は、実測移動軌跡と同様に、例えば所定移動時間を24時間として、時系列を10分毎とした場合、144時点(=(24時間×60分)/10分間隔)の位置座標となり、出力層のユニット数も、144個となる。
また、出力層は、自ら推定した時系列の位置座標が、実測移動軌跡に近くなる(軌跡距離の誤差を最小とする)ように、隠れ層と、入力層とへ向けて、誤差逆伝播によって訓練する。
<生成段階>
図4は、本発明における移動軌跡生成装置の機能構成図である。
図4によれば、移動軌跡生成装置1は、生成段階として、生成モデル10に加えて、入力部11と、疑似経路選択部12と、疑似移動軌跡生成部13とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、装置における疑似移動軌跡の生成方法としても理解できる。
尚、生成モデル10は、前述した図2又は図3に基づいて訓練済みのものである。
図4によれば、疑似移動軌跡における各地点間又は各地域内の移動体数を記録する「疑似混雑度分布」を予め用意している。疑似混雑度分布は、対象混雑度分布と同じ構成に基づくものである。疑似混雑度分布とは、生成済みの疑似移動軌跡の集合によって作られた混雑度分布を表す。
そして、最初に、「疑似混雑度分布」を初期化しておく。即ち、全ての地点間又は地域内について、それら移動体数を例えば0に設定しておく。
[入力部11]
入力部11は、以下のような対象データを入力する。
・対象混雑度分布Dinput
・地点情報の生成条件(出発地点及び目的地点)Ctest
対象混雑度分布Dinputは、各地点間又は各地域内の移動体数を記録したものである。
地点情報は、経由地点を含まない、単なる出発地点及び目的地点のみであってもよい。
このとき、「出発地点及び目的地点」は、K(K>1)個の出発地点及び目的地点のセットCtest={c1,c2,・・・,cK}を入力するものであってもよい。これによって、生成モデル10に、K個の疑似移動軌跡を生成させることができる。
次に、疑似経路選択部12及び疑似移動軌跡生成部13を、K回繰り返す。
ここでは、「疑似経路」を選択し、その疑似経路に対する疑似移動軌跡を生成する。このように、疑似移動軌跡を逐次的に生成する中で、それら疑似移動軌跡の集合が作る疑似混雑度分布を更新していく。そして、疑似混雑度分布が、対象混雑度分布に類似するように(後述する差分混雑度分布における差分が小さくなるように)、個々の疑似移動軌跡を逐次的に生成していく。
[疑似経路選択部12]
疑似経路選択部12は、対象データの「出発地点及び目的地点」の間の経路の中で、「対象混雑度分布」と「疑似混雑度分布」との差分が最も小さくなる疑似経路を選択する。差分は、差分混雑度分布によって表す。
「差分混雑度分布」は、疑似移動軌跡の生成に基づく疑似経路を選択可能な移動体数(実測混雑度までの余裕数)を表す。
図5は、本発明の疑似経路選択部における疑似混雑度分布の更新を表す説明図である。
(S1)k=1回目として、対象データ[出発地点A、目的地点E]が入力されたとする。疑似経路選択部12は、[出発地点A、目的地点E]を結ぶ1つの疑似経路を選択する。尚、疑似経路の選択方法については、後述する図6で説明する。
疑似経路:A-C-E
次に、疑似経路選択部12は、その疑似経路について、各地点間又は各地域内の移動体数を1増分した疑似混雑度分布にそれぞれ更新する。
疑似混雑度分布:A-(1)-C-(1)-E
C-(0)-D-(0)-E
A-(0)-B-(0)-D
そして、疑似経路選択部12は、対象混雑度分布と、疑似混雑度分布との差分を算出する。
差分混雑度分布:A-(0)-C-(0)-E
C-(1)-D-(1)-E
A-(2)-B-(2)-D
(S2)k=2回目として、対象データ[出発地点B、目的地点C]とが入力されたとする。疑似経路選択部12は、[出発地点B、目的地点C]を結ぶ1つの疑似経路を選択する。
疑似経路:B-D-C
次に、疑似経路選択部12は、その疑似経路について、各地点間又は各地域内の移動体数を1増分した疑似混雑度分布にそれぞれ更新する。
疑似混雑度分布:A-(1)-C-(1)-E
C-(1)-D-(0)-E
A-(0)-B-(1)-D
そして、疑似経路選択部12は、対象混雑度分布と、疑似混雑度分布との差分を算出する。
差分混雑度分布:A-(0)-C-(0)-E
C-(0)-D-(1)-E
A-(2)-B-(1)-D
(S3)k=3回目として、対象データ[出発地点B、目的地点E]とが入力されたとする。疑似経路選択部12は、[出発地点B、目的地点E]を結ぶ1つの疑似経路を選択する。
疑似経路:B-D-E
次に、疑似経路選択部12は、その疑似経路について、各地点間又は各地域内の移動体数を1増分した疑似混雑度分布にそれぞれ更新する。
疑似混雑度分布:A-(1)-C-(1)-E
C-(1)-D-(1)-E
A-(0)-B-(2)-D
そして、疑似経路選択部12は、対象混雑度分布と、疑似混雑度分布との差分を算出する。
差分混雑度分布:A-(0)-C-(0)-E
C-(0)-D-(0)-E
A-(2)-B-(0)-D
このように、k個目の疑似経路を決定する際、(k-1)個の生成済み疑似移動軌跡の集合によって作り出された疑似混雑度分布を用いる。
図6は、本発明の疑似経路選択部における疑似経路の選択を表す説明図である。
次に、疑似経路の選択方法ついて説明する。
k=2回目における疑似混雑度分布が、以下のようなものであるとする。
疑似混雑度分布:A-(1)-C-(1)-E
C-(1)-D-(0)-E
A-(0)-B-(1)-D
図6によれば、k=2回目の後(k=2個の疑似移動軌跡を生成済み)、k=3回目における疑似経路を選択する例を表す。
疑似経路選択部12は、対象データ[出発地点B、目的地点E]の間で、異なる経由地点を介した「経路候補」を抽出する。
経路候補1:B-D-C-E
経路候補2:B-A-C-E
経路候補3:B-D-E
尚、経路候補の選択方法の例として、出発地点と目的地点とを直線で結び、その直線を対角線とする矩形エリアに含まれる経路を、経路候補として選択するものであってもよい。
ここでは、簡易に、その矩形エリアに含まれる経路を全て、経路候補として選択するものであってもよい。また、差分混雑度分布を用いて、その矩形エリアに含まれる経路の中で、移動体数が0でない(余裕数がある)経路のみを、経路候補として選択するものであってもよい。
その後、以下のS31~S33のように、複数の経路候補の中から、疑似経路を決定していく。
(S31)経路候補1:B-D-C-Eについて、経路候補に、各地点間又は各地域内の移動体数を反映(1増分)した疑似混雑度分布に更新する。
疑似混雑度分布:A-(1)-C-(2)-E
C-(2)-D-(0)-E
A-(0)-B-(2)-D
また、対象混雑度分布と疑似混雑度分布との差分混雑度分布は、以下のように算出される。
差分混雑度分布:A-(0)-C-(-1)-E
C-(-1)-D-(1)-E
A-(2)-B-(0)-D
全ての移動体数について、差分の絶対値の和は、|-1|+|-1|+|-1|+2=5となる。
(S32)経路候補2:B-A-C-Eについて、経路候補に、各地点間又は各地域内の移動体数を反映(1増分)した疑似混雑度分布に更新する。
疑似混雑度分布:A-(2)-C-(2)-E
C-(1)-D-(0)-E
A-(1)-B-(1)-D
また、対象混雑度分布と疑似混雑度分布との差分混雑度分布は、以下のように算出される。
差分混雑度分布:A-(-1)-C-(-1)-E
C-(0)-D-(1)-E
A-(1)-B-(1)-D
全ての移動体数について、差分の絶対値の和は、|-1|+|-1|+1+1+1=5となる。
(S33)経路候補3:B-D-Eについて、経路候補に、各地点間又は各地域内の移動体数を反映(1増分)した疑似混雑度分布に更新する。
疑似混雑度分布:A-(1)-C-(1)-E
C-(1)-D-(1)-E
A-(0)-B-(2)-D
また、対象混雑度分布と疑似混雑度分布との差分混雑度分布は、以下のように算出される。
差分混雑度分布:A-(0)-C-(0)-E
C-(0)-D-(0)-E
A-(2)-B-(0)-D
全ての移動体数について、差分の絶対値の和は、2となる。
最終的に、対象データ[出発地点B、目的地点E]の間で、対象混雑度分布と疑似混雑度分布との差分として、S33の「2」が最小となる。これによって、経路候補3:B-D-Eが疑似経路として選択される。
疑似経路選択部12における他の実施形態として、対象混雑度分布と疑似混雑度分布との差分が最も小さくなった経路候補を抽出した後、疑似移動軌跡を生成する処理を終了する。即ち、前述の例によれば、差分の絶対値の和を算出しているために、各地点間又は各地域内の移動体数のマイナスが増加することとなる。そのような場合、疑似移動軌跡を生成する処理を終了する。
[疑似移動軌跡生成部13]
疑似移動軌跡生成部13は、疑似経路選択部12から、疑似経路を入力する。疑似経路は、「出発地点、経由地点(1つ以上)及び目的地点」からなる。
そして、疑似移動軌跡生成部13は、生成モデル10に対して、「出発地点、経由地点(1つ以上)及び目的地点」を入力し、疑似移動軌跡を生成する。
図7は、本発明の生成段階における拡散モデルを用いた生成モデルの説明図である。
図7によれば、拡散モデルの生成モデル10は、疑似移動軌跡生成部13から疑似経路を入力する。
「出発地点、経由地点(1つ以上)及び目的地点」からなる疑似経路は、テキストエンコーダに入力され、VAEデコーダから疑似移動軌跡が出力される。
疑似移動軌跡の群:Y={y1,y2,・・・,yK}
(y:各疑似移動軌跡、K:生成数)
各疑似移動軌跡 :yi={q1,q2,・・・,qN}
(N:位置座標qjの系列群)
図8は、本発明の生成段階におけるニューラルネットワークを用いた生成モデルの説明図である。
図8によれば、ニューラルネットワークの生成モデル10は、疑似移動軌跡生成部13から疑似経路を入力する。
「出発地点、経由地点(1つ以上)及び目的地点」からなる疑似経路は、入力層に入力され、出力層から疑似移動軌跡が出力される。
前述したように、本発明における疑似経路選択部12及び疑似移動軌跡生成部13(生成モデル10)をK回繰り返すことによって、K個の疑似移動軌跡の集合を生成することができる。これら疑似移動軌跡の集合に基づく疑似混雑度分布は、対象混雑度分布に類似するものとなる。
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、実測移動軌跡の集合に基づく混雑度分布を考慮して、疑似移動軌跡の集合を生成することができる。
尚、これにより、例えば「実測混雑度分布に応じた疑似移動軌跡を生成することができる」ことから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。