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

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

▶ 株式会社国際電気通信基礎技術研究所の特許一覧

特許7593615データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置
<>
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図1
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図2
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図3
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図4
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図5
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図6
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図7
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図8
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図9
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図10
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図11
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図12
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図13
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図14
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図15
  • 特許-データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】データ補間処理方法、データ補間処理装置、プログラム、学習処理装置、および、予測処理装置
(51)【国際特許分類】
   G06F 17/17 20060101AFI20241126BHJP
   G06F 17/16 20060101ALI20241126BHJP
   H04W 24/08 20090101ALI20241126BHJP
【FI】
G06F17/17
G06F17/16 Z
H04W24/08
【請求項の数】 9
(21)【出願番号】P 2020190715
(22)【出願日】2020-11-17
(65)【公開番号】P2022079867
(43)【公開日】2022-05-27
【審査請求日】2023-10-16
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、支出負担行為担当官、総務省大臣官房会計課企画官、研究テーマ「狭空間における周波数稠密利用のための周波数有効利用技術の研究開発」に関する委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100143498
【弁理士】
【氏名又は名称】中西 健
(74)【代理人】
【識別番号】100136319
【弁理士】
【氏名又は名称】北原 宏修
(74)【代理人】
【識別番号】100148275
【弁理士】
【氏名又は名称】山内 聡
(74)【代理人】
【識別番号】100142745
【弁理士】
【氏名又は名称】伊藤 世子
(72)【発明者】
【氏名】菅 宣理
(72)【発明者】
【氏名】矢野 一人
(72)【発明者】
【氏名】ウェバー ジュリアン
(72)【発明者】
【氏名】侯 亜飛
(72)【発明者】
【氏名】新居 英志
(72)【発明者】
【氏名】東森 敏英
(72)【発明者】
【氏名】鈴木 義規
【審査官】田中 幸雄
(56)【参考文献】
【文献】米国特許出願公開第2014/0288838(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/17
G06F 17/16
H04W 24/08
(57)【特許請求の範囲】
【請求項1】
コンピュータを用いて実行され、間欠的に取得される観測データに対して、補間処理を行うためのデータ補間処理方法であって、
前記コンピュータを用いて、無線信号から通信品質に関するデータの観測データを取得する観測データ取得ステップと、
前記コンピュータを用いて、前記観測データ取得ステップにより取得された前記観測データを所定の期間記憶し保持するデータ保持ステップと、
前記コンピュータを用いて、所定の単位期間に相当するウィンドウを時間方向に所定の期間である第1時間ずつずらしたときに当該ウィンドウに相当する期間内に含まれるデータ群が1行の要素となるようにハンケル行列Rを生成する行列生成ステップであって、(1)前記ハンケル行列Rの要素に相当するデータが前記データ保持ステップで記憶保持された前記観測データである場合、当該要素に相当するデータを当該観測データに設定し、(2)前記ハンケル行列Rの要素に相当するデータが前記データ保持ステップで記憶保持されていない場合、当該要素に相当するデータを欠落部分のデータであることを示す値に設定することで、前記ハンケル行列Rを生成する前記行列生成ステップと、
前記コンピュータを用いて、前記行列生成ステップにより生成された前記ハンケル行列Rに対して行列分解を行い、分解行列を取得する行列分解処理ステップと、
前記コンピュータを用いて、前記行列分解処理ステップにより分解された行列の積により取得される要素の値と、前記ハンケル行列の要素の値とに基づいて、最適化処理を行うことで、最適化行列を取得する最適化処理ステップと、
前記コンピュータを用いて、前記最適化行列に基づいて、前記観測データが欠落している部分のデータを補間する補間データ処理ステップと、
を備えるデータ補間処理方法。
【請求項2】
前記行列分解処理ステップは、
前記ハンケル行列Rに対して特異値分解を行うことで、前記分解行列を取得する、
請求項1に記載のデータ補間処理方法。
【請求項3】
前記最適化処理ステップは、
前記ハンケル行列Rの要素のうち、前記観測データが存在する要素である要素Rij(i,j:自然数、Rij:ハンケル行列Rのi行j列の要素)のみを抽出する第1抽出処理を実行し、
当該要素に対応する、前記行列分解処理ステップにより分解された行列の積の要素である要素Aij(Aij:前記行列分解処理ステップにより分解された行列の積のi行j列の要素)のみを抽出する第2抽出処理を実行し、
抽出した前記要素Rijと前記要素Aijとの誤差が少なくなるように、前記最適化処理を行う、
請求項1または2に記載のデータ補間処理方法。
【請求項4】
前記最適化処理ステップは、
所定の要素を選択する選択行列により、前記ハンケル行列Rおよび/または前記行列分解処理ステップにより分解された行列の積に対して行列演算を行うことで、前記第1抽出処理および/または前記第2抽出処理を実行する、
請求項3に記載のデータ補間処理方法。
【請求項5】
前記補間データ処理ステップは、
前記観測データが欠落している部分に対応する要素であって、前記最適化行列の反対角方向に配列されている要素の平均値または加重平均値を取得し、取得した当該平均値または加重平均値に基づいて、前記観測データが欠落している部分のデータを補間する、
請求項1から4のいずれかに記載のデータ補間処理方法。
【請求項6】
間欠的に取得される観測データに対して、補間処理を行うためのデータ補間処理装置であって、
無線信号から通信品質に関するデータの観測データを取得する観測データ取得部と、
前記観測データ取得部により取得された前記観測データを所定の期間記憶し保持するデータ保持部と、
所定の単位期間に相当するウィンドウを時間方向に所定の期間である第1時間ずつずらしたときに当該ウィンドウに相当する期間内に含まれるデータ群が1行の要素となるようにハンケル行列Rを生成する行列生成部であって、(1)前記ハンケル行列Rの要素に相当するデータが前記データ保持部に記憶保持されている前記観測データである場合、当該要素に相当するデータを当該観測データに設定し、(2)前記ハンケル行列Rの要素に相当するデータが前記データ保持部に記憶保持されていない場合、当該要素に相当するデータを欠落部分のデータであることを示す値に設定することで、前記ハンケル行列Rを生成する前記行列生成部と、
前記行列生成部により生成された前記ハンケル行列Rに対して行列分解を行い、分解行列を取得する行列分解処理部と、
前記行列分解処理部により分解された行列の積により取得される要素の値と、前記ハンケル行列の要素の値とに基づいて、最適化処理を行うことで、最適化行列を取得する最適化処理部と、
前記最適化行列に基づいて、前記観測データが欠落している部分のデータを補間する補間データ処理部と、
を備えるデータ補間処理装置。
【請求項7】
請求項1から5のいずれかに記載のデータ補間処理方法をコンピュータに実行させるためのプログラム。
【請求項8】
請求項1から5のいずれかに記載のデータ補間処理方法により取得された補間データを用いて、観測データの将来値予測を行うモデルの学習処理を行う学習処理装置。
【請求項9】
請求項1から5のいずれかに記載のデータ補間処理方法により取得された補間データを用いて、観測データの将来値予測を行うモデルの学習処理を行うことで取得された学習済みモデルを搭載し、
請求項1から5のいずれかに記載のデータ補間処理方法により取得された補間データを前記学習済みモデルに入力することで、前記観測データの将来値予測を行う予測処理装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無線通信等の通信状況、通信状態の推定処理の技術に関する。
【背景技術】
【0002】
工場等の狭空間では工作機械・製品・作業員等の移動に伴う伝搬環境の変化や、複数の無線アプリケーション間の干渉等により、複雑かつダイナミックに無線環境状況が変動する。工場等の狭空間では、工作機械等の移動体の位置情報の把握が困難であることに加え、電波伝搬がマルチパスリッチな環境であるため、想定外な場所に想定外の影響が出る場合が発生する。このように、狭空間において想定外な場所に想定外の影響が出ると、最悪の場合、安定した通信が維持できず、製造現場では、製造ラインの停止等の対処を行うこともあるため、生産性が低下してしまう。つまり、工場等の狭空間では、想定外の通信品質(QoS:Quality of Service)低下が発生し、生産性が低下してしまうことがある。
【0003】
そのため、QoSの極端な劣化(通信障害)が発生する前に回避行動をとることが必要となり、その実現のために通信障害発生の予測を高精度に行う技術が求められている。このような技術を実現させるために、例えば、時系列に通信品質を示す値の分布を取得し、当該分布に基づいて、将来の通信品質状況を予測する技術(例えば、特許文献1に開示されている技術)を用いることが考えられる。また、このような将来の通信品質状況を予測する技術を、ニューラルネットワークモデル等を用いて実現する技術も開発されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2005-18304号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば、ニューラルネットワークモデル等を用いた技術により、将来の通信品質状況を予測する場合、学習処理を行い、学習済みモデルを取得する必要がある。このために、無線通信環境下において、センサにより電波を受信することで、観測データを取得し、当該観測データを用いて、将来の通信品質状況を予測するモデルの学習処理を行う。このとき、センサが常に電波を受信できる訳ではなく、電波受信(フレーム受信)が間欠的になってしまい、その結果、取得される観測データも間欠的なデータとなってしまうという問題がある。このような間欠的な観測データ(欠落部分がある観測データ)を用いて通信品質状況を予測するモデルの学習処理を行うと、学習効率が悪く、また、最適なモデルが取得できない。
【0006】
そこで、本発明は上記課題に鑑み、観測データが間欠的なデータとして取得される状況下においても、観測データを適切に補間したデータを取得し、当該データを用いて、将来の通信品質状況を予測するモデルの学習処理を高精度かつ適切に行うことができる無線状況予測装置、および、それに用いられるデータ補間処理方法、プログラムを実現することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、第1の発明は、間欠的に取得される観測データに対して、補間処理を行うためのデータ補間処理方法であって、観測データ取得ステップと、データ保持ステップと、行列生成ステップと、行列分解処理ステップと、最適化処理ステップと、補間データ処理ステップと、を備える。
【0008】
観測データ取得ステップは、無線信号から通信品質に関するデータの観測データを取得する。
【0009】
データ保持ステップは、観測データ取得ステップにより取得された観測データを所定の期間記憶し保持する。
【0010】
行列生成ステップは、所定の単位期間に相当するウィンドウを時間方向に所定の期間である第1時間ずつずらしたときに当該ウィンドウに相当する期間内に含まれるデータ群が1行の要素となるようにハンケル行列Rを生成する。そして、行列生成ステップは、(1)ハンケル行列Rの要素に相当するデータがデータ保持ステップで記憶保持された観測データである場合、当該要素に相当するデータを当該観測データに設定し、(2)ハンケル行列Rの要素に相当するデータがデータ保持ステップで記憶保持されていない場合、当該要素に相当するデータを欠落部分のデータであることを示す値に設定することで、ハンケル行列Rを生成する。
【0011】
行列分解処理ステップは、行列生成ステップにより生成されたハンケル行列Rに対して行列分解を行い、分解行列を取得する。
【0012】
最適化処理ステップは、行列分解処理ステップにより分解された行列の積により取得される要素の値と、ハンケル行列の要素の値とに基づいて、最適化処理を行うことで、最適化行列を取得する。
【0013】
補間データ処理ステップは、最適化行列に基づいて、観測データが欠落している部分のデータを補間する。
【0014】
このデータ補間処理方法では、所定の単位期間に相当するウィンドウを時間方向に第1時間(例えば、サンプル周期)ずつずらしながら取得されるデータをスタックすることでハンケル行列Rを取得する。AGV(Automated guided vehicle)等の無線アプリケーションでは、無線端末(例えば、AGVに搭載された無線端末)が固定の経路を繰り返し移動するため、補間対象となる通信品質情報も周期的に変動する。このため、上記のようにして取得されるハンケル行列Rは、行間の相関性が高いため低ランクとなる。したがって、当該ハンケル行列Rを行列分解することで、低ランクの行列に分解することができる。そして、このデータ補間処理方法では、行列分解処理ステップにより分解された行列の積により取得される要素の値と、ハンケル行列の要素の値とに基づいて、最適化処理を行うので、計算量を低減しながら、最適化処理を実行することができる。
【0015】
そして、このデータ補間方法では、最適化処理により取得された最適化行列を用いて、欠落部分のデータを高精度に補間することができる。
【0016】
その結果、このデータ補間処理方法では、適切な波形パターン(補間処理後の波形パターン)が取得でき、当該波形パターンを用いて、例えば、将来値予測のためのPNN(Probabilistic neural network)モデル等の学習処理を行うことで、高精度で、かつ、効率の良い学習処理を行うことができる。さらに、このデータ補間処理方法により取得された波形パターンに対して、学習処理により取得された学習済みモデルを用いた予測処理を行うことで、高精度な予測処理を実現できる。
【0017】
なお、「観測データ」は、例えば、通信品質を示すデータ(QoSデータ)であり、例えば、RSSI値である。
【0018】
第2の発明は、第1の発明であって、行列分解処理ステップは、ハンケル行列Rに対して特異値分解を行うことで、分解行列を取得する。
【0019】
これにより、このデータ補間処理方法では、特異値分解により、分解行列を取得できる。
【0020】
第3の発明は、第1または第2の発明であって、最適化処理ステップは、ハンケル行列Rの要素のうち、観測データが存在する要素である要素Rij(i,j:自然数、Rij:ハンケル行列Rのi行j列の要素)のみを抽出する第1抽出処理を実行する。
【0021】
そして、最適化処理ステップは、当該要素に対応する、行列分解処理ステップにより分解された行列の積の要素である要素Aij(Aij:行列分解処理ステップにより分解された行列の積のi行j列の要素)のみを抽出する第2抽出処理を実行する。
【0022】
そして、最適化処理ステップは、抽出した要素Rijと要素Aijとの誤差が少なくなるように、最適化処理を行う。
【0023】
これにより、このデータ補間処理方法では、例えば、抽出した要素Rijと要素Aijとの誤差についての損失関数を評価することで、最適化処理を行うことができる。
【0024】
第4の発明は、第3の発明であって、最適化処理ステップは、所定の要素を選択する選択行列により、ハンケル行列Rおよび/または行列分解処理ステップにより分解された行列の積に対して行列演算を行うことで、第1抽出処理および/または第2抽出処理を実行する。
【0025】
これにより、このデータ補間処理方法では、選択行列を用いて、簡単に、最適化処理に必要な要素のみを取り出すことができる。
【0026】
第5の発明は、第1から第4のいずれかの発明であって、補間データ処理ステップは、観測データが欠落している部分に対応する要素であって、最適化行列の反対角方向に配列されている要素の平均値または加重平均値を取得し、取得した当該平均値または加重平均値に基づいて、観測データが欠落している部分のデータを補間する。
【0027】
これにより、このデータ補間処理方法では、最適化行列の反対角方向に配列されている要素の平均値または加重平均値を取得するという簡単な方法により、観測データが欠落している部分のデータを取得することができる。
【0028】
第6の発明は、間欠的に取得される観測データに対して、補間処理を行うためのデータ補間処理装置であって、観測データ取得部と、データ保持部と、行列生成部と、行列分解処理部と、最適化処理部と、補間データ処理部と、を備える。
【0029】
観測データ取得部は、無線信号から通信品質に関するデータの観測データを取得する。
【0030】
データ保持部は、観測データ取得部により取得された観測データを所定の期間記憶し保持する。
【0031】
行列生成部は、所定の単位期間に相当するウィンドウを時間方向に所定の期間である第1時間ずつずらしたときに当該ウィンドウに相当する期間内に含まれるデータ群が1行の要素となるようにハンケル行列Rを生成する。
【0032】
そして、行列生成部は、(1)ハンケル行列Rの要素に相当するデータがデータ保持部に記憶保持されている観測データである場合、当該要素に相当するデータを当該観測データに設定し、(2)ハンケル行列Rの要素に相当するデータがデータ保持部に記憶保持されていない場合、当該要素に相当するデータを欠落部分のデータであることを示す値に設定することで、ハンケル行列Rを生成する。
【0033】
行列分解処理部は、行列生成部により生成されたハンケル行列Rに対して行列分解を行い、分解行列を取得する。
【0034】
最適化処理部は、行列分解処理部により分解された行列の積により取得される要素の値と、ハンケル行列の要素の値とに基づいて、最適化処理を行うことで、最適化行列を取得する。
【0035】
補間データ処理部は、最適化行列に基づいて、観測データが欠落している部分のデータを補間する。
【0036】
これにより、第1の発明と同様の効果を奏するデータ補間処理装置を実現することができる。
【0037】
第7の発明は、第1から第4のいずれかの発明であるデータ補間処理方法をコンピュータに実行させるためのプログラムである。
【0038】
これにより、第1の発明と同様の効果を奏するデータ補間処理方法をコンピュータに実行させるためのプログラムを実現することができる。
【0039】
第8の発明は、第1から第5のいずれかの発明であるデータ補間処理方法により取得された補間データを用いて、観測データの将来値予測を行うモデルの学習処理を行う学習処理装置である。
【0040】
これにより、この学習処理装置では、第1から第5のいずれかの発明であるデータ補間処理方法により取得された補間データを用いて学習処理を行うことができる。
【0041】
第9の発明は、第1から第5のいずれかの発明であるデータ補間処理方法により取得された補間データを用いて、観測データの将来値予測を行うモデルの学習処理を行うことで取得された学習済みモデルを搭載し、
第1から第5のいずれかの発明であるデータ補間処理方法により取得された補間データを学習済みモデルに入力することで、観測データの将来値予測を行う予測処理装置である。
【0042】
これにより、この学習処理装置では、第1から第5のいずれかの発明であるデータ補間処理方法により取得された補間データを学習済みモデルに入力することで、高精度な観測データの将来値予測を行うことができる。
【発明の効果】
【0043】
本発明によれば、観測データが間欠的なデータとして取得される状況下においても、観測データを適切に補間したデータを取得し、当該データを用いて、将来の通信品質状況を予測するモデルの学習処理を高精度かつ適切に行うことができる無線状況予測装置、および、それに用いられるデータ補間処理方法、プログラムを実現することができる。
【図面の簡単な説明】
【0044】
図1】第1実施形態に係る無線状況予測装置100の概略構成図。
図2】第1実施形態に係る無線状況予測装置100のデータ補間処理部1の概略構成図。
図3】観測データが間欠的に取得される場合の同一の波形パターンに対する線形補間処理を説明するための図。
図4】観測データが間欠的に取得される場合の同一の波形パターンに対するデータ補間処理を説明するための図。
図5】RSSI値の波形パターンにおいて、間欠的に取得される観測データからハンケル行列を取得する処理を説明するための図。
図6】行列分解処理について説明するための図。
図7】無線状況予測装置100で実行されるデータ補間処理のフローチャート。
図8】選択行列Skにより行列Rから観測データが存在する要素を抽出する処理を説明するための図。
図9】選択行列Skにより行列Pから、行列Rにおいて観測データが存在する要素と同一行のデータを抽出する処理を説明するための図。
図10】選択行列Siにより行列Rから観測データが存在する要素を抽出する処理を説明するための図。
図11】選択行列Siにより行列Pから、行列Rにおいて観測データが存在する要素と同一列のデータを抽出する処理を説明するための図。
図12】データ補間処理を説明するための図であり、間欠的に取得された観測データ(RSSI値)と最適化行列R_opt(ハンケル行列Rに対する最適化処理で取得された行列)を示した図。
図13】データ補間処理を説明するための図であり、間欠的に取得された観測データ(RSSI値)と最適化行列R_optにより取得した補間データを示した図。
図14】無線通信制御されるAGVが倉庫内で所定のルートを巡回する環境において、所定の位置に設置されたアクセスポイントにおいて、取得された無線信号のRSSI値(間欠的に取得されるデータ)を補間して取得されたデータを示す図。
図15】無線通信制御されるAGVが倉庫内で所定のルートを巡回する環境において、所定の位置に設置されたアクセスポイントにおいて、取得された無線信号のRSSI値(間欠的に取得されるデータ)を補間して取得されたデータを用いて、PNNモデルによる予測処理(10秒先のRSSI値の予測)を行った場合の予測結果データを示す図。
図16】CPUバス構成を示す図。
【発明を実施するための形態】
【0045】
[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
【0046】
<1.1:無線通信システムの構成>
図1は、第1実施形態に係る無線状況予測装置100の概略構成図である。
【0047】
図2は、第1実施形態に係る無線状況予測装置100のデータ補間処理部1の概略構成図である。
【0048】
無線状況予測装置100は、図1に示すように、アンテナAnt1と、復調処理部Dm1と、観測データ取得部FE1と、データ補間処理部1と、予測処理部2とを備える。
【0049】
アンテナAnt1は、外部からのRF信号(例えば、搬送帯域OFDM信号)を受信するためのアンテナである。アンテナAnt1は、受信したRF信号(例えば、搬送帯域OFDM信号)を信号RFinとして、復調処理部Dm1に出力する。なお、アンテナAnt1は、送信用アンテナとしても機能するアンテナ(送受信用アンテナ)であってもよい。
【0050】
復調処理部Dm1は、RF処理部Dm11と、BB処理部Dm12とを備える。
【0051】
RF処理部Dm11は、信号RFinに対して、RF復調処理を実行し、ベースバンド信号を取得する。
【0052】
BB処理部Dm12は、RF処理部Dm11により復調されたベースバンド信号に対して、ベースバンド復調処理を実行し、ベースバンド復調処理後の信号(データ)をデータD0として取得し、取得したデータD0を観測データ取得部FE1に出力する。
【0053】
観測データ取得部FE1は、復調処理部Dm1から出力されるデータD0を入力し、当該データD0から、無線状況予測装置100が置かれている無線通信環境のQoS(Quality of Service)を示すデータ(通信品質を表すデータ)であるQoS値を取得する。そして、観測データ取得部FE1は、取得したQoS値を含むデータをデータD1として、データ補間処理部1に出力する。
【0054】
なお、QoS値は、例えば、受信信号強度(RSSI:Received Signal Strength Indicator)、スループット、(連続)パケットロス数、遅延量等の通信品質を示す指標値である。
【0055】
データ補間処理部1は、図2に示すように、データ保持部11と、行列生成部12と、行列分解処理部13と、最適化処理部14と、補間データ取得部15とを備える。
【0056】
データ保持部11は、観測データ取得部FE1からのデータD1を入力する。データ保持部11は、入力されたデータD1を所定の期間、記憶保持する。データ保持部11は、例えば、FIFO(First in First out)メモリを用いて実現される。データ保持部11は、行列生成部12からの指令により、所定のアドレスに記憶されているデータを読み出し、読み出したデータをデータD_ptnとして、行列生成部12に出力する。
【0057】
行列生成部12は、データ保持部11に対して、所定のアドレスに記憶されているデータを読み出し、読み出したデータをデータD_ptnとして、データ保持部11から入力する。行列生成部12は、データD_ptnから、行列Rを取得し、取得した行列R(行列Rを含むデータ)を行列分解処理部13および最適化処理部14に出力する。
【0058】
行列分解処理部13は、行列生成部12から出力される行列Rを含むデータを入力し、行列Rに対して行列分解処理を行う。行列分解処理部13は、行列分解処理により取得した行列R、Qを含むデータを最適化処理部14に出力する。
【0059】
最適化処理部14は、行列生成部12から出力される行列Rを含むデータと、行列分解処理部13から出力される行列R、Qを含むデータとを入力する。最適化処理部14は、行列R、行列P、Q(行列Rを行列分解した行列P、Q)を用いて、最適化処理を行い、最適化行列R_optを取得する。そして、最適化処理部14は、取得した最適化行列R_optを含むデータを補間データ取得部15に出力する。
【0060】
補間データ取得部15は、最適化処理部14から出力される最適化行列R_optを入力し、最適化行列R_optに基づいて、補間処理を行い、補間データを取得する。そして、補間データ取得部15は、取得した補間データを含むデータを、データD1_intplとして、予測処理部2に出力する。
【0061】
予測処理部2は、データ補間処理部1から出力されるデータD1_intplと、制御部(不図示)から出力される処理モード(例えば、(1)学習処理モード、および、(2)予測処理実行モード)を指定するモード信号Modeとを入力する。
【0062】
予測処理部2は、モード信号Modeが学習処理モードを指定する信号である場合、データD1_intplを用いて、学習処理(例えば、PNNモデルやニューラルネットワークモデルを用いた学習モデルの学習処理(訓練処理))を実行する。
【0063】
予測処理部2は、モード信号Modeが予測処理実行モードを指定する信号である場合、データD1_intplに対して、予測処理を実行し、予測処理の結果データを含むデータをデータDoutとして出力する。
【0064】
なお、「データ補間処理装置」は、データ補間処理部により実現される。
【0065】
<1.2:無線状況予測装置の動作>
以上のように構成された無線状況予測装置100の動作について、以下、説明する。
【0066】
図3は、観測データが間欠的に取得される場合の同一の波形パターンに対する線形補間処理を説明するための図である。図3の上図は、間欠的に観測データが取得される場合の波形パターン(RSSI値の波形パターン)を示す図であり、横軸が時間であり、縦軸がRSSI値である。図3の下図は、図3の上図の波形パターンに対して、線形補間により取得された観測データの波形パターン(RSSI値の波形パターン)を示す図であり、横軸が時間であり、縦軸がRSSI値である。
【0067】
図4は、観測データが間欠的に取得される場合の同一の波形パターンに対するデータ補間処理を説明するための図である。図4の上図は、間欠的に観測データが取得される場合の波形パターン(RSSI値の波形パターン)を示す図であり、横軸が時間であり、縦軸がRSSI値である。図4の下図は、図4の上図の波形パターンに対して、データ補間処理(無線状況予測装置100で実行されるデータ補間処理)により取得された観測データの波形パターン(RSSI値の波形パターン)を示す図であり、横軸が時間であり、縦軸がRSSI値である。
【0068】
図5は、RSSI値の波形パターンにおいて、間欠的に取得される観測データからハンケル行列を取得する処理を説明するための図である。
【0069】
図6は、行列分解処理について説明するための図である。
【0070】
図7は、無線状況予測装置100で実行されるデータ補間処理のフローチャートである。
【0071】
図8は、選択行列Sにより行列Rから観測データが存在する要素を抽出する処理を説明するための図である。
【0072】
図9は、選択行列Sにより行列Pから、行列Rにおいて観測データが存在する要素と同一行のデータを抽出する処理を説明するための図である。
【0073】
図10は、選択行列Sにより行列Rから観測データが存在する要素を抽出する処理を説明するための図である。
【0074】
図11は、選択行列Sにより行列Pから、行列Rにおいて観測データが存在する要素と同一列のデータを抽出する処理を説明するための図である。
【0075】
まず、観測データ(例えば、RSSI値)が間欠的に取得される波形パターンに対する補間処理について、説明する。
【0076】
例えば、図3に示すように、時刻tt~時刻ttにおけるRSSI値の波形パターンと、時刻tt~時刻ttにおけるRSSI値の波形パターンとが同一である場合において、観測したデータを用いて線形補間を行った場合について説明する。なお、図3の左図に示すように、時刻tt~時刻ttにおいて、D1_observed、および、D2_observedで示した部分のデータが観測された(データ取得できた)ものとし、図3の右図に示すように、時刻tt~時刻ttにおいて、D3_observed、および、D4_observedで示した部分のデータが観測された(データ取得できた)ものとする。
【0077】
この場合において、図3の左図の観測データ(D1_observed、および、D2_observedで示した部分のデータ)を用いて線形補間を行うと、図3の下左図のような波形パターン(線形補間後の波形パターン)が取得される。
【0078】
また、図3の右図の観測データ(D3_observed、および、D4_observedで示した部分のデータ)を用いて線形補間を行うと、図3の下右図のような波形パターン(線形補間後の波形パターン)が取得される。
【0079】
このように、同一の波形パターンに対して、線形補間によりデータ欠落部分のデータを補間すると、観測データが波形パターンのどの部分であるかによって(観測データの欠落部分の位置によって)、線形補間により取得される波形パターンが異なったものとなる。観測データの欠落部分が異なるときに、同一波形パターンを線形補間して、別の波形パターン(異なった波形パターン)になってしまうと、線形補間して取得される波形パターンを用いて、将来値予測のためのPNNモデル等の学習処理を行うと、学習処理の精度、効率が悪化する。つまり、本来同じ波形パターンであるにも関わらず、線形補間して取得された波形パターンが異なる波形パターンを用いて学習処理を行うと、異なる波形パターンとして学習処理が実行されてしまい、適切な将来値予測を行う学習済みモデルを取得できなくなる。また、本来同じ波形パターンであるにも関わらず、線形補間して取得された波形パターンが異なる波形パターンとなってしまうと、波形パターンの数が不適切に増加してしまい、学習処理の効率が悪化する。
【0080】
このような線形補間の問題を解決するために、無線状況予測装置100では、図4に示すように、観測データが間欠的に取得される場合において、観測データの取得部分(欠落データの部分)がどこであっても、同一波形パターンに対してデータ補間処理を行った場合に、略同一の波形パターン(補間処理後の波形パターン)が取得されるようにデータ補間処理を行う。これにより、無線状況予測装置100では、適切な波形パターン(補間処理後の波形パターン)が取得でき、高精度で、かつ、効率の良い学習処理(将来値予測のためのPNNモデル等の学習処理)を行うことができる。
【0081】
以下では、無線状況予測装置100の動作について、(1)学習処理の動作(学習処理モードでの動作)、および、(2)予測処理の動作(予測処理実行モードでの動作)に分けて説明する。また、図7のフローチャートを参照しながら、説明する。
【0082】
(1.2.1:学習処理(学習処理モードでの動作))
まず、学習処理(学習処理モードでの動作)について説明する。
【0083】
無線状況予測装置100の復調処理部Dm1は、アンテナAnt1を介して受信した無線信号に対して復調処理を実行し、RF復調信号、BB復調信号を取得する。観測データ取得部FE1は、復調処理部Dm1により取得された、RF復調信号、および/または、BB復調信号から、QoS値(スループット、(連続)パケットロス数、遅延量等の通信品質を示す指標値)を取得する。なお、説明便宜のため、以下では、QoS値がRSSI値(信号受信強度)であるものとして説明する。
【0084】
そして、観測データ取得部FE1は、取得したRSSI値を含むデータをデータD1として、データ補間処理部1に出力する。
【0085】
データ補間処理部1のデータ保持部11は、入力されたデータD1を所定の期間、記憶保持する。なお、ここでは、データ保持部11は、FIFO(First in First out)メモリを用いて実現されるものとする。なお、FIFOメモリは、例えば、デュアルポートのRAMを用いて実現してもよい。
【0086】
データ保持部11は、FIFOメモリの1サンプルを取得する周期(FIFOメモリに1つのデータを入力させる周期)をサンプル周期Tsとすると、Ts×(Nw+Ns-1)に相当する期間のデータを記憶保持する。つまり、データ保持部11は、(Nw+Ns-1)個のサンプルデータを記憶保持する。
【0087】
なお、データ保持部11は、観測データ取得部FE1から、観測データが取得できない期間(データ欠落期間)においては、FIFOメモリに、値「0」のデータ(RSSI値)を入力し、観測データが取得できる期間においては、FIFOメモリに、観測データのRSSI値を入力するものとする。
【0088】
行列生成部12は、データ保持部11に対して、データ保持部11で記憶されている所定の期間のデータをデータD_ptnとして読み出す。具体的には、行列生成部12は、データ保持部11に記憶されている(Nw+Ns-1)個のサンプルデータを読み出し、以下のように行データをNs個取得することで、Ns行Nw列の行列R(ハンケル行列R)を取得する(図7のステップS1)。
(1)時刻t11~t12の期間にデータ保持部11のFIFOメモリに記憶(入力)されたデータ(サンプル)r~rNwを、行列Rの1行目の要素(Nw個の要素)とする。
(2)時刻t11+Ts~t12+Tsの期間にデータ保持部11のFIFOメモリに記憶(入力)されたデータ(サンプル)r~rNw+1を、行列Rの2行目の要素(Nw個の要素)とする。なお、Tsは、データ保持部11のFIFOメモリでデータ取得するときのサンプル周期である。
(3)時刻t11+Ts×2~t12+Ts×2の期間にデータ保持部11のFIFOメモリに記憶(入力)されたデータ(サンプル)r~rNw+2を、行列Rの3行目の要素(Nw個の要素)とする。
・・・
(k)時刻t11+Ts×(k-1)~t12+Ts×(k-1)の期間にデータ保持部11のFIFOメモリに記憶(入力)されたデータ(サンプル)r~rNw+k-1を、行列Rのk行目(k:自然数、1≦k≦Ns)の要素(Nw個の要素)とする。
・・・
(Ns)時刻t11+Ts×(Ns-1)~t12+Ts×(Ns-1)の期間にデータ保持部11のFIFOメモリに記憶(入力)されたデータ(サンプル)rNs~rNw+Ns-1を、行列RのNs行目(k:自然数、1≦k≦Ns)の要素(Nw個の要素)とする。
【0089】
行列生成部12により、上記のようにして取得されたNs行Nw列の行列R(ハンケル行列R)は、図5に示すスライディングウィンドウWin1を、図5の矢印Dir1方向に1サンプル周期ずつずらしたときにスライディングウィンドウ内にあるデータを1行の要素とすることで取得された行列に相当する。図5から分かるように、行列Rは、観測データが左斜め下方向に移動するような行列となり、観測データがない部分の要素(データ欠落部分の要素)は値「0」となる。図5の左下図に示したハンケル行列Rにおいて、実線で示した部分のデータは観測データのRSSI値が要素となっており、白地部分は値「0」の要素となっている。図5の右下図に示したハンケル行列Rにおいて、グレー部分のデータは観測データのRSSI値が要素となっており、白色部分は値「0」の要素となっている。
【0090】
つまり、上記のようにして取得されたNs行Nw列の行列Rは、反対角成分のみが「0」でない値であるハンケル行列となる。なお、ハンケル行列は、正方行列で定義されるが、正方行列以外の行列の場合であっても、反対角成分が同一である場合(i行j列の要素(観測データ)と、i+1行j-1列の要素とが同一である場合)、広義のハンケル行列であるとして、以下、このような行列をハンケル行列という。
【0091】
行列生成部12は、上記のようにして取得したハンケル行列Rを含むデータを行列分解処理部13および最適化処理部14に出力する。
【0092】
行列分解処理部13は、行列生成部12により取得されたハンケル行列Rに対して行列分解処理を行う。具体的には、行列分解処理部13は、公知の手法により、ハンケル行列Rの実効的なランク数(階数)Lを取得(算出)する処理を行い、ハンケル行列Rの実効的なランク数Lを取得する。
【0093】
そして、行列分解処理部13は、ハンケル行列Rに対して特異値分解を行う。実効的なランク数とは、最大特異値(特異値の絶対値が最大のもの)と比べ非常に小さい特異値を0とみなした上で非ゼロの特異値の数を指す。0とみなす特異値は例えば、最大特異値の絶対値の1/10以下の絶対値を持つ特異値として決定する。実効的なランク数を用いることにより、観測タイミングのずれや無線端末が移動したルートのずれ等の誤差要因に起因する雑音の影響を軽減することができる。一般に、実効的なランク数Lの行列Rについて、特異値分解を行うと、行列Rを下記のように表現することができる。
R=UΣV
U:左特異ベクトルにより構成されるユニタリ行列
Σ:対角成分が特異値となる行列(以下、これを「特異値行列」という)
V:右特異ベクトルにより構成されるユニタリ行列
ここで、特異値行列Σは、実効的なランク数がLである場合、対角成分の1行目の要素からL行目までの要素が非0となり、それ以外の要素の値が「0」となる。つまり、特異値行列Σの対角成分σ11、σ22、・・・、σLLの値が非0となる。なおσijは、i行j列の要素を表す。また、Aは、行列Aの転置を表す(Aは、行列Aの転置行列である)。
【0094】
行列分解処理部13は、特異値分解を行い、上記のユニタリ行列U、特異値行列Σ、および、ユニタリ行列Vを取得する。そして、行列分解処理部13は、
P=U:,1:LΣ0.5 1:L,1:L
Q=Σ0.5 1:L,1:L 1:L,:
L:行列Rの実効的なランク数
に相当する処理を行い、行列Pおよび行列Qを取得する。なお、行列Aが実数を要素とするm×n(m行n列)の行列であるとし、行列Aのi行j列の成分をxijとすると、(1)A0.5、(2)Aa:b,c:d、(3)Aa,:、および(4)A:,aは、以下の内容を意味するものとする。
(1)A0.5:i行j列の成分がsqrt(xij)の行列(m×nの行列)(sqrt(x)は、xの平方根を表す)
(2)Aa:b,c:d:行列Aのa行からb行の要素、および、行列Aのc列からd列の要素を抽出した行列
(3)Aa,::行列Aのa行の要素を抽出した行列
(4)A:,a:行列Aのa列の要素を抽出した行列
図6に示すように、m×nの行列Rは、n×nのユニタリ行列Uと、n×mの特異値行列Σと、m×mのユニタリ行列Vの転置行列Vとの積で表すことができる。そして、行列Rの実効的なランク数がLであるとき、特異値行列Σの対角成分σ11、σ22、・・・、σLLの値のみが非0となるので、図6に示すように、
R=UΣV
=U:,1:LΣ1:L,1:L 1:L,:
=U:,1:LΣ0.5 1:L,1:LΣ0.5 1:L,1:L 1:L,:
が成り立つ。したがって、
P=U:,1:LΣ0.5 1:L,1:L
Q=Σ0.5 1:L,1:L 1:L,:
とすることで、
R≒PQ
となる。すなわち、行列Rを、n×Lの行列Pと、L×mの行列Qとの積で表すことができる。なお、特異値分解において、ノイズ等の影響により生じる値の小さい特異値を無視するため、上記Rと、PQとは、厳密は等価にはならないため、上記のように、近似式での表記を行っている(Rと、PQとが略同一とする表記を行っている)。また、図6において、所定の値よりも小さい特異値(例えば、誤差の範囲内にある特異値)は「0」とみなして、特異値行列Σ等を示している。
【0095】
行列分解処理部13は、実効的なランク数Lのハンケル行列R(Ns×Nwの行列)に対して、上記数式に相当する処理を行い、Ns×Lの行列P、および、L×Nwの行列Qを取得する(図7のステップS2)。そして、行列分解処理部13は、取得した行列P、Qを含むデータを最適化処理部14に出力する。
【0096】
最適化処理部14は、ハンケル行列R、行列P、Q(ハンケル行列Rを行列分解した行列P、Q)を用いて、最適化処理を行い、最適化行列R_optを取得する。具体的には、最適化処理部14は、損失関数Loss(P,Q)を、下記数式のように設定する。
【数1】
λ:実数
【数2】
【数3】
なお、Ri,kは、行列Rのi行k列目の要素(の値)を表しており、||A||は、行列Aのフロベニウスノルムを表している。また、集合Ωは、ハンケル行列Rの要素のうち、観測データが取得された要素のインデックス(i,k)の集合である。つまり、Ri,kは、実際に観測されたデータ(観測データ(RSSI値))を有する要素(行列Rの要素)である。
【0097】
そして、最適化処理部14は、下記数式に相当する処理を行うことで、行列P、Qの最適解Popt、Qoptを取得する。
【数4】
行列P、Qの最適解Popt、Qoptは、下記数式を満たすP、Qを求めることで取得できる。
【数5】
【数6】
上記数式を満たす行列P、Qを、それぞれ、Popt、Qoptとすると、行列Popt、Qoptは、下記数式に相当する処理を行うことで取得できる。
【数7】
I:単位行列
【数8】
なお、上記数式に相当する処理を行うと、計算量が多くなり、処理効率が悪くなる。そこで、最適化処理部14は、選択行列を用いて、行列Rの要素のうち観測データが存在する要素(集合Ωに含まれるインデックス(i,k)の要素)のみを抽出して、処理を行うことで、行列P、Qの最適解Popt、Qoptを取得する。これについて、具体的に説明する。
【0098】
≪1:Qについての最適化処理(ステップS4)≫
最適化処理部14は、ハンケル行列のk列(観測データが存在する列)において、観測データが存在する要素のみを抽出する。具体的には、最適化処理部14は、下記数式に相当する処理を行い、ハンケル行列Rのk列(観測データが存在する列)において、観測データが存在する要素のみを抽出する。
【数9】
なお、上記において、行列Sは、選択行列であり、n×mのハンケル行列Rのk列において、観測データを有している要素の数がα個である場合、最適化処理部14は、以下のようにして、α×nの選択行列Sを生成する。
【0099】
ハンケル行列Rのk列の観測データを有している要素を行番号について昇順に検出した場合に、当該要素を第1番目の要素から第α番目の要素とし、第q番目(q:自然数、1≦q≦α)の要素の行番号をrow(q)とすると、最適化処理部14は、選択行列Sの第q行目の要素を、第row(q)列のみが値「1」であり、それ以外の列の値が「0」となるように設定する。
【0100】
このようにして生成される選択行列Sの一例を図8に示す。図8では、ハンケル行列Rの第k列の観測データを有している要素(既知部分の要素)が第1行、第6行、第7行、第n行の要素(4個の要素)である場合を示している。図8の下図に示すように、最適化処理部14は、S:,kに相当する処理を行うことで、ハンケル行列Rのk列において、観測データを有している要素のみを抽出した行列xを取得できる。
【0101】
また、最適化処理部14は、選択行列Sを用いて、行列Pにおいて、ハンケル行列Rのk列(観測データが存在する列)の観測データが存在する要素と同一行のデータ(要素)を抽出する。具体的には、最適化処理部14は、選択行列Sと行列Pとの積をとることで、行列Pにおいて、ハンケル行列Rのk列(観測データが存在する列)の観測データが存在する要素と同一行のデータ(要素)を抽出する。すなわち、最適化処理部14は、下記数式に相当する処理を実行することで、行列Pにおいて、ハンケル行列Rのk列(観測データが存在する列)の観測データが存在する要素と同一行のデータ(要素)を抽出した行列Ppartを取得できる。
【数10】
選択行列Sにより、行列Ppartを取得する場合の一例を図9に示す。図9では、ハンケル行列Rの第k列の観測データを有している要素(既知部分の要素)が第1行、第6行、第7行、第n行の要素(4個の要素)である場合を示している。図9の下図に示すように、最適化処理部14は、SPに相当する処理を行うことで、行列Pにおいて、ハンケル行列Rのk列(観測データが存在する列)の観測データが存在する要素と同一行のデータ(要素)を抽出した行列Ppartを取得できる。
【0102】
最適化処理部14は、上記のようにして取得した行列Ppartと、行列Qのk列目を抽出した行列Q:,kとを用いて、下記数式に相当する処理を行うことで、ハンケル行列Rのk列目の観測データのRSSI値と、行列分解して取得された行列P、Qの積により取得される値との誤差を効率良く(計算量を低減させて)行うことができる。つまり、最適化処理部14は、ハンケル行列Rのk列目の観測データを抽出した行列xと、選択行列Sにより取得した行列Ppart、および、行列Qのk列目を抽出した行列Q:,kの積により取得される行列との誤差を下記の数式に相当する処理を行うことで、効率良く行うことができる。
【数11】
そして、最適化処理部14は、ハンケル行列Rのk列目の観測データに注目した損失関数LossA(P,Q)を下記数式のように設定する。
【数12】
そして、最適化処理部14は、上記損失関数LossA(P,Q)の値を最小にする行列Q(行列Q:,k)を求める。つまり、最適化処理部14は、下記数式を満たす行列Q(行列Q:,k)を求める。
【数13】
上記数式を満たす行列Q(行列Q:,k)は、下記数式により取得されるので、最適化処理部14は、下記数式に相当する処理を行うことで、上記の損失関数LossA(P,Q)の値を最小にする行列Q:,kを取得する。
【数14】
最適化処理部14は、上記処理により取得された行列Q:,kの値を行列Qに設定(更新)する(行列Qの該当する要素の値を、行列Q:,kで取得された値に更新する)。
【0103】
そして、最適化処理部14は、上記処理をすべてのkについて繰り返し実行する。つまり、ハンケル行列Rにおいて、観測データが存在しているすべての列について、上記処理(行列Pを固定し、行列Qについての最適化処理)を繰り返し実行する。
【0104】
≪2:Pについての最適化処理(ステップS5)≫
次に、最適化処理部14は、行列Qを固定し、行列Pについての最適化処理を行う。具体的には、最適化処理部14は、下記数式に相当する処理を行い、ハンケル行列Rのi行(観測データが存在する行)において、観測データが存在する要素のみを抽出する。
【数15】
なお、上記において、行列Sは、選択行列であり、n×mのハンケル行列Rのi行において、観測データを有している要素の数がα個である場合、最適化処理部14は、以下のようにして、α×mの選択行列Sを生成する。
【0105】
ハンケル行列Rのi行の観測データを有している要素を列番号について昇順に検出した場合に、当該要素を第1番目の要素から第α番目の要素とし、第q番目(q:自然数、1≦q≦α)の要素の列番号をcol(q)とすると、最適化処理部14は、選択行列Sの第q行目の要素を、第col(q)列のみが値「1」であり、それ以外の列の値が「0」となるように設定する。
【0106】
このようにして生成される選択行列Sの一例を図10に示す。図10では、ハンケル行列Rの第i行の観測データを有している要素(既知部分の要素)が第1列、第6列、第7列、第m列の要素(4個の要素)である場合を示している。図10の下図に示すように、最適化処理部14は、S i,:に相当する処理を行うことで、ハンケル行列Rのi行において、観測データを有している要素のみを抽出した行列yを取得できる。
【0107】
また、最適化処理部14は、選択行列Sを用いて、行列Qにおいて、ハンケル行列Rのi行(観測データが存在する行)の観測データが存在する要素と同一列のデータ(要素)を抽出する。具体的には、最適化処理部14は、選択行列Sと行列Qとの積をとることで、行列Qにおいて、ハンケル行列Rのi行(観測データが存在する行)の観測データが存在する要素と同一列のデータ(要素)を抽出する。すなわち、最適化処理部14は、下記数式に相当する処理を実行することで、行列Qにおいて、ハンケル行列Rのi行(観測データが存在する行)の観測データが存在する要素と同一列のデータ(要素)を抽出した行列Qpartを取得できる。
【数16】
選択行列Sにより、行列Qpartを取得する場合の一例を図11に示す。図11では、ハンケル行列Rの第i行の観測データを有している要素(既知部分の要素)が第1列、第6列、第7列、第m列の要素(4個の要素)である場合を示している。図11の下図に示すように、最適化処理部14は、Sに相当する処理を行うことで、行列Qにおいて、ハンケル行列Rのi行(観測データが存在する行)の観測データが存在する要素と同一列のデータ(要素)を抽出した行列Qpartを取得できる。
【0108】
最適化処理部14は、上記のようにして取得した行列Pのi行目を抽出した行列P i,:と、行列Qpartとを用いて、下記数式に相当する処理を行うことで、ハンケル行列Rのi行の観測データのRSSI値と、行列分解して取得された行列P、Qの積により取得される値との誤差を効率良く(計算量を低減させて)行うことができる。つまり、最適化処理部14は、ハンケル行列Rのi行目の観測データを抽出した行列yと、行列Pのi行目を抽出した行列P i,:、および、選択行列Sにより取得した行列Qpartの積により取得される行列との誤差を下記の数式に相当する処理を行うことで、効率良く行うことができる。
【数17】
そして、最適化処理部14は、ハンケル行列Rのi行目の観測データに注目した損失関数LossB(P,Q)を下記数式のように設定する。
【数18】
そして、最適化処理部14は、上記損失関数LossB(P,Q)の値を最小にする行列P(行列P i,:)を求める。つまり、最適化処理部14は、下記数式を満たす行列P(行列P i,:)を求める。
【数19】
上記数式を満たす行列P(行列P i,:)は、下記数式により取得されるので、最適化処理部14は、下記数式に相当する処理を行うことで、上記の損失関数LossB(P,Q)の値を最小にする行列P i,:を取得する。
【数20】
最適化処理部14は、上記処理により取得された行列P i,:の値を行列Pに設定(更新)する(行列Pの該当する要素の値を、行列P i,:で取得された値に更新する)。
【0109】
そして、最適化処理部14は、上記処理をすべてのiについて繰り返し実行する。つまり、ハンケル行列Rにおいて、観測データが存在しているすべての行について、上記処理(行列Qを固定し、行列Pについての最適化処理)を繰り返し実行する。
【0110】
そして、最適化処理部14は、上記の行列Qについての最適化処理(ステップS4)、行列Pについての最適化処理(ステップS5)を行った後、行列Qについての最適化処理で取得された行列Q、および、行列Pについての最適化処理で取得された行列Pを用いて、ハンケル行列Rを更新する(R=PQ)(ステップS6)。
【0111】
そして、図7のフローチャートに示すように、上記処理(ステップS4~S6)を所定回数繰り返す(図7のフローチャートでは、変数tを+1ずつインクリメントし、tが所定回数tmaxよりも小さい間、ステップS4~S6の処理を繰り返す(ステップS3~S8))。
【0112】
なお、図7のフローチャートでは、所定回数、ステップS4~S6の処理を繰り返す場合を示しているが、これに限定されることはない。例えば、損失関数Loss(P,Q)の値がステップS4~S6の処理を繰り返し実行しても、所定の範囲の値以上変動しない場合に、行列Rの最適化処理が収束したと判断し、最適化処理部14は、ステップS4~S6の処理を終了させるようにしてもよい。また、損失関数Loss(P,Q)の値が所定の値よりも小さくなった場合に、行列Rの最適化処理が収束したと判断し、最適化処理部14は、ステップS4~S6の処理を終了させるようにしてもよい。
【0113】
最適化処理部14は、上記により取得したハンケル行列R(最適化処理後のハンケル行列R)を、最適化行列R_optとして、データ補間処理部15に出力する。
【0114】
≪データ補間処理(ステップS9)≫
補間データ取得部15は、最適化処理部14から出力される最適化行列R_optに基づいて、補間処理を行い、補間データを取得する。具体的な処理について、図12図13を用いて説明する。
【0115】
図12は、データ補間処理を説明するための図であり、間欠的に取得された観測データ(RSSI値)と最適化行列R_opt(ハンケル行列Rに対する最適化処理で取得された行列)を示した図である。図12の上図において、横軸は時間であり、縦軸はRSSI値である。
【0116】
図13は、データ補間処理を説明するための図であり、間欠的に取得された観測データ(RSSI値)と最適化行列R_optにより取得した補間データを示した図である。図13の上図において、横軸は時間であり、縦軸はRSSI値である。
【0117】
なお、図12図13の場合では、Ns×Nwのハンケル行列R(Ns=8、Nw=13)を用いて最適化処理を行い、Ns×Nwの最適化行列R_optを取得した場合を示している。また、図12図13において、黒丸は、観測データ(既知部分)を示している。
【0118】
図12図13の場合、r~r、r~r10、r13、r16、r21が観測データありのデータ(サンプル)であり、それ以外のr~r、r11~r12、r14~r15、r17~r20が観測データなしの部分(サンプル)(データ欠落部分)である。なお、図12図13に示した最適化行列R_optにおいて、黒丸が実線で接続されている要素は、同一の値(同一のRSSI値)の要素であることを示している。
【0119】
この場合において、上記で説明したように、無線状況予測装置100において、Ns×Nwのハンケル行列R(Ns=8、Nw=13)を生成し(初期値として、データ欠落部分の要素には、値「0」を挿入する)、上記の処理(図7のステップS2~S8の処理)を行うことで、最適化行列R_optが取得される。
【0120】
そして、無線状況予測装置100の補間データ取得部15は、図13に示すように、データ欠落部分のデータ(サンプル)に相当する要素である、反対角方向の成分(要素)の平均値を取得し、取得した平均値をデータ欠落部分のデータ(補間データ)とする。例えば、図13の場合において、最適化行列R_optのi行j列の要素をxi,jとすると、r~r、r11~r12、r14~r15、r17~r20の補間データrh~rh、rh11~rh12、rh14~rh15、rh17~rh20は、以下のものとなる。
rh=Ave(x1,4,x2,3,x3,2,x4,1
rh=Ave(x1,5,x2,4,x3,3,x4,2,x5,1
rh=Ave(x1,6,x2,5,x3,4,x4,3,x5,2,x6,1
rh=Ave(x1,7,x2,6,x3,5,x4,4,x5,3,x6,2,x7,1
rh11=Ave(x1,11,x2,10,x3,9,x4,8,x5,7,x6,6,x7,5,x8,4,x9,3
rh12=Ave(x1,12,x2,11,x3,10,x4,9,x5,8,x6,7,x7,6,x8,5,x9,4
rh14=Ave(x2,13,x3,12,x4,11,x5,10,x6,9,x7,8,x8,7,x9,6
rh15=Ave(x3,13,x4,12,x5,11,x6,10,x7,9,x8,8,x9,7
rh17=Ave(x5,13,x6,12,x7,11,x8,10,x9,9
rh18=Ave(x6,13,x7,12,x8,11,x9,10
rh19=Ave(x7,13,x8,12,x9,11
rh20=Ave(x8,13,x9,12
Ave():要素の平均値を取得する関数
図13において、上記処理により取得された補間データrh~rh、rh11~rh12、rh14~rh15、rh17~rh20を、図13の上図において、白丸で示している。無線状況予測装置100のデータ補間処理部1において、上記処理を行うことで、図13の上図に示すように、適切な補間データを取得される。
【0121】
なお、上記では、関数Ave()を用いて、最適化行列R_optの反対角方向の成分(要素)の平均値を取得する場合について説明したが、これに限定されることはなく、例えば、最適化行列R_optの反対角方向の成分(要素)の加重平均値を取得するようにしてもよい。
【0122】
そして、補間データ取得部15は、上記処理に取得した補間データを含むデータを、データD1_intplとして、予測処理部2に出力する。
【0123】
予測処理部2は、データ補間処理部1から出力されるデータD1_intplを用いて、学習処理(例えば、PNNモデルやニューラルネットワークモデルを用いた学習モデルの学習処理(訓練処理))を実行する。
【0124】
無線状況予測装置100では、観測データが間欠的に取得される場合において、観測データの取得部分(欠落データの部分)がどこであっても、同一波形パターンに対してデータ補間処理を行った場合に、略同一の波形パターン(補間処理後の波形パターン)が取得されるようにデータ補間処理を行う。つまり、無線状況予測装置100では、上記のように、観測データからハンケル行列Rを生成し、当該ハンケル行列Rを用いて、最適化処理を行い取得された最適化行列R_optを取得する。そして、無線状況予測装置100では、取得した最適化行列R_optによりデータ欠落部分のデータを補間する。
【0125】
したがって、無線状況予測装置100では、適切な波形パターン(補間処理後の波形パターン)が取得でき、当該波形パターンを用いて、予測処理部2に搭載される将来値予測のためのPNNモデル等の学習処理を行うことで、高精度で、かつ、効率の良い学習処理(将来値予測のためのPNNモデル等の学習処理)を行うことができる。
【0126】
(1.2.2:予測処理(予測処理実行モードでの動作))
次に、予測処理(予測処理実行モードでの動作)について説明する。
【0127】
無線状況予測装置100において、予測処理実行モードにおいて、学習処理モードでの処理と同様にデータ補間処理を行い、補間処理後のデータD1_intplが予測処理部2に入力される。
【0128】
そして、予測処理部2では、補間処理後のデータD1_intpl(波形パターン)を用いて学習処理を実行することで取得された学習済みモデル(例えば、将来値予測のためのPNNモデル等)が構築されているので、補間処理後のデータD1_intpl(波形パターン)を当該学習済みモデルに入力し、当該学習済みモデルからの出力に基づいて、例えば、将来値予測結果のデータを取得する。そして、予測処理部2は、上記により取得した、例えば、将来値予測結果のデータを、データDoutとして出力する。
【0129】
なお、予測処理部2での予測処理において、PNNモデルを用いた処理を行う場合、例えば、特願2017-232442号、特願2018-042747号に開示されている技術を用いてもよい。
【0130】
無線状況予測装置100では、観測データが間欠的に取得される場合において、観測データの取得部分(欠落データの部分)がどこであっても、略同一の波形パターン(補間処理後の波形パターン)が取得されるデータ補間処理を行った補間処理後のデータD1_intplを用いて学習処理を行い取得した学習済みモデルを用いて、予測処理を実行する。したがって、無線状況予測装置100では、間欠的にしか観測データを取得できない場合であっても、当該観測データを用いてデータ補間処理を行い、データ補間処理後のデータを用いて予測処理を行うことで、高精度な予測処理(例えば、RSSI値の将来値予測処理)を行うことができる。
【0131】
≪まとめ≫
以上のように、無線状況予測装置100では、観測データが間欠的に取得される場合において、観測データの取得部分(欠落データの部分)がどこであっても、同一波形パターンに対してデータ補間処理を行った場合に、略同一の波形パターン(補間処理後の波形パターン)が取得されるようにデータ補間処理を行う。つまり、無線状況予測装置100では、上記のように、観測データからハンケル行列Rを生成し、当該ハンケル行列Rを用いて、最適化処理を行い取得された最適化行列R_optを取得する。無線状況予測装置100で生成されるハンケル行列Rは、データ補間処理部1のデータ保持部11で1サンプルずつずらしながらスタックして取得される行列である。AGV等の無線アプリケーションでは、無線端末(例えば、AGVに搭載された無線端末)が固定の経路を繰り返し移動するため、補間対象となる通信品質情報も周期的に変動する。このため、このような状況下で無線状況予測装置100により生成されるハンケル行列が低ランクとなる。したがって、当該ハンケル行列を特異値分解することで、非0となる特異値の数が少なくなる(非0の特異値の数は、ハンケル行列Rの実効的なランク数と概ね同じ数となる)ので、低ランクの行列P、Qに分解することができる。そして、ハンケル行列Rを分解した行列P、Qを用いて、最適化処理を行うことで、計算量を抑えつつ、高精度の最適化処理が可能となる。
【0132】
そして、無線状況予測装置100では、上記により取得された最適化行列R_opt(ハンケル行列に対して最適化処理を行い取得された行列)を用いて、欠落部分のデータを高精度に補間することができる。
【0133】
その結果、無線状況予測装置100では、適切な波形パターン(補間処理後の波形パターン)が取得でき、当該波形パターンを用いて、予測処理部2に搭載される将来値予測のためのPNNモデル等の学習処理を行うことで、高精度で、かつ、効率の良い学習処理(将来値予測のためのPNNモデル等の学習処理)を行うことができる。
【0134】
また、無線状況予測装置100では、上記データ補間処理により取得された、適切な波形パターンに対して、上記学習処理により取得された学習済みモデル(例えば、将来値予測のためのPNNモデル等)を用いた予測処理を行うことで高精度の予測処理を行うことができる。
【0135】
図14に、一例として、無線通信制御されるAGVが倉庫内で所定のルートを巡回する環境において、所定の位置に設置されたアクセスポイントにおいて、取得された無線信号のRSSI値(間欠的に取得されるデータ)を補間して取得されたデータを示す。図14において、横軸はサンプル番号(時系列データの番号(時間に相当))であり、縦軸はRSSI値である。
【0136】
図14から分かるように、観測データが間欠的に取得される場合であっても、データ補間処理による補間(無線状況予測装置100で実行される補間処理)により取得されるデータの精度(補間精度)が、観測データの平均値により補間や線形補間で取得されるデータに比べて高い。
【0137】
また、図15に、一例として、無線通信制御されるAGVが倉庫内で所定のルートを巡回する環境において、所定の位置に設置されたアクセスポイントにおいて、取得された無線信号のRSSI値(間欠的に取得されるデータ)を補間して取得されたデータを用いて、PNNモデルによる予測処理(10秒先のRSSI値の予測)を行った場合の予測結果データを示す。
【0138】
図15から分かるように、観測データが間欠的に取得される場合であっても、データ補間処理による補間(無線状況予測装置100で実行される補間処理)により取得されるデータを用いた予測処理の精度(補間精度)が、観測データの平均値により補間や線形補間で取得されるデータを用いた予測処理の精度に比べて高い。
【0139】
このように、無線状況予測装置100でデータ補間処理を実行して取得した補間データを用いて処理を行うことで、間欠的にしか観測データが取得されない場合であっても高精度に予測処理が実行できる。
【0140】
[他の実施形態]
上記実施形態では、データ補間処理部1において、データ補間処理を行うときに、ハンケル行列Rを特異値分解する場合について説明したが、これに限定されることなく、ハンケル行列Rの冗長性を圧縮できる特性の手法(ハンケル行列Rの低ランク性を有効に利用できる手法)であれば、他の手法を用いて行列分解を行ってもよい。例えば、固有値分解等の手法により、ハンケル行列Rを行列分解するようにしてもよい。
【0141】
また、上記実施形態では、損失関数Loss(P,Q)の第2項がL2正則化項である場合について説明したが、これに限定されることはなく、損失関数Loss(P,Q)の第2項をL1正則化項としてもよく、また、他の過学習を適切に防止できる項としてもよい。
【0142】
また、上記実施形態では、ハンケル行列Rの観測データがない部分の要素の値を値「0」として、処理を行う場合について説明したが、これに限定されることはなく、ハンケル行列Rの観測データがない部分の要素の値に、他の値(例えば、乱数を用いた値)を設定して、ハンケル行列Rの初期値として、最適化処理を実行するようにしてもよい。
【0143】
また、上記実施形態で説明した無線状況予測装置100において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
【0144】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0145】
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0146】
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
【0147】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【0148】
また、例えば、上記実施形態の各機能部を、ソフトウェアにより実現する場合、図16に示したハードウェア構成(例えば、CPU(GPUであってもよい)、ROM、RAM、入力部、出力部等をバスBusにより接続したハードウェア構成)を用いて、各機能部をソフトウェア処理により実現するようにしてもよい。
【0149】
また、上記実施形態の各機能部をソフトウェアにより実現する場合、当該ソフトウェアは、図16に示したハードウェア構成を有する単独のコンピュータを用いて実現されるものであってもよいし、複数のコンピュータを用いて分散処理により実現されるものであってもよい。
【0150】
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
【0151】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
【0152】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【0153】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【符号の説明】
【0154】
100 無線状況予測装置
FE1 観測データ取得部
1 データ補間処理部
11 データ保持部
12 行列生成部
13 行列分解処理部
14 最適化処理部
15 補間データ取得部
2 予測処理部(予測処理装置、学習処理装置)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16