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

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

▶ 国立大学法人大阪大学の特許一覧 ▶ オムロン株式会社の特許一覧

特許7603277データ通信装置、クライアント装置、再送指示方法、及び再送指示プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-12
(45)【発行日】2024-12-20
(54)【発明の名称】データ通信装置、クライアント装置、再送指示方法、及び再送指示プログラム
(51)【国際特許分類】
   H04L 47/38 20220101AFI20241213BHJP
【FI】
H04L47/38
【請求項の数】 27
(21)【出願番号】P 2021025113
(22)【出願日】2021-02-19
(65)【公開番号】P2022127144
(43)【公開日】2022-08-31
【審査請求日】2023-12-06
(73)【特許権者】
【識別番号】504176911
【氏名又は名称】国立大学法人大阪大学
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100124039
【弁理士】
【氏名又は名称】立花 顕治
(74)【代理人】
【識別番号】100170542
【弁理士】
【氏名又は名称】桝田 剛
(72)【発明者】
【氏名】久野 大介
(72)【発明者】
【氏名】中原 睦貴
(72)【発明者】
【氏名】牛久 祥孝
(72)【発明者】
【氏名】黒瀬 真衣
【審査官】長谷川 未貴
(56)【参考文献】
【文献】特開2003-195880(JP,A)
【文献】特開2001-345961(JP,A)
【文献】国際公開第2012/117452(WO,A1)
【文献】特開2010-045816(JP,A)
【文献】国際公開第2009/011126(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-101/00
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
圧縮された対象データをクライアント装置から受信するように構成されるデータ受信部と、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するように構成される結果取得部と、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するように構成される結果評価部と、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するように構成される再送指示部と、
を備え、
前記再送指示部は、前記再送させる指示と共に、算出された前記尤もらしさに応じて圧縮率を低下させる程度を更に指示するように構成される、
データ通信装置。
【請求項2】
圧縮された対象データをクライアント装置から受信するように構成されるデータ受信部と、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するように構成される結果取得部と、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するように構成される結果評価部と、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するように構成される再送指示部と、
を備え、
算出された前記尤もらしさが閾値未満である場合の前記再送させる指示に備えさせるために、前記再送させる指示を送信する前に、圧縮率を低くした前記対象データを生成させる指示を前記クライアント装置に対して送信するように構成される準備指示部を更に備える、
データ通信装置。
【請求項3】
圧縮された対象データをクライアント装置から受信するように構成されるデータ受信部と、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するように構成される結果取得部と、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するように構成される結果評価部と、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するように構成される再送指示部と、
を備え、
前記推論モデルは、機械学習により生成された訓練済みの機械学習モデルにより構成され、
前記推論モデルは、前記機械学習により、前記推論タスクの遂行結果と共に、当該遂行結果の尤もらしさを出力するように訓練されており、
前記尤もらしさを算出することは、前記推論モデルの演算処理を実行した結果として、当該尤もらしさに対応する出力を得ることにより構成される、
データ通信装置。
【請求項4】
圧縮された対象データをクライアント装置から受信するように構成されるデータ受信部と、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するように構成される結果取得部と、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するように構成される結果評価部と、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するように構成される再送指示部と、
を備え、
前記対象データは、画像データにより構成され、
前記推論タスクは、前記画像データに写る対象物を認識することにより構成され、
前記画像データは、監視カメラにより得られ、
前記画像データに写る対象物を認識することは、前記画像データにおけるシーンを識別することにより構成される、
データ通信装置。
【請求項5】
圧縮された対象データをクライアント装置から受信するように構成されるデータ受信部と、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するように構成される結果取得部と、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するように構成される結果評価部と、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するように構成される再送指示部と、
を備え、
前記対象データは、センシングデータにより構成され、
前記推論タスクは、前記センシングデータに表れる特徴を推論することにより構成される、
データ通信装置。
【請求項6】
前記再送指示部は、前記再送させる指示と共に、算出された前記尤もらしさに応じて圧縮率を低下させる程度を更に指示するように構成される、
請求項2から5のいずれか1項に記載のデータ通信装置。
【請求項7】
算出された前記尤もらしさが閾値未満である場合の前記再送させる指示に備えさせるために、前記再送させる指示を送信する前に、圧縮率を低くした前記対象データを生成させる指示を前記クライアント装置に対して送信するように構成される準備指示部を更に備える、
請求項1、3、4、5のいずれか1項に記載のデータ通信装置。
【請求項8】
前記推論モデルは、機械学習により生成された訓練済みの機械学習モデルにより構成される、
請求項1、2、4、5のいずれか1項に記載のデータ通信装置。
【請求項9】
前記尤もらしさは、前記推論タスクの遂行結果の不確定性に基づいて算出される、
請求項に記載のデータ通信装置。
【請求項10】
前記推論モデルは、前記機械学習により、前記推論タスクの遂行結果と共に、当該遂行結果の尤もらしさを出力するように訓練されており、
前記尤もらしさを算出することは、前記推論モデルの演算処理を実行した結果として、当該尤もらしさに対応する出力を得ることにより構成される、
請求項に記載のデータ通信装置。
【請求項11】
前記対象データは、画像データにより構成され、
前記推論タスクは、前記画像データに写る対象物を認識することにより構成される、
請求項1からのいずれか1項に記載のデータ通信装置。
【請求項12】
前記画像データは、監視カメラにより得られ、
前記画像データに写る対象物を認識することは、前記画像データにおけるシーンを識別することにより構成される、
請求項11に記載のデータ通信装置。
【請求項13】
前記対象データは、音データにより構成され、
前記推論タスクは、前記音データに表れる特徴を推論することにより構成される、
請求項1からのいずれか1項に記載のデータ通信装置。
【請求項14】
前記音データは、話者の音声を録音することにより得られ、
前記音データに表れる特徴を推論することは、前記話者の前記音声を認識することにより構成される、
請求項13に記載のデータ通信装置。
【請求項15】
前記対象データは、センシングデータにより構成され、
前記推論タスクは、前記センシングデータに表れる特徴を推論することにより構成される、
請求項1からのいずれか1項に記載のデータ通信装置。
【請求項16】
対象データを取得するように構成されるデータ取得部と、
取得された前記対象データを圧縮するように構成されるデータ圧縮部と、
請求項1から15のいずれか1項に記載のデータ通信装置に圧縮された前記対象データを送信するように構成されるデータ送信部と、
を備えるクライアント装置であって、
圧縮率を低くした上で前記対象データを再送する指示が前記データ通信装置で発生することに対応して、前記データ圧縮部は、先の圧縮率よりも低い圧縮率で前記対象データを再度圧縮するように構成され、
前記データ送信部は、前記対象データを再送する指示を受信したことに応じて、再度圧縮された前記対象データを前記データ通信装置に送信するように構成される、
クライアント装置。
【請求項17】
前記データ圧縮部は、前記データ通信装置からの前記対象データを再送する指示を受信する前に、当該指示に備えて、先の圧縮率よりも低い圧縮率で前記対象データを再度圧縮する処理の実行を開始するように構成される、
請求項16に記載のクライアント装置。
【請求項18】
コンピュータが、
圧縮された対象データをクライアント装置から受信するステップと、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するステップと、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するステップと、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するステップと、
を実行
前記送信するステップにおいて前記コンピュータは、前記再送させる指示と共に、算出された前記尤もらしさに応じて圧縮率を低下させる程度を更に指示する、
再送指示方法。
【請求項19】
コンピュータが、
圧縮された対象データをクライアント装置から受信するステップと、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するステップと、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するステップと、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するステップと、
を実行し、
前記算出するステップにおいて算出された前記尤もらしさが閾値未満である場合の前記再送させる指示に備えさせるために、前記送信するステップにおいて前記再送させる指示を送信する前に、圧縮率を低くした前記対象データを生成させる指示を前記クライアント装置に対して送信するステップをさらに実行する、
再送指示方法。
【請求項20】
コンピュータが、
圧縮された対象データをクライアント装置から受信するステップと、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するステップと、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するステップと、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するステップと、
を実行し、
前記推論モデルは、機械学習により生成された訓練済みの機械学習モデルにより構成され、
前記推論モデルは、前記機械学習により、前記推論タスクの遂行結果と共に、当該遂行結果の尤もらしさを出力するように訓練されており、
前記尤もらしさを算出することは、前記推論モデルの演算処理を実行した結果として、当該尤もらしさに対応する出力を得ることにより構成される、
再送指示方法。
【請求項21】
コンピュータが、
圧縮された対象データをクライアント装置から受信するステップと、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するステップと、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するステップと、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するステップと、
を実行し、
前記対象データは、画像データにより構成され、
前記推論タスクは、前記画像データに写る対象物を認識することにより構成され、
前記画像データは、監視カメラにより得られ、
前記画像データに写る対象物を認識することは、前記画像データにおけるシーンを識別することにより構成される、
再送指示方法。
【請求項22】
コンピュータが、
圧縮された対象データをクライアント装置から受信するステップと、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するステップと、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するステップと、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するステップと、
を実行し、
前記対象データは、センシングデータにより構成され、
前記推論タスクは、前記センシングデータに表れる特徴を推論することにより構成される、
再送指示方法。
【請求項23】
コンピュータに、
圧縮された対象データをクライアント装置から受信するステップと、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するステップと、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するステップと、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するステップと、
を実行させ、
前記送信するステップにおいて前記コンピュータに、前記再送させる指示と共に、算出された前記尤もらしさに応じて圧縮率を低下させる程度を更に指示させる、
再送指示プログラム。
【請求項24】
コンピュータに、
圧縮された対象データをクライアント装置から受信するステップと、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するステップと、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するステップと、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するステップと、
を実行させ、
前記算出するステップにおいて算出された前記尤もらしさが閾値未満である場合の前記再送させる指示に備えさせるために、前記送信するステップにおいて前記再送させる指示を送信する前に、圧縮率を低くした前記対象データを生成させる指示を前記クライアント装置に対して送信するステップをさらに前記コンピュータに実行させる、
再送指示プログラム。
【請求項25】
コンピュータに、
圧縮された対象データをクライアント装置から受信するステップと、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するステップと、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するステップと、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するステップと、
を実行させ、
前記推論モデルは、機械学習により生成された訓練済みの機械学習モデルにより構成され、
前記推論モデルは、前記機械学習により、前記推論タスクの遂行結果と共に、当該遂行結果の尤もらしさを出力するように訓練されており、
前記尤もらしさを算出することは、前記推論モデルの演算処理を実行した結果として、当該尤もらしさに対応する出力を得ることにより構成される、
再送指示プログラム。
【請求項26】
コンピュータに、
圧縮された対象データをクライアント装置から受信するステップと、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するステップと、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するステップと、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するステップと、
を実行させ、
前記対象データは、画像データにより構成され、
前記推論タスクは、前記画像データに写る対象物を認識することにより構成され、
前記画像データは、監視カメラにより得られ、
前記画像データに写る対象物を認識することは、前記画像データにおけるシーンを識別することにより構成される、
再送指示プログラム。
【請求項27】
コンピュータに、
圧縮された対象データをクライアント装置から受信するステップと、
推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するステップと、
前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するステップと、
算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するステップと、
を実行させ、
前記対象データは、センシングデータにより構成され、
前記推論タスクは、前記センシングデータに表れる特徴を推論することにより構成される、
再送指示プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ通信装置、クライアント装置、再送指示方法、及び再送指示プログラムに関する。
【背景技術】
【0002】
図1は、近年盛んに検討されているエッジコンピューティングの構成の一例を模式的に示す。図1に示されるとおり、エッジコンピューティング技術では、ユーザ端末(例えば、スマートフォン)、IoT(Internet of Things)端末等のクライアント装置を利用するユーザの近くにコンピュータサーバ群が配置される。コンピュータサーバ群をデータセンタに集約し、デジタルコンテンツを提供するクラウドネットワーク技術と比較して、エッジコンピューティング技術は、ユーザのクライアント装置とコンピュータサーバとが近い距離にあるため、低遅延でサービスを提供できる利点を有している。エッジコンピューティング技術は、自動運転、動画配信サービス、知的映像監視等のIoTアプリケーションと相性が特に良い。
【0003】
ユーザのクライアント装置とエッジサーバとの間は、小規模な通信ネットワークが利用される傾向にあり、ネットワークのトラヒックの削減(すなわち、通信帯域の効率化)が課題として挙げられる。ネットワークのトラヒックを削減する方法の一つとして、非特許文献1-3では、クラウドサーバ、エッジサーバ等のサーバ装置に画像データを送信する前に、当該画像データを圧縮する方法が提案されている。また、非特許文献4では、深層畳み込み敵対的生成ネットワーク(DCGAN)を用いて、ビデオ通話の際に発生するネットワークのトラヒックを削減する方法が提案されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】J. Chen and X. Ran, "Deep Learning With Edge Computing: A Review", Proc. the IEEE, vol. 107, no. 8, pp. 1655-1674, 2019.
【文献】J. Ren, et al., "Distributed and Efficient Object Detection in Edge Computing: Challenges and Solutions", IEEE Network, vol. 32, no. 6, pp. 137-143, 2018.
【文献】H. Li, et al., "AdaCompress: Adaptive Compression for Online Computer Vision Services", Proc. the ACM International Conf. Multimedia, 2019, pp. 2440-2448.
【文献】S. Watanabe, et al., "Traffic Reduction in Video Call and Chat using DNN-Based Image Reconstruction", Proc. IEEE International Conference on Communications (ICC). 2019.
【発明の概要】
【発明が解決しようとする課題】
【0005】
本件発明者らは、上記従来の方法には、次のような問題点があることを見出した。すなわち、従来の方法によれば、画像データを圧縮することにより、当該画像データを送信する際に発生するネットワークのトラヒックを低減することができる。しかしながら、サーバ装置側において、例えば、訓練済みの機械学習モデル等により構成される推論モデルを使用して、得られた画像データに対して推論タスク(例えば、画像認識)を遂行する場合を想定する。この場合に、高い圧縮率で画像データを圧縮していることが、当該推論モデルにより遂行される推論タスクの精度に悪影響を及ぼす可能性がある。従来の方法では、このような可能性が想定されておらず、サーバ装置側において遂行される推論タスクの精度を保証することが困難であった。
【0006】
なお、この問題点は、画像データをやり取りする場面に特有のものではない。例えば、音データ、センシングデータ等の画像データ以外の種類のデータをやり取りする場面でも同様の問題点が生じ得る。また、この問題点は、エッジコンピューティングを利用するケースに特有のものでもない。サーバ装置等のデータ通信装置とクライアント装置との間でデータをやり取りするあらゆる場面(例えば、クラウドネットワーク技術を採用する場面)に同様の問題点が生じ得る。
【0007】
本発明は、一側面では、このような事情を鑑みてなされたものであり、その目的は、ネットワークのトラヒックを低減しつつ、推論モデルにより遂行される推論タスクの精度を保証する技術を提供することである。
【課題を解決するための手段】
【0008】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【0009】
すなわち、本発明の一側面に係るデータ通信装置は、圧縮された対象データをクライアント装置から受信するように構成されるデータ受信部と、推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するように構成される結果取得部と、前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するように構成される結果評価部と、算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するように構成される再送指示部と、を備える。
【0010】
当該構成では、クライアント装置及びデータ通信装置間で、圧縮された対象データをやり取りするようにすることで、ネットワークのトラヒックを低減することができる。圧縮率を高めれば高めるほど、トラヒックの低減が可能である。一方で、圧縮率を高くし過ぎると、対象データに対する推論モデルの推論精度が悪化してしまう可能性がある。そこで、当該構成では、受信された対象データに対する推論モデルによる推論タスクの遂行結果を取得し、取得された遂行結果の尤もらしさを算出する。尤もらしさは、推論モデルによる推論タスクの遂行結果が確かであるか否か(すなわち、推論モデルの推論結果に信頼性があるか否か)の程度を示す。この尤もらしさが閾値未満である場合に、圧縮率を低くした対象データを再送するようにする。これにより、圧縮率の低い対象データに対する推論モデルによる推論タスクの遂行を可能にし、推論結果の尤もらしさの向上を図ることができる。したがって、当該構成によれば、ネットワークのトラヒックを低減しつつ、推論モデルにより遂行される推論タスクの精度を保証することができる。
【0011】
なお、一例では、データ通信装置は、推論モデルを保持して、推論タスクを遂行するよう構成されるサーバ装置(例えば、アプリケーションサーバ等)として動作してよい。この場合、推論モデルによる推論タスクの遂行は、データ通信装置において実行されてよい。すなわち、推論タスクを遂行した結果を取得することは、推論モデルを使用して、推論タスクを遂行することにより構成されてよい。他の一例では、データ通信装置は、推論モデルを保持して、推論タスクを遂行する他のコンピュータにデータを転送するように構成された転送装置(例えば、中継装置等)として動作してよい。この場合、推論モデルによる推論タスクの遂行は、他のコンピュータにおいて実行されてよい。すなわち、データ通信装置は、推論タスクを遂行した結果を他のコンピュータから取得してよい。
【0012】
上記一側面に係るデータ通信装置において、前記再送指示部は、前記再送させる指示と共に、算出された前記尤もらしさに応じて圧縮率を低下させる程度を更に指示するように構成されてよい。当該構成によれば、適切な圧縮率での再送を期待することができ、クライアント装置及びデータ通信装置間で対象データの再送が実行される回数を抑えることができる。したがって、当該構成によれば、対象データの再送によるネットワークのトラヒックの増加を抑制することができる。
【0013】
上記一側面に係るデータ通信装置は、算出された前記尤もらしさが閾値未満である場合の前記再送させる指示に備えさせるために、前記再送させる指示を送信する前に、圧縮率を低くした前記対象データを生成させる指示(以下、「準備指示」とも記載する)を前記クライアント装置に対して送信するように構成される準備指示部を更に備えてもよい。データを圧縮する処理の負荷は比較的に大きく、当該処理には時間がかかる。クライアント装置は、データ通信装置から再送指示を受け取った後に、対象データを圧縮する処理を実行してもよいが、その場合、対象データを再送するまでに比較的に大きな遅延が発生する可能性がある。当該構成によれば、準備指示により、再送指示が与えられる前にクライアント装置にデータの圧縮処理を予め実行させることで、対象データを再送するまでにかかる時間を低減する(再送指示までに圧縮処理が完了している場合は遅延をなくす)ことができる。これにより、データ通信装置が圧縮された対象データを再度取得し、対象データに対する推論モデルによる推論タスクの遂行が再度実行されるまでにかかる時間を短縮することができる。
【0014】
上記一側面に係るデータ通信装置において、前記推論モデルは、機械学習により生成された訓練済みの機械学習モデルにより構成されてよい。当該構成によれば、対象データに対する推論タスクの遂行に、機械学習により生成された訓練済みモデルを使用する場面で、ネットワークのトラヒックを低減しつつ、推論モデルにより遂行される推論タスクの精度を保証することができる。
【0015】
上記一側面に係るデータ通信装置において、前記尤もらしさは、前記推論タスクの遂行結果の不確定性に基づいて算出されてよい。当該構成によれば、機械学習により生成された訓練済みの推論モデルによる推論タスクの遂行結果の尤もらしさを適正に評価することができる。これにより、推論モデルにより遂行される推論タスクの精度を適切に保証することができる。
【0016】
上記一側面に係るデータ通信装置において、前記推論モデルは、前記機械学習により、前記推論タスクの遂行結果と共に、当該遂行結果の尤もらしさを出力するように訓練されていてよく、前記尤もらしさを算出することは、前記推論モデルの演算処理を実行した結果として、当該尤もらしさに対応する出力を得ることにより構成されてよい。当該構成によれば、機械学習により生成された訓練済みの推論モデルによる推論タスクの遂行結果の尤もらしさを適正に評価することができる。これにより、推論モデルにより遂行される推論タスクの精度を適切に保証することができる。
【0017】
上記一側面に係るデータ通信装置において、前記対象データは、画像データにより構成されてよく、前記推論タスクは、前記画像データに写る対象物を認識することにより構成されてよい。当該構成によれば、クライアント装置及びデータ通信装置の間で画像データをやり取りし、推論タスクとして画像認識を遂行する場面で、ネットワークのトラヒックを低減しつつ、推論モデルにより遂行される推論タスクの精度を保証することができる。
【0018】
上記一側面に係るデータ通信装置において、前記画像データは、監視カメラにより得られてよく、前記画像データに写る対象物を認識することは、前記画像データにおけるシーンを識別することにより構成されてよい。当該構成によれば、監視カメラにより得られる画像データに写るシーンを識別する場面で、ネットワークのトラヒックを低減しつつ、推論モデルにより遂行される推論タスクの精度を保証することができる。
【0019】
上記一側面に係るデータ通信装置において、前記対象データは、音データにより構成されてよく、前記推論タスクは、前記音データに表れる特徴を推論することにより構成されてよい。当該構成によれば、クライアント装置及びデータ通信装置の間で音データをやり取りし、音に表れる特徴を推論することを推論タスクとして遂行する場面で、ネットワークのトラヒックを低減しつつ、推論モデルにより遂行される推論タスクの精度を保証することができる。
【0020】
上記一側面に係るデータ通信装置において、前記音データは、話者の音声を録音することにより得られてよく、前記音データに表れる特徴を推論することは、前記話者の前記音声を認識することにより構成されてよい。当該構成によれば、音声認識を行う場面で、ネットワークのトラヒックを低減しつつ、推論モデルにより遂行される推論タスクの精度を保証することができる。
【0021】
上記一側面に係るデータ通信装置において、前記対象データは、センシングデータにより構成されてよく、前記推論タスクは、前記センシングデータに表れる特徴を推論することにより構成されてよい。当該構成によれば、クライアント装置及びデータ通信装置の間でセンシングデータをやり取りし、センシングデータに表れる特徴を推論することを推論タスクとして遂行する場面で、ネットワークのトラヒックを低減しつつ、推論モデルにより遂行される推論タスクの精度を保証することができる。
【0022】
また、本発明の形態は、上記データ通信装置に限られなくてもよい。本発明の一側面は、上記いずれかの形態に係るデータ通信装置に圧縮された対象データを送信するように構成されたクライアント装置であってもよい。
【0023】
例えば、本発明の一側面に係るクライアント装置は、対象データを取得するように構成されるデータ取得部と、取得された前記対象データを圧縮するように構成されるデータ圧縮部と、上記いずれかの形態に係るデータ通信装置に圧縮された前記対象データを送信するように構成されるデータ送信部と、を備える。前記データ圧縮部は、圧縮率を低くした上で前記対象データを再送する指示が前記データ通信装置で発生することに対応して、先の圧縮率よりも低い圧縮率で前記対象データを再度圧縮するように構成される。前記データ送信部は、前記対象データを再送する指示を受信したことに応じて、再度圧縮された前記対象データを前記データ通信装置に送信するように構成される。当該構成によれば、データ通信装置との間で、ネットワークのトラヒックを低減しつつ、推論モデルにより遂行される推論タスクの精度を保証することができる。
【0024】
また、上記一側面に係るクライアント装置において、前記データ圧縮部は、前記データ通信装置からの前記対象データを再送する指示を受信する前に、当該指示に備えて、先の圧縮率よりも低い圧縮率で前記対象データを再度圧縮する処理の実行を開始するように構成されてよい。当該構成によれば、再送指示を受信する前にデータの圧縮処理を予め実行することで、対象データを再送するまでにかかる時間を低減する(再送指示までに圧縮処理が完了している場合は遅延をなくす)ことができる。これにより、データ通信装置が圧縮された対象データを再度取得し、対象データに対する推論モデルによる推論タスクの遂行が再度実行されるまでにかかる時間を短縮することができる。なお、クライアント装置における、再送指示を受信する前に予めデータを圧縮する処理は、データ通信装置からの上記準備指示の有無に依らずに実行されてよい。
【0025】
また、上記各形態に係るデータ通信装置及びクライアント装置それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面は、上記いずれかの形態に係るデータ通信装置及びクライアント装置により構成される推定システムであってもよい。
【0026】
例えば、本発明の一側面に係る再送指示方法は、コンピュータが、圧縮された対象データをクライアント装置から受信するステップと、推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するステップと、前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するステップと、算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するステップと、を実行する、情報処理方法である。
【0027】
また、例えば、本発明の一側面に係る再送指示プログラムは、コンピュータに、圧縮された対象データをクライアント装置から受信するステップと、推論モデルを使用することで受信した前記対象データに対して推論タスクを遂行した結果を取得するステップと、前記推論モデルによる前記推論タスクの遂行結果の尤もらしさを算出するステップと、算出された尤もらしさが閾値未満である場合に、圧縮率を低くした上で前記対象データを再送させる指示を前記クライアント装置に対して送信するステップと、を実行させるための、プログラムである。
【発明の効果】
【0028】
本発明によれば、ネットワークのトラヒックを低減しつつ、サーバ装置側において遂行される推論タスクの精度を保証することができる。
【図面の簡単な説明】
【0029】
図1図1は、エッジコンピューティングの構成の一例を模式的に示す。
図2図2は、本発明が適用される場面の一例を模式的に示す。
図3図3は、実施の形態に係るサーバ装置(データ通信装置)のハードウェア構成の一例を模式的に示す。
図4図4は、実施の形態に係るクライアント装置のハードウェア構成の一例を模式的に示す。
図5図5は、実施の形態に係るサーバ装置(データ通信装置)のソフトウェア構成の一例を模式的に示す。
図6図6は、実施の形態に係るクライアント装置のソフトウェア構成の一例を模式的に示す。
図7図7は、実施の形態に係るサーバ装置(データ通信装置)の処理手順の一例を示すフローチャートである。
図8図8は、実施の形態に係るクライアント装置の処理手順の一例を示すフローチャートである。
図9図9は、本発明が適用される他の場面の一例を模式的に示す。
図10図10は、本発明が適用される他の場面の一例を模式的に示す。
図11図11は、本発明が適用される他の場面の一例を模式的に示す。
図12図12は、変形例に係るサーバ装置(データ通信装置)のソフトウェア構成の一例を模式的に示す。
図13図13は、変形例に係るデータ通信装置の構成の一例を模式的に示す。
図14図14は、変形例に係る推論モデルの構成の一例を模式的に示す。
図15図15は、第1実験例に係る数値シミュレーションの構成を示す。
図16図16は、第1実験例に係るダウンサンプリングレートに応じたPSNRの平均値及び分散値のシミュレーション結果を示す。
図17図17は、第1実験例におけるTop-1及びTop-5の認識精度のシミュレーション結果を示す。
図18図18は、第1実験例におけるTop-1及びTop-5の認識誤り率のシミュレーション結果を示す。
図19A図19Aは、第2実験例における実施例(Top-1)及び比較例の認識誤り率のシミュレーション結果を示す。
図19B図19Bは、第2実験例における実施例(Top-5)及び比較例の認識誤り率のシミュレーション結果を示す。
図20A図20Aは、第2実験例における実施例(Top-1)での画像の再送回数のシミュレーション結果を示す。
図20B図20Bは、第2実験例における実施例(Top-5)での画像の再送回数のシミュレーション結果を示す。
図21図21は、第2実験例における実施例(Top-1、Top-5)及び比較例のダミートラヒックのスループットのシミュレーション結果を示す。
図22図22は、第2実験例における実施例(Top-1、Top-5)及び比較例のダミートラヒックの遅延のシミュレーション結果(累積度数分布)を示す。
図23図23は、第2実験例における実施例(Top-1、Top-5)及び比較例の画像トラヒックの遅延のシミュレーション結果(累積度数分布)を示す。
【発明を実施するための形態】
【0030】
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良及び変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【0031】
§1 適用例
図2は、本発明を適用した場面の一例を模式的に示す。図2に示されるとおり、本実施形態に係る通信システムは、ネットワーク4を介して接続されるサーバ装置1及びクライアント装置2により構成される。
【0032】
本実施形態に係るサーバ装置1は、クライアント装置2からデータを受け取り、受け取ったデータに対して推論タスクを遂行するように構成されるコンピュータである。サーバ装置1は、データ通信装置の一例である。一方、本実施形態に係るクライアント装置2は、推論タスクの対象となるデータを取得し、取得されたデータを圧縮して、圧縮データをサーバ装置1に送信するように構成されるコンピュータである。
【0033】
まず、クライアント装置2は、対象データ31を取得する。次に、クライアント装置2は、取得された対象データ31を圧縮する。これにより、クライアント装置2は、圧縮された対象データ33を生成する。なお、図では、圧縮された対象データを圧縮データと記載する。そして、クライアント装置2は、圧縮された対象データ33をサーバ装置1に送信する。
【0034】
サーバ装置1は、圧縮された対象データ33をクライアント装置2から受信する。サーバ装置1は、推論モデル5を使用することで受信した対象データ33に対して推論タスクを遂行した結果を取得する。本実施形態では、サーバ装置1は、推論モデル5を保持している。サーバ装置1は、推論モデル5を使用して、圧縮された対象データ33に対して推論タスクを遂行する処理を実行することで、遂行結果(推論の結果)を取得する。
【0035】
サーバ装置1は、推論モデル5による推論タスクの遂行結果の尤もらしさを算出する。尤もらしさは、推論モデル5による推論タスクの遂行結果が確かであるか否か(すなわち、推論モデル5の推論結果に信頼性があるか否か)の程度を示すように適宜算出されてよい。サーバ装置1は、算出された尤もらしさが閾値未満である場合、先の圧縮率よりも圧縮率を低くした上で対象データを再送させる指示をクライアント装置2に対して送信する。
【0036】
クライアント装置2は、圧縮率を低くした上で対象データを再送する指示がサーバ装置1で発生することに対応して、先の圧縮率(すなわち、サーバ装置1に先に送信した対象データ(この場合は、対象データ33)の圧縮率)よりも低い圧縮率で対象データ31を再度圧縮する。これにより、クライアント装置2は、先の圧縮率よりも低い圧縮率で圧縮された対象データ35を生成する。そして、クライアント装置2は、対象データを再送する指示を受信したことに応じて、再度圧縮された対象データ35をサーバ装置1に送信する。
【0037】
サーバ装置1は、圧縮された対象データ35をクライアント装置2から受信し、推論モデル5を使用することで受信した対象データ35に対して推論タスクを遂行した結果を取得する。サーバ装置1は、圧縮された対象データ33と同様に、圧縮された対象データ35に対して、遂行結果の尤もらしさを算出する以降の処理を実行してもよい。
【0038】
以上のとおり、本実施形態では、サーバ装置1及びクライアント装置2の間で、圧縮された対象データ(33、35)をやり取りするようにすることで、ネットワーク4のトラヒックを低減することができる。加えて、サーバ装置1において、推論モデル5による推論タスクの遂行結果の尤もらしさを評価し、尤もらしさが閾値未満である場合に、圧縮率を低くした対象データ35を再送するようにする。これにより、圧縮率の低い対象データ35に対する推論モデル5による推論タスクの遂行を可能にし、推論結果の尤もらしさの向上を図ることができる。したがって、本実施形態によれば、ネットワーク4のトラヒックを低減しつつ、推論モデル5により遂行される推論タスクの精度を保証することができる。
【0039】
なお、対象データ31は、推論タスクの対象となり得るものであれば、そのデータ種は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。対象データ31は、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られるセンシングデータ等であってよい。一例では、対象データ31は、任意の対象をセンサにより観測することで得られるセンシングデータであってよい。センサは、例えば、画像センサ(カメラ)、赤外線センサ、音センサ(マイクロフォン)、超音波センサ、光センサ、圧力センサ、気圧センサ、温度センサ等であってよい。また、センサは、例えば、環境センサ、バイタルセンサ、医療検査装置、車載センサ、ホームセキュリティセンサ等であってよい。環境センサは、例えば、気圧計、温度計、湿度計、音圧計、音センサ、紫外線センサ、照度計、雨量計、ガスセンサ等であってよい。バイタルセンサは、例えば、血圧計、脈拍計、心拍計、心電計、筋電計、体温計、皮膚電気反応計、マイクロ波センサ、脳波計、脳磁計、活動量計、血糖値測定器、眼電位センサ、眼球運動計測器等であってよい。医療検査装置は、例えば、CT(Computed Tomography)装置、MRI(Magnetic Resonance Imaging)装置等であってよい。車載センサは、例えば、画像センサ、Lidar(light detection and ranging)センサ、ミリ波レーダ、超音波センサ、加速度センサ等であってよい。ホームセキュリティセンサは、例えば、画像センサ、赤外線センサ、活性度(音声)センサ、ガス(CO2等)センサ、電流センサ、スマートメータ(家電、照明等の電力使用量を計測するセンサ)等であってよい。対象データ31は、例えば、画像データ及び音データを含む動画データのように、複数種類のデータを含むように構成されてよい。
【0040】
推論タスクの内容は、実施の形態に応じて適宜決定されてよい。一例では、対象データ31は画像データにより構成されてよく、推論タスクは、画像データに写る対象物を認識することにより構成されてよい。他の一例では、対象データ31は音データにより構成されてよく、推論タスクは、音データに表れる特徴を推論することにより構成されてよい。更に他の一例では、対象データ31はセンシングデータにより構成されてよく、推論タスクは、センシングデータに表れる特徴を推論することにより構成されてよい。
【0041】
ネットワーク4の種類は、特に限定されなくてよく、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から実施の形態に応じて適宜選択されてよい。推論モデル5は、対象データに対する推論タスクを遂行する演算処理を実行可能に適宜構成されてよい。本実施形態の一例では、推論モデル5は、機械学習により生成された訓練済みの機械学習モデル(後述するニューラルネットワーク)により構成される。また、サーバ装置1及びクライアント装置2のうちの少なくとも一方は、複数台のコンピュータにより構成されてもよい。
【0042】
§2 構成例
[ハードウェア構成]
<サーバ装置>
図3は、本実施形態に係るサーバ装置1のハードウェア構成の一例を模式的に例示する。図3に示されるとおり、本実施形態に係るサーバ装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図3では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
【0043】
制御部11は、ハードウェアプロセッサ(プロセッサリソース)であるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリ(メモリリソース)の一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、推論プログラム81、学習結果データ125等の各種情報を記憶する。
【0044】
推論プログラム81は、推論モデル5を使用して、推論タスクを遂行する後述の情報処理(図7)をサーバ装置1に実行させるためのプログラムである。推論プログラム81は、当該情報処理の一連の命令を含む。推論プログラム81は、再送指示プログラムの一例である。学習結果データ125は、機械学習により生成された訓練済みの推論モデル5に関する情報を示す。詳細は後述する。
【0045】
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。サーバ装置1は、通信インタフェース13を利用して、他の情報処理装置との間で、ネットワークを介したデータ通信を実行することができる。外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は任意に選択されてよい。
【0046】
入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置15及び出力装置16を利用することで、サーバ装置1を操作することができる。
【0047】
ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。上記推論プログラム81及び学習結果データ125の少なくともいずれかは、記憶媒体91に記憶されていてもよい。サーバ装置1は、この記憶媒体91から、上記推論プログラム81及び学習結果データ125の少なくともいずれかを読み出してもよい。なお、図3では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限られなくてもよく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ17の種類は、記憶媒体91の種類に応じて任意に選択されてよい。
【0048】
なお、サーバ装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。サーバ装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。サーバ装置1は、提供されるサービス専用に設計された情報処理装置、汎用のサーバ、PC(Personal Computer)等により構成されてよい。サーバ装置1は、例えば、エッジサーバ、クラウドサーバ等であってよい。
【0049】
<クライアント装置>
図4は、本実施形態に係るクライアント装置2のハードウェア構成の一例を模式的に例示する。図4に示されるとおり、本実施形態に係るクライアント装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。
【0050】
クライアント装置2の制御部21~ドライブ27及び記憶媒体92はそれぞれ、上記サーバ装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部22は、送信プログラム82、対象データ31等の各種情報を記憶する。
【0051】
送信プログラム82は、圧縮された対象データ(33、35)の送信に関する後述の情報処理(図8)をクライアント装置2に実行させるためのプログラムである。送信プログラム82は、当該情報処理の一連の命令を含む。送信プログラム82及び対象データ31の少なくともいずれかは、記憶媒体92に記憶されていてもよい。クライアント装置2は、送信プログラム82及び対象データ31の少なくともいずれかを記憶媒体92から読み出してもよい。
【0052】
一例では、クライアント装置2は、通信インタフェース23及び外部インタフェース24の少なくとも一方を介して、例えば、カメラ、マイクロフォン、その他センサ等のデバイス又は他のコンピュータと接続されてよい。クライアント装置2は、接続されたデバイス又は他のコンピュータから、対象データ31を取得してもよい。
【0053】
なお、クライアント装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。クライアント装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。クライアント装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のPC、産業用PC、タブレットPC、ユーザ端末(例えば、スマートフォン等)、PLC(programmable logic controller)、IoT装置等であってもよい。
【0054】
[ソフトウェア構成]
<サーバ装置>
図5は、本実施形態に係るサーバ装置1のソフトウェア構成の一例を模式的に例示する。サーバ装置1の制御部11は、記憶部12に記憶された推論プログラム81をRAMに展開する。そして、制御部11は、RAMに展開された推論プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図5に示されるとおり、本実施形態に係るサーバ装置1は、データ受信部111、結果取得部112、結果評価部113、再送指示部114、及び出力部115をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、サーバ装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
【0055】
データ受信部111は、圧縮された対象データ33をクライアント装置2から受信するように構成される。結果取得部112は、推論モデル5を使用することで受信した対象データ33に対して推論タスクを遂行した結果を取得するように構成される。本実施形態では、結果取得部112は、学習結果データ125を保持していることで、機械学習により生成された訓練済みの推論モデル5を備えており、推論部として動作するように構成される。すなわち、結果取得部112は、訓練済みの推論モデル5を使用して、圧縮された対象データ33に対して推論タスクを遂行する処理を実行することで、遂行結果(推論の結果)を取得するように構成される。
【0056】
結果評価部113は、推論モデル5による推論タスクの遂行結果の尤もらしさを算出するように構成される。再送指示部114は、算出された尤もらしさが閾値未満である場合に、先の圧縮率よりも圧縮率を低くした上で対象データを再送させる指示をクライアント装置2に対して送信するように構成される。本実施形態では、再送指示部114は、再送させる指示と共に、算出された尤もらしさに応じて圧縮率を低下させる程度を更に指示するように構成されてよい。再送指示に応じて、データ受信部111は、先の圧縮率よりも低い圧縮率で圧縮された対象データ35をクライアント装置2から受信するように構成される。結果取得部112は、推論モデル5を使用することで対象データ35に対して推論タスクを遂行した結果を取得するように構成される。結果評価部113は、圧縮された対象データ35に対する推論タスクの遂行結果の尤もらしさを算出するように構成されてよい。再送指示部114は、算出された尤もらしさが閾値未満である場合に、先の圧縮率よりも圧縮率を低くした上で対象データを再送させる指示をクライアント装置2に対して再度送信するように構成されてよい。これにより、サーバ装置1は、推論タスクの遂行結果の尤もらしさが閾値を超えるまで、圧縮された対象データの取得、及び推論モデル5による推論タスクの遂行を繰り返すように構成されてよい。出力部115は、推論タスクの遂行結果に関する情報を出力するように構成される。
【0057】
(推論モデルの一例)
推論モデル5は、例えば、所定のアルゴリズム、所定の規則、関数式等により、対象データに対応する推論タスクを遂行する演算処理を実行可能に適宜構成されてよい。推論モデル5の出力は、推論タスクを遂行した結果を特定可能に適宜構成されてよい。本実施形態の一例では、推論モデル5は、機械学習により生成された訓練済みの機械学習モデルにより構成される。機械学習モデルは、機械学習により調整可能なパラメータを備える。機械学習モデルの構成及び種類はそれぞれ、実施の形態に応じて適宜選択されてよい。一例では、図5に示されるとおり、推論モデル5を構成する機械学習モデルには、ニューラルネットワークが用いられてよい。
【0058】
図5の一例では、推論モデル5は、入力層51、1つ以上の中間(隠れ)層52、及び出力層53を備える。中間層52の数は、実施の形態に応じて適宜決定されてよい。中間層52は、省略されてもよい。推論モデル5を構成するニューラルネットワークの層の数は、実施の形態に応じて適宜決定されてよい。入力層51は、対象データを受け取り可能に適宜構成されてよい。出力層53は、推論結果に対応する値を出力するように適宜構成されてよい。入力層51は、対象データ以外の情報を受け取り可能に構成されてもよく、出力層53は、推論結果に対応する情報以外の情報を出力するように構成されてもよい。
【0059】
各層51-53は、1又は複数のノード(ニューロン)を備える。各層51―53に含まれるノードの数は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。各層51-53に含まれる各ノードは、隣接する層の全てのノードと結合されてよい。これにより、推論モデル5は、全結合型ニューラルネットワークにより構成されてよい。ただし、各ノードの結合関係は、このような例に限定されなくてよく、実施の形態に応じて適宜決定されてよい。例えば、各ノードは、隣接する層の特定のノードと接続されたり、隣接する層以外の層のノードと接続されたりしてもよい。
【0060】
各層51-53の各結合には、重み(結合荷重)が設定される。各ノードには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ノードの出力が決定される。閾値は、活性化関数により表現されてもよい。この場合、各入力と各重みとの積の和を活性化関数に入力し、活性化関数の演算を実行することで、各ノードの出力が決定される。活性化関数の種類は任意に選択されてよい。各層51-53に含まれる各ノード間の結合の重み及び各ノードの閾値は、推論モデル5の演算処理に利用されるパラメータの一例である。
【0061】
機械学習では、推論モデル5のパラメータの値は、学習データ(例えば、訓練データ及び正解ラベルの組み合わせによりそれぞれ構成される複数の学習データセット)を使用して、所望の推論タスクを遂行する能力を獲得するように適宜調整される。一例では、機械学習は、各学習データセットについて、訓練データ(対象データと同種のデータ)を推論モデル5に入力することで推論モデル5から得られる推論タスクの遂行結果が対応する正解ラベルに適合するものとなるように推論モデル5を訓練する(パラメータの値を調整する)ことにより構成される。機械学習の方法には、機械学習モデルに応じて、例えば、誤差逆伝播法等の公知の方法が採用されてよい。
【0062】
学習結果データ125は、訓練済みの推論モデル5を再生するための情報を含むように適宜構成されてよい。一例では、学習結果データ125は、上記機械学習の調整により得られた推論モデル5の各パラメータの値を示す情報を含んでよい。場合によって、学習結果データ125は、推論モデル5の構造を示す情報を更に含んでもよい。構造は、例えば、ニューラルネットワークにおける入力層から出力層までの層の数、各層の種類、各層に含まれるノードの数、隣接する層のノード同士の結合関係等により特定されてよい。機械学習モデルの構造が装置間で共通化される場合、推論モデル5の構造を示す情報は省略されてよい。
【0063】
<クライアント装置>
図6は、本実施形態に係るクライアント装置2のソフトウェア構成の一例を模式的に例示する。クライアント装置2の制御部21は、記憶部22に記憶された送信プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された送信プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図6に示されるとおり、本実施形態に係るクライアント装置2は、データ取得部211、データ圧縮部212、及びデータ送信部213をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、クライアント装置2の各ソフトウェアモジュールも、サーバ装置1と同様に、制御部21(CPU)により実現される。
【0064】
データ取得部211は、対象データ31を取得するように構成される。データ圧縮部212は、取得された対象データ31を圧縮することで、圧縮された対象データ33を生成するように構成される。データ送信部213は、サーバ装置1に圧縮された対象データ33を送信するように構成される。また、データ圧縮部212は、圧縮率を低くした上で対象データを再送する上記指示がサーバ装置1で発生することに対応して、先の圧縮率よりも低い圧縮率で対象データ31を再度圧縮することで、圧縮された対象データ35を生成するように構成される。データ送信部213は、対象データを再送する上記指示を受信したことに応じて、再度圧縮された対象データ35をサーバ装置1に送信するように構成される。
【0065】
<その他>
サーバ装置1及びクライアント装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、サーバ装置1及びクライアント装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、上記ソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。上記各モジュールは、ハードウェアモジュールとして実現されてもよい。また、サーバ装置1及びクライアント装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【0066】
§3 動作例
[サーバ装置]
図7は、本実施形態に係るサーバ装置1による推論方法に関する処理手順の一例を示すフローチャートである。以下で説明するサーバ装置1の処理手順は、再送指示方法の一例である。ただし、以下で説明するサーバ装置1の処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が行われてよい。
【0067】
(ステップS101及びステップS102)
ステップS101では、制御部11は、データ受信部111として動作し、圧縮された対象データ33をクライアント装置2からネットワーク4を介して受信する。圧縮された対象データ33を受信すると、制御部11は、次のステップS102に処理を進める。
【0068】
ステップS102では、制御部11は、結果取得部112として動作し、推論モデル5を使用することで受信した対象データ33に対して推論タスクを遂行した結果を取得する。本実施形態では、制御部11は、学習結果データ125を参照し、訓練済みの推論モデル5の設定を行う。そして、制御部11は、圧縮された対象データ33を訓練済みの推論モデル5に入力し、訓練済みの推論モデル5の演算処理を実行する。上記一例では、制御部11は、訓練済みの推論モデル5の入力層51に圧縮された対象データ33を入力し、順伝播の演算処理を実行する。この演算処理の結果として、制御部11は、圧縮された対象データ33に対して推論タスクを遂行した結果を訓練済みの推論モデル5(上記一例では、出力層53)から取得する。推論タスクの遂行結果を取得すると、制御部11は、次のステップS103に処理を進める。
【0069】
(ステップS103)
ステップS103では、制御部11は、結果評価部113として動作し、推論モデル5による推論タスクの遂行結果の尤もらしさを算出する。尤もらしさを評価する方法は、例えば、推論モデル5の構成、推論モデル5が推論結果を導出する過程等に応じて、適宜決定されてよい。
【0070】
本実施形態では、推論モデル5は、訓練済みの機械学習モデルにより構成されている。この場合、推論結果の尤もらしさが高いほど、推論モデル5は確定的な値を出力し、推論結果の尤もらしさが低いほど、推論モデル5は確定的ではない値を出力する傾向にある。具体例として、推論タスクがクラス識別であり、推論モデル5が各クラスに属する事後確率を出力するように構成されるケースを想定する。このケースにおいて、推論モデル5の出力が、ある1つのクラスに属する事後確率が1に近く、残りの他のクラスに属する事後確率が0に近い構成であるほど、推論モデル5による推論結果は確定的に定まり、尤もらしさが高いと評価可能である。反対に、推論モデル5の出力が、各クラスに属する事後確率が比較的に低い値で似通っている構成であるほど、推論モデル5による推論結果は確定的に定まらず、尤もらしさが低いと評価可能である。
【0071】
そこで、一例では、制御部11は、推論モデル5による推論タスクの遂行結果の不確定性に基づいて、尤もらしさを算出してもよい。不確定性は、推論結果が確定的に定まらない程度を示す指標である。不確定性は、曖昧性、エントロピー等の用語に読み替えられてよい。制御部11は、例えば、分散、尖度、平均情報量(情報エントロピー)等の計算方法により、推論結果の不確定性を評価することで、尤もらしさの値を算出してもよい。一例では、制御部11は、各クラスに属する事後確率の分散、尖度、及び平均情報量の少なくともいずれかを算出し、算出された値が大きいほど尤もらしさを高い値に算出し、算出された値が小さいほど尤もらしさを低い値に算出してもよい。なお、機械学習モデル以外のモデルであって、出力の傾向が上記と同様であるモデルを推論モデル5として採用する場合にも、制御部11は、同様の計算方法により、推論結果の尤もらしさを算出してもよい。これらの計算方法によれば、不確定性を適切に評価し、尤もらしさを適正に算出することができる。
【0072】
これにより、上記のケースにおいて、前者の場合に不確定性が低く、尤もらしさが高くなるように算出し、後者の場合に不確定性が高く、尤もらしさが低くなるように算出することができる。なお、上記のケースでは、識別対象が対象データに含まれていることが前提として与えられてよい。この場合、設定されるクラスは、識別対象に応じて与えられてよい。一方、そのような前提がない場合には、設定されるクラスは、識別対象が存在していないことに対応するクラスを含んでよい。これにより、対象データに識別対象が存在していないことと区別して、推論結果の尤もらしさを算出することができる。
【0073】
不確定性に基づいて尤もらしさを算出する方法は、上記の方法に限られなくてよい。その他の方法として、上記のケースにおいて、確定的又は不確定な推論結果の事後確率分布を仮定し、仮定された事後確率分布と推論モデル5により推論結果として得られる事後確率の分布との間の差異に基づいて、推論結果の尤もらしさを算出してもよい。すなわち、不確定性を評価する指標として、仮定される事後確率分布と推論結果の事後確率分布との間の差異を用いてもよい。仮定する事後確率分布の一例として、不確定な推論結果の事後確率分布を一様分布と仮定してよい。すなわち、各クラスの事後確率がクラス数Cの逆数1/Cとなっている推論結果が最も不確定であると仮定してもよい。その他の一例として、機械学習に使用される学習データにおいて各クラスの頻度(例えば、対象のクラスを示す正解ラベルが関連付けられている訓練データの件数)に偏りがある場合、頻度の高いクラスほど識別されやすくなる。そのため、不確定な推論結果の事後確率分布を、学習データにおけるクラスの事前分布に仮定してもよい。この方法を採用する場合、制御部11は、分布間の差異を評価するために、ステップS102において取得された推論モデル5による推論結果(各クラスの事後確率の分布)と仮定した事後確率分布との間の距離を算出してよい。距離は、例えば、KLダイバージェンス、JSダイバージェンス等の指標により算出されてよい。不確定な事後確率分布を仮定した場合、制御部11は、算出される距離が小さいほど、不確定性が高く、尤もらしさを低い値に算出してよく、算出される距離が大きいほど、不確定性が低く、尤もらしさを高い値に算出してよい。反対に、確定的な事後確率分布を仮定した場合、制御部11は、算出される距離が小さいほど、不確定性が低く、尤もらしさを高い値に算出してよく、算出される距離が大きいほど、不確定性が高く、尤もらしさを低い値に算出してよい。
【0074】
また、不確定性を評価するその他の方法として、複数の推論モデル5が用意されていてもよい。この場合、各推論モデル5は、例えば、採用される機械学習モデルが異なる、機械学習モデルの少なくとも一部の構造が異なる、機械学習モデルに採用する少なくとも一部のパラメータ構成が異なる、少なくとも一部が異なる学習データにより機械学習が行われる、機械学習において採用される学習データの順番が異なる等により、他の推論モデル5との間で異なる属性を有するように構成されてよい。制御部11は、上記ステップS102において、各推論モデル5による対象データ33に対する推論結果を取得してもよい。本ステップS103では、制御部11は、推論モデル5の推論結果の不確定性として、得られた各推論モデル5の推論結果の不一致度を算出してよい。制御部11は、この不一致度が大きいほど尤もらしさを低い値に算出し、不一致度が小さいほど尤もらしさを高い値に算出してよい。この方法は、推論タスクの種類に依らずに採用されてよい。機械学習モデル以外のモデルを採用する場合にも同様に、異なる属性を有する複数の推論モデル5を用意し、各推論モデル5の推論結果の不一致度に基づいて尤もらしさを算出してもよい。
【0075】
更に、不確定性を評価するその他の方法として、推論モデル5のパラメータは、確率分布で仮定されてよい(例えば、参考文献:「Yarin Gal, "Uncertainty in Deep Learning", [online], [令和3年2月19日検索],インターネット<URL: https://www.cs.ox.ac.uk/people/yarin.gal/website/thesis/thesis.pdf>」)。この場合、学習段階において、推論モデル5の各パラメータは、任意の確率分布(例えば、ガウス分布)でモデリングされてよい。機械学習では、学習データを用いて、推論モデル5を適宜訓練してよい。推論処理の際には、訓練により得られた各パラメータの確率分布から各パラメータの値をサンプリングして、固定値の各パラメータにより構成される複数の推論モデル5が用意されてよい。その後は、上記複数の推論モデル5を用意する方法と同様に、上記ステップS102において、制御部11は、各推論モデル5による対象データ33に対する推論結果を取得してもよい。本ステップS103では、制御部11は、推論モデル5の推論結果の不確定性として、得られた各推論モデル5の推論結果の不一致度を算出してよい。制御部11は、この不一致度が大きいほど尤もらしさを低い値に算出し、不一致度が小さいほど尤もらしさを高い値に算出してよい。この方法は、推論タスクの種類に依らずに採用されてよい。この方法を採用する場合、推論モデル5には、ベイジアンニューラルネットワークが用いられてよい。
【0076】
推論結果の尤もらしさを算出すると、制御部11は、次のステップS104に処理を進める。
【0077】
(ステップS104)
ステップS104では、制御部11は、ステップS103の処理により算出された尤もらしさの値に応じて、処理の分岐先を決定する。算出された尤もらしさが閾値未満である場合、制御部11は、ステップS105に処理を進める。一方、尤もらしさが閾値を超える場合、制御部11は、ステップS106に処理を進める。尤もらしさが閾値と等しい場合には、処理の分岐先は、いずれであってもよい。閾値は、例えば、オペレータの指定、プログラム内の設定値等の任意の方法で与えられてよい。
【0078】
なお、推論タスクがクラス識別である上記ケースの場面において、対象のクラスに属すると判定するための確定的な事後確率の値(判定閾値)がクラス毎に異なる場合がある。例えば、第1クラスについては、事後確率が0.9以上でなければ確定的に属すると判定しないのに対して、第2クラスについては、事後確率が0.6以上であれば確定的に属すると判定するような場合である。これに対応するため、閾値は、クラス毎に可変に設定されてよい。この場合、一例では、上記尤もらしさは、クラス毎に算出されてよい。制御部11は、尤もらしさと閾値とをクラス毎に比較してもよい。他の一例では、上記尤もらしさは、推論結果全体に対応して算出されてよい。制御部11は、算出された尤もらしさと属する可能性の高いクラス(例えば、単純に事後確率が最も高いクラス、各事後確率が判定閾値よりも低い場合に、判定閾値に最も近い事後確率を有するクラス、等)の閾値とを比較してもよい。推論タスクが回帰の場合も同様に、複数の閾値(例えば、値域毎の閾値)が設定されてもよいし、或いは一つの閾値が設定されてもよい。
【0079】
また、尤もらしさとその値との関係は、実施の形態に応じて適宜決定されてよい。尤もらしさが高い状態を大きな値で表現する場合、尤もらしさを高い値に評価することは、尤もらしさを大きな値に算出することに対応し、尤もらしさを低い値に評価することは、小さい値に算出することに対応する。この場合、算出された尤もらしさが閾値未満であることは、尤もらしさを示す値が閾値未満であることに対応する。一方、尤もらしさが高い状態を小さな値で表現する場合、尤もらしさを高い値に評価することは、尤もらしさを小さな値に算出することに対応し、尤もらしさを低い値に評価することは、尤もらしさを大きな値に算出することに対応する。この場合、算出された尤もらしさが閾値未満であることは、尤もらしさを示す値が閾値を超えていることに対応する。
【0080】
(ステップS105)
ステップS105では、制御部11は、再送指示部114として動作し、先の圧縮率よりも圧縮率を低くした上で対象データを再送させる指示をクライアント装置2に対して送信する。
【0081】
このとき、制御部11は、再送させる指示と共に、算出された尤もらしさに応じて圧縮率を低下させる程度を更に指示してもよい。圧縮率を低下させる程度を指示することは、圧縮率の低下量を指示することにより構成されてもよいし、或いは、低下させた後の圧縮率を直接的に指示することにより構成されてよい。基本的には、制御部11は、尤もらしさが低いほど圧縮率を低下させる程度を大きくし、尤もらしさが高いほど圧縮率を低下させる程度を小さくするようにクライアント装置2に対して指示してよい。圧縮率を低下させる程度は、段階的に離散値により規定されてもよいし、或いは連続値により規定されてもよい。
【0082】
一例では、尤もらしさと圧縮率を低下させる程度との対応関係が規則により規定されてよい。この場合、制御部11は、当該規則に従って、ステップS103で算出された尤もらしさから圧縮率を低下させる程度を決定してもよい。そして、制御部11は、決定した圧縮率を低下させる程度をクライアント装置2に通知してもよい。或いは、制御部11は、尤もらしさの値をクライアント装置2に通知し、規則に従って圧縮率を低下させる程度を決定する処理をクライアント装置2に実行させてもよい。なお、推論モデル5及びテスト用の対象データを用いて、推論モデル5による推論タスク遂行の尤もらしさと対象データの圧縮率との対応関係が予め確認されていてよい。その確認の結果に基づいて、当該規則は作成されてよい。
【0083】
ただし、圧縮率を低下させる程度を指定する方法は、このような例に限定されなくてよい。他の一例では、圧縮率を低下させる程度は、尤もらしさに依らずに決定されてよい(例えば、一定値)。この場合、圧縮率を低下させる程度は、例えば、オペレータの指示、プログラム内の設定値等により予め規定されてよく、サーバ装置1からクライアント装置2への圧縮率を低下させる程度の指示は省略されてよい。
【0084】
クライアント装置2に対して再送指示を送信すると、制御部11は、ステップS101に処理を戻し、一連の処理を繰り返し実行する。クライアント装置2が再送指示に対応したことに応じて、ステップS101では、制御部11は、データ受信部111として動作し、先の圧縮率よりも低い圧縮率で圧縮された対象データ35をクライアント装置2から受信する。ステップS102では、制御部11は、結果取得部112として動作し、推論モデル5を使用することで対象データ35に対して推論タスクを遂行した結果を取得する。ステップS103では、制御部11は、圧縮された対象データ35に対する推論タスクの遂行結果の尤もらしさを算出する。ステップS104では、制御部11は、算出された尤もらしさの値に応じて、処理の分岐先を決定する。これにより、制御部11は、推論タスクの遂行結果の尤もらしさが閾値を超える(又は圧縮率を低下させられなくなる)まで、ステップS101-ステップS105の処理を繰り返し実行するように構成されてよい。
【0085】
ただし、サーバ装置1の処理手順は、このような例に限定されなくてよい。他の一例では、制御部11は、ステップS105の処理を実行した後の繰り返し処理において、ステップS103及びステップS104の処理を省略してもよい。この場合、制御部11は、ステップS102の処理を実行することで、圧縮された対象データ35に対する推論タスクの遂行結果を取得した後、ステップS106に処理を進めてもよい。これにより、制御部11は、クライアント装置2に再送指示を1回限りで送信するように構成されてもよい。
【0086】
(ステップS106)
ステップS106では、制御部11は、出力部115として動作し、ステップS102で得られた推論タスクの遂行結果(推論結果)に関する情報を出力する。
【0087】
出力する情報の内容は、実施の形態に応じて適宜決定されてよい。一例では、制御部11は、ステップS102により得られた推論結果をそのまま出力してもよい。他の一例では、制御部11は、得られた推論結果に基づいて、任意の情報処理を実行してもよい。そして、制御部11は、その情報処理を実行した結果を、推論結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推論結果に応じて制御対象装置の動作を制御することが含まれてよい。
【0088】
情報の出力先も同様に、実施の形態に応じて適宜決定されてよい。一例では、情報の出力先は、出力装置16、他のコンピュータの出力装置、制御対象装置等であってよい。他の一例では、制御部11は、推論結果に関する情報をクライアント装置2に送信してもよい。クライアント装置2は、受信した情報をそのまま出力装置26に表示してもよい。また、クライアント装置2は、受信した情報に基づいて任意の情報処理を実行し、その情報処理を実行した結果を出力してもよい。
【0089】
ステップS104の分岐処理による繰り返しによって、圧縮された対象データ(33、35)に対して推論タスクが複数回遂行されている場合、一例では、制御部11は、全ての推論結果を出力してもよい。他の一例では、制御部11は、一部の推論結果(例えば、尤もらしさが最も高い推論結果)のみを出力してもよい。
【0090】
推論タスクの遂行結果に関する情報の出力が完了すると、制御部11は、本動作例に係るサーバ装置1の処理手順を終了する。なお、制御部11は、クライアント装置2から対象データ33を受信する度に、ステップS101-ステップS106の一連の情報処理を実行してもよい。
【0091】
[クライアント装置]
図8は、本実施形態に係るクライアント装置2の処理手順の一例を示すフローチャートである。以下で説明するクライアント装置2の処理手順は、データ送信方法の一例である。ただし、以下で説明するクライアント装置2の処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が行われてよい。
【0092】
(ステップS201)
ステップS201では、制御部21は、データ取得部211として動作し、対象データ31を取得する。
【0093】
対象データ31は、推論タスクの遂行対象となる所定種類のデータのサンプルである。対象データ31を取得する方法は、データの種類に応じて適宜決定されてよい。一例として、推論対象をセンサ(例えば、カメラ、マイクロフォン、その他センサ)により観測することで、対象データ31が取得されてよい。また、対象データ31を取得する経路は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例として、クライアント装置2がセンサ等のデバイスに直接的に接続される場合、制御部21は、当該デバイスから対象データ31を直接的に取得してもよい。他の一例では、制御部21は、他のコンピュータ、記憶媒体92等を介して、対象データ31を取得してもよい。対象データ31を取得すると、制御部21は、次のステップS202に処理を進める。
【0094】
(ステップS202)
ステップS202では、制御部21は、データ圧縮部212として動作し、取得された対象データ31を圧縮することで、圧縮された対象データ33を生成する。
【0095】
圧縮率を決定する方法は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。圧縮率は、所定値に予め設定されていてよい。或いは、圧縮率は、任意の指標に従って決定されてもよい。指標の一例として、圧縮率は、PSNR(Peak signal-to-noise ratio:ピーク信号対雑音比)に基づいて決定されてよい。この場合、PSNRの基準値が予め設定されてよい。制御部21は、対象データ31を圧縮することで、圧縮された対象データ33を生成する。制御部21は、圧縮された対象データ33のPSNRを算出し、算出されたPSNRの値が基準値を満たすか否かを評価する。制御部21は、例えば、圧縮された対象データ33の生成、及びPSNRの評価を繰り返すことで、基準値を満たす圧縮された対象データ33を生成してもよい。
【0096】
指標の他の一例として、圧縮率は、通信状況に応じて決定されてもよい。この場合、制御部21は、サーバ装置1との間のネットワーク4のトラヒックの混雑度を測定する。混雑度を測定する方法には、任意の方法が採用されてよい。例えば、制御部21は、混雑度を評価する指標として、pingコマンドによりサーバ装置1との間の応答速度を測定してもよい。制御部21は、応答速度が速いほど混雑度が低く、応答速度が遅いほど混雑度が高いと評価することができる。その他、例えば、パケットの廃棄量等のモニタを行うためのSNMP(Simple Network Management Protocol)による方法が採用されてよい。この場合、制御部21は、SNMPによるモニタの結果に基づいて、混雑度を評価してよい。或いは、例えば、NetFlow、SFlow、AppFlow等のフロー毎に輻輳状態を監視するためのフロー監視方法が採用されてよい。この場合、制御部21は、フロー監視方法により得られたフロー状態の情報に基づいて、混雑度を評価してもよい。制御部21は、混雑度が高いほど圧縮率を高く設定し、混雑度が低いほど圧縮率を低く設定してもよい。混雑度に応じた圧縮率は、段階的に離散値により規定されてもよいし、或いは連続値により規定されてもよい。
【0097】
また、圧縮方法には、任意の方法が採用されてよい。一例では、圧縮方法には、例えば、ダウンサンプリング、周波数成分毎に転送する方式(例えば、プログレッシブJPEG)等の方法が採用されてよい。圧縮方法には、送信されるデータの量が元のデータよりも小さくなるあらゆる方法が採用されてよい。圧縮された対象データ33を生成すると、制御部21は、次のステップS203に処理を進める。
【0098】
(ステップS203及びステップS204)
ステップS203では、制御部21は、ネットワーク4を介して圧縮された対象データ33をサーバ装置1に送信する。このステップS203の処理が実行された結果、サーバ装置1は、上記ステップS101の処理において、圧縮された対象データ33を受信する。圧縮された対象データ33を送信すると、制御部21は、次のステップS204に処理を進める。
【0099】
ステップS204では、制御部21は、上記ステップS105による再送指示をサーバ装置1から受信したか否かに応じて、処理の分岐先を決定する。再送指示を受信した場合、制御部21は、ステップS202に処理を戻し、ステップS202及びステップS203の処理を繰り返し実行する。
【0100】
ステップS202では、制御部21は、先の圧縮率よりも低い圧縮率で対象データ31を再度圧縮することで、圧縮された対象データ35を生成する。上記のとおり、圧縮率を低下させる程度は、推論結果の尤もらしさに応じて決定されてもよいし、或いは尤もらしさに依らずに決定されてよい。また、圧縮率を低下させる程度は、再送指示と共にサーバ装置1から指示されてよい。或いは、サーバ装置1からの指示に依らず、制御部21は、圧縮率を低下させる程度を適宜決定してよい。
【0101】
ステップS203では、制御部21は、ネットワーク4を介して再度圧縮された対象データ35をサーバ装置1に送信する。このステップS203の処理が実行された結果、サーバ装置1は、上記ステップS105の処理を実行した後のステップS101の処理において、圧縮された対象データ35を受信する。
【0102】
他方、再送指示を受信しなかった場合、制御部21は、本動作例に係るクライアント装置2の処理手順を終了する。終了を判定する方法の一例として、サーバ装置1は、上記ステップS104において、処理の分岐先をステップS105の方に決定しなかった(すなわち、ステップS106の方に決定した)場合に、そのことを知らせるための通知をクライアント装置2に送信してもよい。ステップS106の出力処理において、推論結果に関する情報をクライアント装置2に送信する場合、送信情報が、当該通知の役割を果たしてもよい。制御部21は、この通知を受信することで、再送指示は発生しなかったと判定し、本動作例に係るクライアント装置2の処理手順を終了してもよい。
【0103】
なお、制御部21は、ステップS201-ステップS204の一連の情報処理を任意のタイミングで実行してよい。一例では、制御部21は、オペレータの操作に応じて、ステップS201-ステップS204の一連の処理を実行してもよい。他の一例では、制御部21は、ステップS201-ステップS204の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、実施の形態に応じて適宜決定されてよい。
【0104】
[特徴]
以上のとおり、本実施形態では、上記ステップS101及びステップS203の処理において、サーバ装置1及びクライアント装置2の間で、圧縮された対象データ(33、35)をやり取りするようにすることで、ネットワーク4のトラヒックを低減することができる。加えて、サーバ装置1において、上記ステップS103-ステップS105の処理により、推論モデル5による推論タスクの遂行結果の尤もらしさを評価し、尤もらしさが閾値未満である場合に、先の圧縮率よりも圧縮率を低くした対象データ35を再送するようにする。これにより、圧縮率の低い(すなわち、情報の欠落がより少ない)対象データ35に対する推論モデル5による推論タスクの遂行を可能にし、推論結果の尤もらしさの向上を図ることができる。したがって、本実施形態によれば、ネットワーク4のトラヒックを低減しつつ、推論モデル5により遂行される推論タスクの精度を保証することができる。また、上記ステップS103の処理において、尤もらしさを適正に算出することで、推論モデル5により遂行される推論タスクの精度を適切に保証することができる。
【0105】
また、本実施形態では、ステップS105の処理において、サーバ装置1は、再送指示と共に、算出された尤もらしさに応じて圧縮率を低下させる程度を更に指示してもよい。これにより、再度実行されるステップS202及びステップS203の処理において、適切な圧縮率での再送を期待することができ、サーバ装置1及びクライアント装置2の間で圧縮された対象データ35の再送が実行される回数(すなわち、ステップS101-ステップS105/ステップS202及びステップS204の処理が繰り返される回数)を抑えることができる。したがって、本実施形態によれば、圧縮された対象データ35の再送によるネットワーク4のトラヒックの増加を抑制することができる。
【0106】
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【0107】
<4.1>
上記実施形態に係る通信システムは、所定種類のデータに対して任意の推論タスクを遂行するあらゆる場面に適用されてよい。推論タスクは、例えば、画像データに写る対象物を認識すること、音データに表れる特徴を推論すること、センシングデータに表れる特徴を推論すること等であってよい。対象データ31の種類は、推論タスクに応じて適宜選択されてよい。以下、適用場面を限定した変形例を示す。
【0108】
(A)画像認識の場面
図9は、第1具体例に係る通信システムの適用場面の一例を模式的に例示する。本変形例は、画像データに写る対象物を認識する場面に上記実施形態を適用した例である。本変形例に係る通信システムは、上記実施形態に係る通信システムの一例であり、サーバ装置1及び画像取得装置2Aを備える。上記実施形態と同様に、サーバ装置1及び画像取得装置2Aは、ネットワーク4を介して互いに接続される。
【0109】
本変形例では、対象データは、対象物RAの写り得る画像データ31Aにより構成される。画像データ31Aは、例えば、静止画像、動画像、3D画像等の画像を示すように構成されてよい。画像データ31Aは、カメラSAにより得られてもよいし、カメラSAにより得られた生のデータを適宜加工することで生成されてもよいし、或いは任意の画像処理によりカメラSAに依らずに生成されてもよい。カメラSAは、例えば、一般的なRGBカメラ、深度カメラ、赤外線カメラ等であってよい。画像取得装置2Aは、対象データとして画像データ31Aを取得するように構成されたコンピュータである。画像取得装置2Aは、上記実施形態に係るクライアント装置2の一例である。推論タスクは、対象データを構成する画像データ31Aに写る対象物RAを認識することにより構成される。対象物RAを認識することは、例えば、対象物RAの種別を識別すること、対象物RAの写る領域を抽出すること(セグメンテーション)等を含んでよい。
【0110】
対象物RAは、人物であってもよいし、任意の物であってもよい。画像データ31Aに写る範囲は、対象物RAの特定部位(例えば、顔等)であってもよいし、或いは対象物RAの全体であってもよい。対象物RAが人物である場合、認識対象は、例えば、顔等の身体の一部であってもよい。人物の種別を識別することは、例えば、個人を推定することであってもよいし、或いは身体部位(顔、腕、脚、関節等)を推定することであってもよい。任意の物についても同様である。
【0111】
一例として、図9に示されるとおり、対象データを構成する画像データ31Aは、監視カメラSA1により得られてもよい。この場合、画像データ31Aに写る対象物RAを認識することは、画像データ31AにおけるシーンRA1を識別することであってよい。監視カメラSA1は、カメラSAの一例であり、シーンRA1は、対象物RAの一例である。シーンRA1を識別することは、例えば、特定の人物が存在するか否かを判定すること、所定の場所(例えば、街頭、駅構内、空港、ホール等)で危険の予兆があるか否かを推定すること等を含んでよい。
【0112】
他の一例として、対象データを構成する画像データ31Aは、製造ラインで生産される製品の状態を監視するカメラにより得られてよい。この場合、画像データ31Aに写る対象物RAを認識することは、画像データ31Aに写る製品に欠陥があるか否かを判定すること(すなわち、製品の外観検査を行うこと)であってよい。製品に欠陥があるか否かを判定することは、例えば、欠陥の有無を識別すること、製品に欠陥が含まれる確率を推定すること、製品に含まれる欠陥の種別(「欠陥がない」ことを示す種別が含まれてもよい)を識別すること、製品に含まれる欠陥の範囲を抽出すること又はこれらに組み合わせにより構成されてよい。
【0113】
なお、製品は、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される製品であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等であってよい。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等であってよい。薬品は、例えば、包装済みの錠剤、未包装の錠剤等であってよい。製品は、製造過程完了後に生成される最終品であってもよいし、製造過程の途中で生成される中間品であってもよいし、製造過程を経過する前に用意される初期品であってもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。
【0114】
これらの点を除き、本変形例に係る通信システムは、上記実施形態と同様に構成されてよい。
【0115】
(サーバ装置)
本変形例では、サーバ装置1は、上記実施形態と同様の処理手順により、推論タスクの遂行及び再送指示を送信するように構成されてよい。すなわち、上記ステップS101では、制御部11は、圧縮された画像データ33Aを画像取得装置2Aから受信する。ステップS102では、制御部11は、推論モデル5Aを使用することで受信した画像データ33Aに対して推論タスクを遂行した結果を取得する。推論モデル5Aは、与えられた画像データに写る対象物を認識するタスクを遂行する演算処理を実行可能に適宜構成されてよい。上記実施形態と同様に、推論モデル5Aは、機械学習により生成された訓練済みの機械学習モデルにより構成されてよい。
【0116】
ステップS103では、制御部11は、推論モデル5Aによる推論タスクの遂行結果の尤もらしさを算出する。ステップS104では、制御部11は、算出された尤もらしさの値に応じて、処理の分岐先を決定する。算出された尤もらしさが閾値未満である場合、制御部11は、ステップS105に処理を進める。一方、尤もらしさが閾値を超える場合、制御部11は、ステップS106に処理を進める。尤もらしさが閾値と等しい場合には、処理の分岐先は、いずれであってもよい。
【0117】
ステップS105では、制御部11は、先の圧縮率よりも圧縮率を低くした上で画像データを再送させる指示を画像取得装置2Aに対して送信する。その後、制御部11は、上記実施形態と同様に、ステップS101に処理を戻し、一連の処理を繰り返してよい。ステップS101では、制御部11は、先の圧縮率よりも低い圧縮率で圧縮された画像データ35Aを取得する。ステップS102では、制御部11は、推論モデル5Aを使用することで画像データ35Aに対して推論タスクを遂行した結果を取得する。制御部11は、取得された画像データ35Aに関して、ステップS103以降の処理も実行してよい。
【0118】
ステップS106では、制御部11は、推論タスクの遂行結果に関する情報を出力する。出力先は、例えば、出力装置16、他のコンピュータの出力装置、制御対象装置、画像取得装置2A等であってよい。一例では、制御部11は、対象物RAを認識した結果をそのまま出力してよい。他の一例では、制御部11は、対象物RAを識別した結果に応じて任意の情報処理を実行してよい。具体例として、上記シーンRA1の識別のケースにおいて、制御部11は、例えば、危険の発生確率が閾値を超える等により、危険の予兆があると認定される場合に、そのことを知らせるための通知を出力してもよい。他の具体例として、上記製品の外観検査のケースにおいて、製造ラインは、製品を搬送するコンベア装置を備えてよい。制御部11は、製品に欠陥があるか否かを判定した結果に基づいて、欠陥のある製品と欠陥のない製品とを別のラインで搬送されるようにコンベア装置を制御してもよい。この場合、制御部11は、画像取得装置2Aに対してコンベア装置の動作を上記のとおりに制御させてもよい。
【0119】
(画像取得装置)
画像取得装置2Aのハードウェア構成及びソフトウェア構成は、上記実施形態に係るクライアント装置2と同様であってよい。本変形例では、画像取得装置2Aは、通信インタフェース又は外部インタフェースを介してカメラSAに接続されてよい。或いは、カメラSAは他のコンピュータに接続され、画像取得装置2Aは、当該他のコンピュータに接続することで、カメラSAから画像データ31Aを取得可能に構成されてもよい。画像取得装置2Aは、カメラSAを内蔵してもよい。
【0120】
画像取得装置2Aは、上記クライアント装置2と同様の処理手順により、圧縮された画像データ(33A、35A)を送信する処理を実行してよい。すなわち、ステップS201では、画像取得装置2Aの制御部は、画像データ31Aを取得する。ステップS202では、制御部は、取得された画像データ31Aを圧縮することで、圧縮された画像データ33Aを生成する。ステップS203では、制御部は、ネットワーク4を介して圧縮された画像データ33Aをサーバ装置1に送信する。
【0121】
ステップS204では、制御部は、再送指示をサーバ装置1から受信したか否かに応じて、処理の分岐先を決定する。再送指示を受信した場合、制御部は、ステップS202に処理を戻し、ステップS202及びステップS203の処理を繰り返し実行する。ステップS202では、制御部は、先の圧縮率よりも低い圧縮率で画像データ31Aを再度圧縮することで、圧縮された画像データ35Aを生成する。ステップS203では、制御部は、ネットワーク4を介して再度圧縮された画像データ35Aをサーバ装置1に送信する。他方、再送指示を受信しなかった場合、制御部は、データ送信に関する処理手順を終了する。
【0122】
(特徴)
第1具体例によれば、画像取得装置2Aからサーバ装置1に画像データを送信し、画像データに対して推論タスクを遂行する場面で、ネットワーク4のトラヒックを低減しつつ、推論モデル5Aにより遂行される推論タスクの精度を保証することができる。画像データは比較的にデータ量が大きく、トラヒックを圧迫する原因になり得る。そのため、特に有効に当該効果を発揮することができる。
【0123】
(B)音認識の場面
図10は、第2具体例に係る通信システムの適用場面の一例を模式的に例示する。本変形例は、音データに表れる特徴を推論する場面に上記実施形態を適用した例である。本変形例に係る通信システムは、上記実施形態に係る通信システムの一例であり、サーバ装置1及び音取得装置2Bを備える。上記実施形態と同様に、サーバ装置1及び音取得装置2Bは、ネットワーク4を介して互いに接続される。
【0124】
本変形例では、対象データは、対象RBの特徴が表れ得る音データ31Bにより構成される。音データ31Bは、マイクロフォンSBにより対象RBを観測することで得られてもよいし、マイクロフォンSBにより得られた生のデータを適宜加工することで生成されてもよいし、或いは任意の音生成処理によりマイクロフォンSBに依らずに生成されてもよい。マイクロフォンSBの種類は、実施の形態に応じて適宜選択されてよい。音取得装置2Bは、対象データとして音データ31Bを取得するように構成されたコンピュータである。音取得装置2Bは、上記実施形態に係るクライアント装置2の一例である。推論タスクは、対象データを構成する音データ31Bに表れる対象RBの特徴を推論することにより構成される。
【0125】
一例として、図10に示されるとおり、対象データを構成する音データ31Bは、話者の音声RB1をマイクロフォンSBにより録音することにより得られてよい。話者の音声RB1は、対象RBの一例である。この場合、音データ31Bに表れる特徴を推論することは、話者の音声RB1を認識することにより構成されてよい。話者の音声RB1を認識することは、例えば、話者を識別すること、発話内容を分析(言語理解)すること等であってよい。
【0126】
他の一例として、対象データを構成する音データ31Bは、環境音又は機械の動作音を観測することにより得られてよい。この場合、音データ31Bに表れる特徴を推論することは、環境の状態を推論すること又は機械の状態を推論することであってよい。環境の状態を推論することは、例えば、アクシデントが発生しているか否かを判定すること、アクシデントが発生する予兆があるか否かを判定すること、天候を判別すること等であってよい。機械の状態を推論することは、例えば、機械が正常に動作しているか否か、機械に故障の予兆があるか否か等を判定することであってよい。
【0127】
これらの点を除き、本変形例に係る通信システムは、上記実施形態と同様に構成されてよい。
【0128】
(サーバ装置)
本変形例では、サーバ装置1は、上記実施形態と同様の処理手順により、推論タスクの遂行及び再送指示を送信するように構成されてよい。すなわち、上記ステップS101では、制御部11は、圧縮された音データ33Bを音取得装置2Bから受信する。ステップS102では、制御部11は、推論モデル5Bを使用することで受信した音データ33Bに対して推論タスクを遂行した結果を取得する。推論モデル5Bは、与えられた音データに表れる特徴を推論するタスクを遂行する演算処理を実行可能に適宜構成されてよい。上記実施形態と同様に、推論モデル5Bは、機械学習により生成された訓練済みの機械学習モデルにより構成されてよい。
【0129】
ステップS103では、制御部11は、推論モデル5Bによる推論タスクの遂行結果の尤もらしさを算出する。ステップS104では、制御部11は、算出された尤もらしさの値に応じて、処理の分岐先を決定する。算出された尤もらしさが閾値未満である場合、制御部11は、ステップS105に処理を進める。一方、尤もらしさが閾値を超える場合、制御部11は、ステップS106に処理を進める。尤もらしさが閾値と等しい場合には、処理の分岐先は、いずれであってもよい。
【0130】
ステップS105では、制御部11は、先の圧縮率よりも圧縮率を低くした上で音データを再送させる指示を音取得装置2Bに対して送信する。その後、制御部11は、上記実施形態と同様に、ステップS101に処理を戻し、一連の処理を繰り返してよい。ステップS101では、制御部11は、先の圧縮率よりも低い圧縮率で圧縮された音データ35Bを取得する。ステップS102では、制御部11は、推論モデル5Bを使用することで音データ35Bに対して推論タスクを遂行した結果を取得する。制御部11は、取得された音データ35Bに関して、ステップS103以降の処理も実行してよい。
【0131】
ステップS106では、制御部11は、推論タスクの遂行結果に関する情報を出力する。出力先は、例えば、出力装置16、他のコンピュータの出力装置、制御対象装置、音取得装置2B等であってよい。一例では、制御部11は、対象RBの特徴を推論した結果をそのまま出力してよい。他の一例では、制御部11は、推論結果に応じて任意の情報処理を実行してよい。具体例として、上記話者の音声RB1を認識するケースにおいて、制御部11は、話者の発話内容に応じて応答内容を決定し、決定された応答内容を出力してもよい。或いは、制御部11は、話者の発話内容に基づいて、言語検索(例えば、用語検索、歌謡曲の検索等)を実行し、検索結果を出力してもよい。これらの具体例は、音取得装置2Bがスマートフォン等のユーザ端末であり、音取得装置2Bに対して推論結果に関する情報を出力する場面で専ら適用されてよい。他の具体例として、上記機械音から機械の状態を推論するケースでは、制御部11は、推論結果に基づいて、対象の機械が故障している又は故障の予兆があると判定される場合に、例えば、機械の動作を停止する、そのことを知らせる通知を出力する等の故障又はその予兆に対処するための処理を実行してもよい。
【0132】
(音取得装置)
音取得装置2Bのハードウェア構成及びソフトウェア構成は、上記実施形態に係るクライアント装置2と同様であってよい。本変形例では、音取得装置2Bは、通信インタフェース又は外部インタフェースを介してマイクロフォンSBに接続されてよい。或いは、マイクロフォンSBは他のコンピュータに接続され、音取得装置2Bは、当該他のコンピュータに接続することで、マイクロフォンSBから音データ31Bを取得可能に構成されてもよい。音取得装置2Bは、マイクロフォンSBを内蔵してもよい。
【0133】
音取得装置2Bは、上記クライアント装置2と同様の処理手順により、圧縮された音データ(33B、35B)を送信する処理を実行してよい。すなわち、ステップS201では、音取得装置2Bの制御部は、音データ31Bを取得する。ステップS202では、制御部は、取得された音データ31Bを圧縮することで、圧縮された音データ33Bを生成する。ステップS203では、制御部は、ネットワーク4を介して圧縮された音データ33Bをサーバ装置1に送信する。
【0134】
ステップS204では、制御部は、再送指示をサーバ装置1から受信したか否かに応じて、処理の分岐先を決定する。再送指示を受信した場合、制御部は、ステップS202に処理を戻し、ステップS202及びステップS203の処理を繰り返し実行する。ステップS202では、制御部は、先の圧縮率よりも低い圧縮率で音データ31Bを再度圧縮することで、圧縮された音データ35Bを生成する。ステップS203では、制御部は、ネットワーク4を介して再度圧縮された音データ35Bをサーバ装置1に送信する。他方、再送指示を受信しなかった場合、制御部は、データ送信に関する処理手順を終了する。
【0135】
(特徴)
第2具体例によれば、音取得装置2Bからサーバ装置1に音データを送信し、音データに対して推論タスクを遂行する場面で、ネットワーク4のトラヒックを低減しつつ、推論モデル5Bにより遂行される推論タスクの精度を保証することができる。音データも画像データと同様に比較的にデータ量が大きく、トラヒックを圧迫する原因になり得る。そのため、特に有効に当該効果を発揮することができる。
【0136】
(C)センシング対象の状態を認識する場面
図11は、第3具体例に係る通信システムの適用場面の一例を模式的に例示する。本変形例は、センシングデータに表れる特徴を推論する場面に上記実施形態を適用した例である。本変形例に係る通信ンシステムは、上記実施形態に係る通信システムの一例であり、サーバ装置1及び観測装置2Cを備える。上記実施形態と同様に、サーバ装置1及び観測装置2Cは、ネットワーク4を介して互いに接続される。
【0137】
本変形例では、対象データは、対象物RCの特徴が表れ得るセンシングデータ31Cにより構成される。センシングデータ31Cは、対象物RCをセンサSCにより観測することで得られてもよいし、センサSCにより得られた生のデータを適宜加工する(例えば、特徴量を抽出する)ことで生成されてもよいし、或いはセンサSCの動作を模擬することで生成されてもよい。センシングデータ31Cは、単一種類のデータにより構成されてもよいし、或いは複数種類のデータにより構成されてもよい。センサSCは、例えば、カメラ、マイクロフォン、エンコーダ、環境センサ、バイタルセンサ、医療検査装置、車載センサ、ホームセキュリティセンサ等であってよい。観測装置2Cは、対象データとしてセンシングデータ31Cを取得するように構成されたコンピュータである。観測装置2Cは、上記実施形態に係るクライアント装置2の一例である。推論タスクは、対象データを構成するセンシングデータ31Cに表れる対象物RCに関する特徴を推論することにより構成される。
【0138】
センサSCの種類は、推論タスクに応じて適宜選択されてよい。一例として、対象物RCは、対象人物RC1であってよく、対象物RCに関する特徴を推論することは、対象人物RC1の状態を推論することであってよい。この場合、対象人物RC1の状態を観測するセンサSC1は、例えば、カメラ、マイクロフォン、バイタルセンサ、及び医療検査装置の少なくともいずれかにより構成されてよい。対象人物RC1は、上記対象物RCの一例であり、センサSC1は、上記センサSCの一例である。推論内容の具体的な一例として、対象人物RC1の状態を推論することは、例えば、所定の疾患を発症する確率、体調変化が生じる確率等の健康状態を推論することであってよい。推論内容の他の具体的な一例として、対象人物RC1は、車両の運転者であってよく、対象人物RC1の状態を推論することは、運転者の状態(例えば、眠気度、疲労度、余裕度等)を推論することであってよい。
【0139】
他の一例として、対象物RCは産業用機械であってよく、対象物RCに関する特徴を推論することは、産業用機械に異常があるか否かを推論(検知又は予測)することであってよい。この場合、センサSCは、例えば、マイクロフォン、エンコーダ、及び環境センサの少なくともいずれかにより構成されてよい。センシングデータのサンプルは、モータのエンコーダ値、温度、動作音等により構成されてよい。
【0140】
他の一例として、対象物RCは、車両の外部に存在する物体であってよく、対象物RCに関する特徴を推論することは、車両外部の状況を推論することであってよい。この場合、センサSCは、例えば、カメラ、及び車載センサの少なくともいずれかにより構成されてよい。車両外部の状況を推論することは、例えば、車両外部に存在する物体の属性を推論すること、混雑状況を推論すること、事故のリスクを推論すること等であってよい。車両外部に存在する物体は、例えば、道路、信号機、障害物(人、物)等であってよい。車両外部に存在する物体の属性を推論することは、例えば、人又は車両の飛び出し、急発進、急停車、車線変更等のイベントの発生を推論することを含んでよい。
【0141】
他の一例として、対象物RCは、例えば、屋外、所定の屋内(例えば、ビニルハウス内等)の特定の場所に存在する物体であってよく、対象物RCに関する特徴を推論することは、特定の場所の状況を推論することであってよい。この場合、センサSCは、例えば、カメラ、マイクロフォン、及び環境センサの少なくともいずれかにより構成されてよい。具体例として、対象物RCは植物であってよく、特定の場所の状況を推論することは、植物の栽培状況を推論することであってよい。
【0142】
他の一例として、対象物RCは、例えば、住宅内に存在する物体であってよく、対象物RCに関する特徴を推論することは、住宅内の状況を推論することであってよい。この場合、センサSCは、例えば、カメラ、マイクロフォン、環境センサ、及びホームセキュリティセンサの少なくともいずれかにより構成されてよい。
【0143】
これらの点を除き、本変形例に係る通信システムは、上記実施形態と同様に構成されてよい。
【0144】
(サーバ装置)
本変形例では、サーバ装置1は、上記実施形態と同様の処理手順により、推論タスクの遂行及び再送指示を送信するように構成されてよい。すなわち、上記ステップS101では、制御部11は、圧縮されたセンシングデータ33Cを観測装置2Cから受信する。ステップS102では、制御部11は、推論モデル5Cを使用することで受信したセンシングデータ33Cに対して推論タスクを遂行した結果を取得する。推論モデル5Cは、与えられたセンシングデータに表れる特徴を推論するタスクを遂行する演算処理を実行可能に適宜構成されてよい。上記実施形態と同様に、推論モデル5Cは、機械学習により生成された訓練済みの機械学習モデルにより構成されてよい。
【0145】
ステップS103では、制御部11は、推論モデル5Cによる推論タスクの遂行結果の尤もらしさを算出する。ステップS104では、制御部11は、算出された尤もらしさの値に応じて、処理の分岐先を決定する。算出された尤もらしさが閾値未満である場合、制御部11は、ステップS105に処理を進める。一方、尤もらしさが閾値を超える場合、制御部11は、ステップS106に処理を進める。尤もらしさが閾値と等しい場合には、処理の分岐先は、いずれであってもよい。
【0146】
ステップS105では、制御部11は、先の圧縮率よりも圧縮率を低くした上でセンシングデータを再送させる指示を観測装置2Cに対して送信する。その後、制御部11は、上記実施形態と同様に、ステップS101に処理を戻し、一連の処理を繰り返してよい。ステップS101では、制御部11は、先の圧縮率よりも低い圧縮率で圧縮されたセンシングデータ35Cを取得する。ステップS102では、制御部11は、推論モデル5Cを使用することでセンシングデータ35Cに対して推論タスクを遂行した結果を取得する。制御部11は、取得されたセンシングデータ35Cに関して、ステップS103以降の処理も実行してよい。
【0147】
ステップS106では、制御部11は、推論タスクの遂行結果に関する情報を出力する。出力先は、例えば、出力装置16、他のコンピュータの出力装置、制御対象装置、観測装置2C等であってよい。一例では、制御部11は、対象物RCに関する特徴を推論した結果をそのまま出力してもよい。他の一例では、制御部11は、推論結果に応じて任意の情報処理を実行してもよい。具体例として、上記対象人物RC1の健康状態を推論するケースでは、制御部11は、対象人物RC1の健康状態に異常があると判定される(例えば、所定の疾患の発症確率が高いと判定される)場合にそのことを知らせるための警告を出力してもよい。他の具体例として、上記運転者の状態を推論するケースでは、制御部11は、運転者の眠気度又は疲労度が高いと判定される場合に、運転の休憩を促すメッセージを通知する、自動運転から手動運転の切り替えを禁止する等の情報を出力してもよい。他の具体例として、上記車両外部の状況を推論するケースでは、制御部11は、推論される車両外部の状況に応じて車両に対する動作指令を決定し、決定された動作指令(例えば、人の飛び出しを検知した場合に、車両の一時停止を実行する)を出力してもよい。これらの具体例は、観測装置2Cに対して推論結果に関する情報を出力する場面で専ら適用されてよい。他の具体例として、産業用機械に異常があるか否かを推論するケースでは、制御部11は、産業用機械に異常がある又はその予兆があると判定される場合に、そのことを知らせるための警告を出力してもよい。
【0148】
(観測装置)
観測装置2Cのハードウェア構成及びソフトウェア構成は、上記実施形態に係るクライアント装置2と同様であってよい。本変形例では、観測装置2Cは、通信インタフェース又は外部インタフェースを介してセンサSCに接続されてよい。或いは、センサSCは他のコンピュータに接続され、観測装置2Cは、当該他のコンピュータに接続することで、センサSCからセンシングデータ31Cを取得可能に構成されてもよい。観測装置2Cは、センサSCを内蔵してもよい。
【0149】
観測装置2Cは、上記クライアント装置2と同様の処理手順により、圧縮されたセンシングデータ(33C、35C)を送信する処理を実行してよい。すなわち、ステップS201では、観測装置2Cの制御部は、センシングデータ31Cを取得する。ステップS202では、制御部は、取得されたセンシングデータ31Cを圧縮することで、圧縮されたセンシングデータ33Cを生成する。ステップS203では、制御部は、ネットワーク4を介して圧縮されたセンシングデータ33Cをサーバ装置1に送信する。
【0150】
ステップS204では、制御部は、再送指示をサーバ装置1から受信したか否かに応じて、処理の分岐先を決定する。再送指示を受信した場合、制御部は、ステップS202に処理を戻し、ステップS202及びステップS203の処理を繰り返し実行する。ステップS202では、制御部は、先の圧縮率よりも低い圧縮率でセンシングデータ31Cを再度圧縮することで、圧縮されたセンシングデータ35Cを生成する。ステップS203では、制御部は、ネットワーク4を介して再度圧縮されたセンシングデータ35Cをサーバ装置1に送信する。他方、再送指示を受信しなかった場合、制御部は、データ送信に関する処理手順を終了する。
【0151】
(特徴)
第3具体例によれば、観測装置2Cからサーバ装置1にセンシングデータを送信し、センシングデータに対して推論タスクを遂行する場面で、ネットワーク4のトラヒックを低減しつつ、推論モデル5Cにより遂行される推論タスクの精度を保証することができる。センシングデータも上記画像データ等と同様に比較的にデータ量が大きく、トラヒックを圧迫する原因になり得る。そのため、特に有効に当該効果を発揮することができる。
【0152】
<4.2>
上記実施形態では、クライアント装置2は、ステップS204の処理により、再送指示をサーバ装置1から受信したことに応じて、先の圧縮率よりも低い圧縮率で圧縮された対象データ35を生成している。しかしながら、再送する指示がデータ通信装置で発生することに対応して、先の圧縮率よりも低い圧縮率で対象データを再度圧縮することは、このような形態に限られなくてよい。他の一例では、クライアント装置2は、再送指示をサーバ装置1から受信する前に、先の圧縮率よりも低い圧縮率で圧縮された対象データ35の生成を開始してもよい。この場合、圧縮された対象データ35の生成は、再送指示の受信までに完了していなくてもよい。また、この圧縮された対象データ35を予め生成する処理は、サーバ装置1からの準備指示に応じて実行されてよい。
【0153】
図12は、本変形例に係るサーバ装置1のソフトウェア構成の一例を模式的に示す。本変形例では、サーバ装置1は、推論プログラム81を実行することで、ソフトウェアモジュールとして準備指示部116を更に備えるコンピュータとして動作する。準備指示部116は、算出された尤もらしさが閾値未満である場合の再送させる指示に備えさせるために、再送させる指示を送信する前に、圧縮率を低くした対象データ35を生成させる準備指示をクライアント装置2に対して送信するように構成される。
【0154】
上記処理手順において、制御部11は、ステップS105の処理を実行する前の任意のタイミングで当該準備指示をクライアント装置2に対して送信してよい。一例として、クライアント装置2が、サーバ装置1に対して異なる複数件の対象データを送信する場合を想定する。この場合に、制御部11は、ステップS101の処理によりクライアント装置2から初回に圧縮された対象データ33を取得したタイミングで、クライアント装置2に準備指示を送信してもよい。クライアント装置2は、初回に送信した対象データ33の他に、後のタイミングで送信する他の対象データにも、受信した準備指示を適用してもよい。或いは、制御部11は、運用の初期段階において、ステップS101の処理の前に、クライアント装置2に対して準備指示を送信してもよい。
【0155】
これに対応して、クライアント装置2のデータ圧縮部212は、サーバ装置1からの対象データを再送する指示を受信する前に、当該再送指示に備えて、先の圧縮率よりも低い圧縮率で対象データ31を再度圧縮する処理の実行を開始するように構成されてよい。上記処理手順において、制御部21は、ステップS204の処理を実行する前に、繰り返しのステップS202の処理の実行を開始してよい。そして、制御部21は、再送指示をサーバ装置1から受信したことに応じて、ステップS204の処理により繰り返しを選択し、繰り返しのステップS203の処理により、生成された圧縮済みの対象データ35をサーバ装置1に送信してもよい。
【0156】
尤もらしさに応じて圧縮率を低下させる程度が決定される場合、制御部21は、候補となる複数の圧縮率で対象データ31を圧縮してもよい。尤もらしさと圧縮率を低下させる程度との対応関係が規則により与えられている場合、制御部21は、規則に従って、候補となる複数の圧縮率を決定してもよい。そして、制御部21は、サーバ装置1から再送指示を受け取った後に、複数の候補の中から対応する圧縮率の対象データ35を選択し、選択された対象データ35をサーバ装置1に送信してもよい。
【0157】
なお、クライアント装置2における圧縮された対象データ35の準備は、サーバ装置1からの準備指示に依らずに実行されてもよい。すなわち、サーバ装置1が準備指示部116を備えていない場合にも、クライアント装置2は、再送する指示を受信する前に、先の圧縮率よりも低い圧縮率で対象データ31を再度圧縮する処理の実行を開始してよい。上記各具体例の各装置2A-2Cも同様に、再送指示を受信する前に、先の圧縮率よりも圧縮率の低い圧縮されたデータ35A-35Cを生成してよい。
【0158】
本変形例によれば、再送指示が与えられる前に、クライアント装置2に対象データ31の圧縮処理を予め実行させることで、圧縮された対象データ35を送信する(すなわち、対象データを再送する)までにかかる時間を低減することができる。再送指示を受信するまでに圧縮処理が完了している場合には、圧縮処理に起因する遅延を無くすことができる。これにより、サーバ装置1が圧縮された対象データを再度取得し、対象データに対する推論モデル5による推論タスクの遂行が再度実行されるまでにかかる時間を短縮することができる。
【0159】
<4.3>
上記実施形態では、サーバ装置1は、推論モデル5を備えて、対象データに対して推論タスクを遂行する処理を実行するように構成されている。しかしながら、データ通信装置の構成は、このような例に限定されなくてよい。対象データに対して推論モデル5により推論タスクを遂行する処理は他のコンピュータにより実行されてよく、データ通信装置は、他のコンピュータから推論タスクの遂行結果を取得してもよい。
【0160】
図13は、本変形例に係るデータ通信装置の構成の一例を模式的に示す。本変形例では、サーバ装置側に中継装置101及び推論装置102が設けられている。中継装置101及び推論装置102のハードウェア構成は、上記サーバ装置1と同様に構成されてよい。中継装置101は、上記サーバ装置1と同様に、ネットワーク4を介してクライアント装置2に接続されている。また、中継装置101は、任意のネットワークにより推論装置102に接続されている。
【0161】
中継装置101は、クライアント装置2から受信した対象データ(33、35)を推論装置102に転送し、推論モデル5の演算処理を実行する以外の上記サーバ装置1の処理を実行するように構成されてよい。推論装置102は、推論モデル5を備え、中継装置101から転送された対象データ(33、35)に対して推論タスクを遂行する処理を実行するように構成されてよい。上記処理手順のステップS102の処理において、中継装置101(結果取得部112)は、圧縮された対象データ(33、35)を推論装置102に転送し、推論装置102から推論モデル5による推論タスクの遂行結果を取得してもよい。本変形例に係る中継装置101は、データ通信装置の一例である。
【0162】
中継装置101は、再送指示プログラムを保持してよく、当該再送指示プログラムに従って、上記各処理を実行するように構成されてよい。再送指示プログラムは、上記推論プログラム81に含まれる推論モデル5の演算処理を実行する命令を他のコンピュータ(推論装置102)から推論結果を取得する命令に置き換えることで構成されてよい。本変形例によれば、クライアント装置2及び中継装置101の間で、ネットワーク4のトラヒックを低減しつつ、推論モデル5により遂行される推論タスクの精度を保証することができる。
【0163】
<4.4>
上記実施形態では、サーバ装置1は、推論モデル5により得られる推論タスクの遂行結果の不確定性に基づいて尤もらしさを算出している。しかしながら、遂行結果の尤もらしさを算出する方法は、このような例に限定されなくてよい。他の一例では、推論モデルは、機械学習により、推論タスクの遂行結果と共に、遂行結果の尤もらしさを出力するように訓練されていてもよい。これに応じて、尤もらしさを算出することは、推論モデルの演算処理を実行した結果として、尤もらしさに対応する出力を得ることにより構成されてよい。
【0164】
なお、上記実施形態では、推論モデルの演算処理は、サーバ装置1において実行されてよい。上記中継装置101及び推論装置102の変形例では、推論モデルの演算処理は、推論装置102において実行されてよい。すなわち、尤もらしさを算出することは、推論モデルの演算処理を実行した結果を得ることを含んでいればよく、推論モデルの演算処理を実行することまでは含んでいなくてもよい。
【0165】
図14は、本変形例に係る推論モデル500の構成の一例を模式的に示す。本変形例に係る推論モデル500は、上記推論モデル5の出力層53と異なる構成を有する出力層530を備える点を除き、上記推論モデル5と同様に構成されてよい。本変形例に係る推論モデル500の出力層530は、2つの部分(531、533)に分かれている。第1部分531は、推論結果を出力するように構成されるノードを含んでいる。第1部分531は、上記推論モデル5の出力層53と同様に動作するように構成されてよい。
【0166】
一方、第2部分533は、推論結果の尤もらしさを出力するように構成されるノードを含んでいる。一例では、第2部分533のノードの活性化関数にはソフトマックス関数が用いられてよく、これにより、第2部分533のノードは、[0,1]の範囲で尤もらしさを出力するように構成されてよい。第2部分533に含まれるノードの数は、実施の形態に応じて適宜決定されてよい。一例では、第2部分533は1つのノードを含むように構成されてよく、当該ノードは、推論結果全体の尤もらしさを出力するように構成されてよい。他の一例では、推論タスクがクラス識別である上記ケースの場面において、第2部分533は、識別するクラスの数に対応する数のノードを含むように構成されてよく、各ノードは、対応するクラスの識別結果の尤もらしさを出力するように構成されてよい。なお、図14の例では、第1部分531及び第2部分533の階層は同一であるが、第1部分531及び第2部分533の階層は異なっていてもよい。
【0167】
機械学習において、第1部分531に対する正解ラベルは、上記推論モデル5と同様に構成されてよい。一方、第2部分533に対する正解ラベルは、尤もらしさの最大値(例えば、上記ソフトマックス関数のケースでは、「1」)を示すように構成されてよい。その他の部分は、上記推論モデル5と同様であってよい。この機械学習により、第1部分531から推論タスクの遂行結果を出力し、第2部分533から遂行結果の尤もらしさを出力するように推論モデル5を訓練することができる。制御部11は、上記ステップS103の処理において、推論結果の尤もらしさを第2部分533から取得することができる。この方法によっても、尤もらしさを適正に算出することができ、その結果、推論モデル500により遂行される推論タスクの精度を適切に保証することができる。
【0168】
他の一例では、サーバ装置1は、推論モデル5の機械学習に使用された訓練データを保持してもよい。機械学習により生成される訓練済みの推論モデル5は、機械学習に使用された訓練データの範囲で推論タスクを適切に遂行する能力を獲得する。そのため、与えられた対象データが訓練データの分布から外れている場合、当該対象データに対する推論モデル5の推論精度は低くなり、推論結果の尤もらしさも低くなる傾向にある。そこで、制御部11は、上記ステップS103の処理において、訓練データの分布と対象データとの距離を算出し、算出された距離に応じて推論結果の尤もらしさを導出してもよい。制御部11は、算出された距離が大きいほど尤もらしさを低く評価し、算出された距離が小さいほど尤もらしさを高く評価してもよい。この方法によっても、尤もらしさを適正に算出することができ、その結果、推論モデル5により遂行される推論タスクの精度を適切に保証することができる。なお、上記各変形例に係る推論モデル5A-5Cによる推論タスクの遂行結果の尤もらしさを算出する場合も同様に上記他の方法が採用されてよい。
【0169】
<4.5>
上記実施形態及び各変形例では、推論モデル5(5A-5C、500)は、全結合型ニューラルネットワークにより構成されている。しかしながら、推論モデル5(5A-5C、500)を構成するニューラルネットワークの種類は、このような例に限定されなくてよい。他の一例では、推論モデル5(5A-5C、500)は、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、アテンション機構を備えるニューラルネットワーク等により構成されてよい。推論モデル5(5A-5C、500)を構成するニューラルネットワークは、例えば、畳み込み層、プーリング層、正規化層、ドロップアウト層等の他の種類の層を含んでもよい。
【0170】
また、上記実施形態及び各変形例では、推論モデル5(5A-5C、500)には、機械学習モデルとしてニューラルネットワークが用いられている。しかしながら、推論モデル5(5A-5C、500)に用いられる機械学習モデルは、ニューラルネットワークに限られなくてよく、実施の形態に応じて適宜選択されてよい。他の一例として、推論モデル5(5A-5C、500)は、サポートベクタマシン、決定木、多変量解析(例えば、フィッシャー判別分析、正準相関分析等)により得られるモデル等の他の機械学習モデルにより構成されてよい。推論タスクを遂行し、かつ推論結果の尤もらしさを評価可能であれば、推論モデル5(5A-5C)には、機械学習モデル以外のモデルが採用されてもよい。
【0171】
§5 実験例
(I)第1実験例
第1実験例では、数値シミュレーションを用いて、対象データの圧縮が推論タスクの精度に及ぼす影響について検証した。対象データには画像データを採用し、推論タスクには画像認識を採用した。クライアント装置にはIoT装置を想定し、サーバ装置にはエッジサーバを想定した。画像圧縮の手法には、ダウンサンプリングを採用した。圧縮率の指標にはPSNRを採用した。
【0172】
図15は、第1実験例に係る数値シミュレーションの構成を示す。なお、PSNRを計算するために、サーバ装置は、アップサンプラを使用して、ダウンサンプリング画像を圧縮前の画像と同じ解像度になるよう調整するように構成した。画像データには、ILSVRC2012の検証用データセット(ImageNet)を使用した。ダウンサンプラによるダウンサンプリングは、16画素(4×4)を用いたバイキュービック法で行うように構成した。バイキュービック法の計算式(式1)を以下に示す。
【0173】
【数1】
ここで、xは画素間の距離を示し、aは任意の係数である。
【0174】
バイキュービック法の計算及びPSNRの計算には、OpenCVライブラリを使用した。また、推論モデル(画像認識モデル)には、OpenVINO(Intel Corporation, "Openvino toolkit," 2019. https://docs.openvinotoolkit.org/latest/index.html.)で事前学習した画像分類モデルであるAlexNetを採用した。
【0175】
次に、上記検証用データセットに含まれる画像それぞれの解像度が異なっているため、AlexNetの入力層のサイズ(227×227)に合わせて圧縮された画像の解像度を調整した。具体的には、リサイズフィルタにより、画像の短辺を227画素に拡大又は縮小し、長辺を入力層のサイズに合わせてトリミングすることで、各画像の解像度を調整した。数値シミュレーションでは、解像度を調整した後の画像をAlexNetの入力層に入力し、AlexNetの順伝播の演算処理を実行することで、画像認識のタスクを遂行した。そして、画像認識のタスクの遂行結果と各画像に付与された正解ラベルとを比較し、認識精度を算出した。第1実験例では、圧縮率に応じたTop-kの認識精度Rkを評価指標に採用した。AlexNetの出力値をC0とし、集合Ckを{Ck⊂C0|Top k in C0}とする。この場合に、Top-kの認識精度Rkは、以下の式2により計算することができる。第1実験例では、Top-1及びTop-5の認識精度を算出した。
【0176】
【数2】
【0177】
図16は、第1実験例に係るダウンサンプリングレートに応じたPSNRの平均値及び分散値のシミュレーション結果を示す。図17及び図18は、第1実験例におけるTop-1及びTop-5の認識精度及び認識誤り率のシミュレーション結果を示す。各図に示されるとおり、ダウンサンプリングレートの増加に伴い、PSNR及び認識精度は低下し、認識誤り率は増加することが分かった。圧縮率が50%を超えると、認識精度の低下が顕著となることが分かった。
【0178】
(II)第2実験例
第2実験例では、無線ネットワークのシミュレータを用いて、上記実施形態の方法によるトラヒックの削減をシミュレートし、スループット及び遅延の特性を検証した。
【0179】
第2実験例では、10台のIoT装置(クライアント装置)がネットワークに接続されていると仮定し、そのうちの5台のIoT装置は、アクセスポイント(Access Point:AP)に画像データを送信するように構成した。画像トラヒックの到着間隔は指数分布に基づいてランダムに決定し、到着平均間隔を0.2秒に設定した。画像トラヒックが生成されると、IoT装置は、ILSVRC2012の検証用データセットから画像を選択し、選択した画像を送信するように構成した。なお、ILSVRC2012の検証用データセットの画像サイズは、スマートフォン等のユーザ端末で撮影することで得られる実用的な画像サイズよりも小さい。そこで、第2実験例では、実際の環境に近付けるために、各画像のデータサイズを単純に5倍し、更に連続して同じ画像を3枚送信するトラヒックを生成するように設計した。IoT装置は、ダウンサンプラを用いて画像データを圧縮するように構成した。また、AP上のエッジサーバ(サーバ装置)において、AlexNetを用いて画像分類モデル(推論モデル)を構築した。残りのIoT装置は、バックグラウンドのトラヒックを再現するために、連続的にダミートラヒックを送信するように構成した。各IoT装置は、0.05秒毎にトラヒックを生成するように構成した。トラヒックのデータサイズは、250Kバイトに設定した。1回のシミュレーションの時間を60秒に設定し、試行回数を10回に設定した。すなわち、合計10分間、無線ネットワークのシミュレーションを行った。
【0180】
シミュレートする無線ネットワークシステムには、IEEE802.11nをベースとした無線LANシステムを採用した。すなわち、マルチアクセス制御プロトコルとしてCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance) を採用した。以下の表1に無線LANシステムのパラメータを示す。
【0181】
【表1】
【0182】
フレームフォーマットには、グリーンフィールドモードを採用した。40MHz伝送のオプション及びショートガードインターバルを使用した場合を想定して、PHYレートは、300Mbpsに設定した。通信環境は静的であると仮定し、PHYレートを固定した。無線通信におけるパケットエラーの主な要因は、IoT装置からの信号のパケット衝突、伝送中のパケットロス、キャリアセンスによる送信待機時間である。そこで、本シミュレータでは、パケット送信のタイムアウトを10msと仮定し、パケットの再送回数を10回に設定した。すなわち、本シミュレータでは、上記実施形態の方法による再送制御の他に、無線ネットワークで一般的に採用されているパケットの再送制御を用意した。
【0183】
IoT装置における画像の圧縮率は、PSNRの閾値によって決定した。上記第1実験例から、圧縮率が50%を超えると、認識精度の低下が顕著となることが分かった。そのため、圧縮率が50%前後の値をPSNRの閾値に設定した。具体的には、PSNRの閾値は25dBに設定した。また、ILSVRC2012の検証用データセットには正解ラベルが付与されているため、各画像に対する認識精度を算出することができる。そこで、第2実験例では、画像の認識精度を尤もらしさの指標に採用した。上記PSNRの閾値を決定したのと同じ理由により、Top-1の認識精度(尤もらしさ)の閾値を29.9%に設定し、Top-5の認識精度(尤もらしさ)の閾値を56.4%に設定した。上記実施形態の方法による画像の再送回数の上限は2回に設定した。1回目の画像の再送では、基準となる圧縮率を1回目の送信時から30%下げ、2回目の画像の再送では、圧縮処理をせずに元の画像をそのまま送信するように設定した。エッジサーバの処理にかかる時間は、認識処理、画像の再送指示、再送された画像の受信、及び伝搬にかかる時間の合計で10msと仮定した。これにより、実施例に係る通信システムを構築した。
【0184】
一方、比較例に係る通信システムは、パケットの再送制御のみを実行するようにし、上記実施形態の方法による再送制御を実行しないように構成した。また、比較例に係る通信システムでは、IoT装置は、画像を圧縮せずにそのままエッジサーバに送信するように構成した。比較例に係る通信システムのその他の条件は、実施例に係る通信システムと同様とした。
【0185】
評価項目には、認識誤り率、画像の再送回数、ダミートラヒックのスループット、ダミートラヒックの待ち時間、及び画像トラヒックの待ち時間の5つの項目を採用した。各項目について、実施例(Top-1、Top-5)及び比較例(Conv.)のシミュレーションを行った。なお、スループットThは、以下の式3により計算した。
【0186】
【数3】
ここで、T0は、基準時間である。T0には、100msを代入した。Npは、IoT装置がAPに正常に送信できたパケット数である。
【0187】
図19A及び図19Bは、第2実験例における実施例(Top-1、Top-5)及び比較例の認識誤り率のシミュレーション結果を示す。図20A及び図20Bは、第2実験例における実施例(Top-1、Top-5)での画像の再送回数のシミュレーション結果を示す。図21は、第2実験例における実施例(Top-1、Top-5)及び比較例のダミートラヒックのスループットのシミュレーション結果を示す。図22及び図23は、第2実験例における実施例(Top-1、Top-5)及び比較例のダミートラヒック及び画像トラヒックの遅延のシミュレーション結果(累積度数分布)を示す。
【0188】
図19A及び図19Bに示されるとおり、画像圧縮を採用した実施例及び画像圧縮を採用しなかった比較例の間で、認識誤り率にはほとんど差がなかった。つまり、実施例では、圧縮を行わずに対象データを送信する場合(比較例)と同等の認識精度を担保することができた。また、図20A及び図20Bに示されるとおり、実施例では、ある程度の回数の再送が発生していた。画像トラヒックが発生すると、ネットワークの輻輳によりスループットが低下する。画像トラヒックの送信が完了した後、大気中のトラヒックが同時に送信され、ネットワーク全体のスループットが増加する。これにより、スループットのばらつきが大きくなる。この点、図21に示されるとおり、実施例(Top-1、Top-5)は、比較例と比べて、スループットのばらつきは安定していた。また、図22及び図23に示されるとおり、実施例(Top-1、Top-5)では、比較例と比べて、ダミートラヒック及び画像トラヒックの遅延を低減することができた。なお、ダウンサンプリングは画像圧縮の手法として最も単純な手法の一つであり、圧縮方法として他の方法を採用しても、同様の傾向を示すことが推測された。以上の各結果から、本発明によれば、ネットワークのトラヒックを低減しつつ、推論モデルにより遂行される推論タスクの精度を保証することができることが検証できた。
【符号の説明】
【0189】
1…サーバ装置(データ通信装置)、
11…制御部、12…記憶部、13…通信インタフェース、
14…外部インタフェース、
15…入力装置、16…出力装置、17…ドライブ、
81…推論プログラム(再送指示プログラム)、91…記憶媒体、
111…データ受信部、112…結果取得部、
113…結果評価部、114…再送指示部、
115…出力部、116…準備指示部、
125…学習結果データ、
2…クライアント装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…外部インタフェース、
25…入力装置、26…出力装置、27…ドライブ、
82…送信プログラム、92…記憶媒体、
211…データ取得部、212…データ圧縮部、
213…データ送信部、
31…対象データ、33・35…圧縮された対象データ、
5…推論モデル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19A
図19B
図20A
図20B
図21
図22
図23