(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-21
(45)【発行日】2023-09-29
(54)【発明の名称】端末装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20230922BHJP
G06F 17/40 20060101ALI20230922BHJP
H04L 67/12 20220101ALI20230922BHJP
【FI】
G06N20/00
G06F17/40 330
H04L67/12
(21)【出願番号】P 2021114800
(22)【出願日】2021-07-12
【審査請求日】2022-02-16
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】坪内 孝太
(72)【発明者】
【氏名】宮崎 崇史
【審査官】北川 純次
(56)【参考文献】
【文献】特表2018-524711(JP,A)
【文献】国際公開第2021/064737(WO,A1)
【文献】中国特許出願公開第111985649(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/02-3/10
G06F 17/40
H04L 67/12
(57)【特許請求の範囲】
【請求項1】
利用者が所有する端末装置であって、
当該端末装置のセンサにより自己センサデータを収集する取得部と、
他の利用者が所有する他の端末装置から、前記他の端末装置のセンサにより収集された他者センサデータを受信する受信部と、
前記自己センサデータと前記他者センサデータとを比較する比較部と、
比較結果に応じて、前記自己センサデータと前記他者センサデータとのうち、より高性能なセンサにより計測され、他方よりも精度の高いセンサデータを採用する採用部と、
連合学習を採用した情報提供装置から提供された共有モデルをベースとして、前記自己センサデータと前記他者センサデータ
とのうち前記採用部により採用されたセンサデータを学習データとして
オンデバイス機械学習を行う
ことで独自の推論モデルを構築し、前記推論モデルと前記共有モデルとの差分パラメータを生成する学習部と、
前記推論モデルを利用して入力データから推論を行う推論部と、
推論の結果としてられた推論結果と、学習の結果として得られた前記推論モデルと前記共有モデルとの差分パラメータとを前記情報提供装置に送信する送信部と、
を備えることを特徴とする端末装置。
【請求項2】
前記比較部は、
リアルタイムのセンサデータを使用しない場合には、センサデータに紐づけられた位置情報
及び時間情報を基準として、
同じ又は近い時間及び位置で計測された前記自己センサデータと前記他者センサデータとを比較
し、
リアルタイムのセンサデータを使用する場合には、位置情報や時間情報に関係なく、収集した時点でのリアルタイムの前記自己センサデータと前記他者センサデータとを比較する
ことを特徴とする請求項
1に記載の端末装置。
【請求項3】
前記採用部は、
当該端末装置とは機種あるいは搭載されているセンサの種類や性能が異なる前記他の端末装置から受信した前記他者センサデータであって、前記自己センサデータに含まれていないデータ
、前記自己センサデータから欠落しているデータ、又は前記自己センサデータよりも数値の小数点以下の桁数が多いデータを有する前記他者センサデータを採用する
ことを特徴とする請求項
1又は
2に記載の端末装置。
【請求項4】
前記受信部は、
当該端末装置と近距離無線通信
で通信可能なほど近くに存在する前記他の端末装置から、前記他の端末装置のセンサにより収集された
前記他者センサデータを
近距離無線通信で受信する
ことで、収集時点でのセンサデータが当該端末装置と共通であると推測される前記他の端末装置から前記他者センサデータを受信する
ことを特徴とする請求項1~
3のうちいずれか1つに記載の端末装置。
【請求項5】
前記受信部は
、同一構内のLANを介して、前記他の端末装置から、前記他の端末装置のセンサにより収集された
前記他者センサデータを受信する
ことで、前記利用者と同一構内にいる前記他の利用者が所有する前記他の端末装置から前記他者センサデータを受信する
ことを特徴とする請求項1~
4のうちいずれか1つに記載の端末装置。
【請求項6】
前記受信部は、当該端末装置の周囲の前記他の端末装置に、当該端末装置に搭載されていないセンサにより収集される所定のセンサデータの有無を問い合わせ、周囲の前記端末装置が前記所定のセンサデータを持っている場合に、前記所定のセンサデータを要求し、応答として前記所定のセンサデータを受信する
ことを特徴とする請求項1~5のうちいずれか1つに記載の端末装置。
【請求項7】
前記受信部は、希望するセンサデータと前記利用者のコンテキストとの表明を行い、前記利用者とコンテキストが類似する前記他の利用者が所有する前記他の端末装置から前記他者センサデータを受信する
ことを特徴とする請求項1~6のうちいずれか1つに記載の端末装置。
【請求項8】
当該端末装置と前記他の端末装置との端末間でのセンサデータの伝送を一方向ではなく双方向で行い、端末間でセンサデータを共有する際に、当該端末装置と前記他の端末装置との端末間での認証を行う認証部
をさらに備えることを特徴とする請求項1~7のうちいずれか1つに記載の端末装置。
【請求項9】
前記送信部は、推論の結果としてられた推論結果を多次元のベクトルに変換したベクトルデータの形式で前記情報提供装置に送信し、
前記ベクトルデータは不可逆な情報であり、前記ベクトルデータのベクトル値から元のデータを復元することはできない
ことを特徴とする請求項1~8のうちいずれか1つに記載の端末装置。
【請求項10】
利用者が所有する端末装置が実行する情報処理方法であって、
当該端末装置のセンサにより自己センサデータを収集する取得工程と、
他の利用者が所有する他の端末装置から、前記他の端末装置のセンサにより収集された他者センサデータを受信する受信工程と、
前記自己センサデータと前記他者センサデータとを比較する比較工程と、
比較結果に応じて、前記自己センサデータと前記他者センサデータとのうち、より高性能なセンサにより計測され、他方よりも精度の高いセンサデータを採用する採用工程と、
連合学習を採用した情報提供装置から提供された共有モデルをベースとして、前記自己センサデータと前記他者センサデータ
とのうち前記採用工程により採用されたセンサデータを学習データとして
オンデバイス機械学習を行う
ことで独自の推論モデルを構築し、前記推論モデルと前記共有モデルとの差分パラメータを生成する学習工程と、
前記推論モデルを利用して入力データから推論を行う推論工程と、
推論の結果としてられた推論結果と、学習の結果として得られた前記推論モデルと前記共有モデルとの差分パラメータとを前記情報提供装置に送信する送信工程と、
を含むことを特徴とする情報処理方法。
【請求項11】
利用者が所有する端末装置に実行させるための情報処理プログラムであって、
当該端末装置のセンサにより自己センサデータを収集する取得手順と、
他の利用者が所有する他の端末装置から、前記他の端末装置のセンサにより収集された他者センサデータを受信する受信手順と、
前記自己センサデータと前記他者センサデータとを比較する比較手順と、
比較結果に応じて、前記自己センサデータと前記他者センサデータとのうち、より高性能なセンサにより計測され、他方よりも精度の高いセンサデータを採用する採用手順と、
連合学習を採用した情報提供装置から提供された共有モデルをベースとして、前記自己センサデータと前記他者センサデータ
とのうち前記採用手順により採用されたセンサデータを学習データとして
オンデバイス機械学習を行う
ことで独自の推論モデルを構築し、前記推論モデルと前記共有モデルとの差分パラメータを生成する学習手順と、
前記推論モデルを利用して入力データから推論を行う推論手順と、
推論の結果としてられた推論結果と、学習の結果として得られた前記推論モデルと前記共有モデルとの差分パラメータとを前記情報提供装置に送信する送信手順と、
を
端末装置に実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
サーバ装置に機械学習させるための教師データをサーバ装置へ送る技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の従来技術のように、機械学習はサーバ装置によって行われるのが一般的である。しかしながら、データに個人情報が含まれている場合、企業等の外部のサーバ装置へ送るのが好ましくないこともある。また、個人情報を含むデータの送受信には様々な制限があるため、自由に送受信することが容易ではないこともある。
【0005】
そのため、近年、フェデレーテッドラーニング(Federated Learning:連合学習)のように、データをサーバ装置に集約せずに個々の端末装置に分散した状態で機械学習を行うオンデバイス機械学習が注目されている。しかし、端末装置の形状や性能の影響を受けるセンサデータ等を用いて個々の端末装置で機械学習を行う場合、個々のユーザが所有する端末装置の機種や、搭載されているセンサの種類や性能によって計測結果に差が生じるという問題がある。
【0006】
本願は、上記に鑑みてなされたものであって、機械学習を行う個々の端末装置間でセンサデータを共有し、他の端末装置のセンサデータを用いて学習することを目的とする。
【課題を解決するための手段】
【0007】
本願に係る端末装置は、利用者が所有する端末装置であって、当該端末装置のセンサにより自己センサデータを収集する取得部と、他の利用者が所有する他の端末装置から、前記他の端末装置のセンサにより収集された他者センサデータを受信する受信部と、前記自己センサデータと前記他者センサデータとを比較する比較部と、比較結果に応じて、前記自己センサデータと前記他者センサデータとのうち、より高性能なセンサにより計測され、他方よりも精度の高いセンサデータを採用する採用部と、連合学習を採用した情報提供装置から提供された共有モデルをベースとして、前記自己センサデータと前記他者センサデータとのうち前記採用部により採用されたセンサデータを学習データとしてオンデバイス機械学習を行うことで独自の推論モデルを構築し、前記推論モデルと前記共有モデルとの差分パラメータを生成する学習部と、前記推論モデルを利用して入力データから推論を行う推論部と、推論の結果としてられた推論結果と、学習の結果として得られた前記推論モデルと前記共有モデルとの差分パラメータとを前記情報提供装置に送信する送信部と、を備えることを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、機械学習を行う個々の端末装置間でセンサデータを共有し、他の端末装置のセンサデータを用いて学習することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る情報処理方法の概要を示す説明図である。
【
図2】
図2は、実施形態に係る情報処理システムの構成例を示す図である。
【
図3】
図3は、実施形態に係る端末装置の構成例を示す図である。
【
図4】
図4は、実施形態に係る処理手順を示すシーケンス図である。
【
図5】
図5は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る端末装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る端末装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.情報処理方法の概要〕
まず、
図1を参照し、実施形態に係る情報処理装置が行う情報処理方法の概要について説明する。
図1は、実施形態に係る情報処理方法の概要を示す説明図である。なお、
図1では、機械学習を行う個々の端末装置間でセンサデータを共有し、他の端末装置のセンサデータを用いて学習する場合を例に挙げて説明する。
【0012】
図1に示すように、情報処理システム1は、端末装置10と情報提供装置100とを含む。端末装置10と情報提供装置100とは、それぞれネットワークN(
図2参照)を介して有線又は無線で互いに通信可能に接続される。
【0013】
端末装置10は、利用者U(ユーザ)により使用されるスマートフォンやタブレット等のスマートデバイスであり、4G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置10は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、利用者Uから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付ける。なお、画面のうち、コンテンツが表示されている領域上で行われた操作を、コンテンツに対する操作としてもよい。また、端末装置10は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
【0014】
情報提供装置100は、各利用者Uの端末装置10と連携し、各利用者Uの端末装置10に対して、各種アプリケーション(以下、アプリ)等に対するAPI(Application Programming Interface)サービス等と、各種データを提供する情報処理装置であり、サーバ装置やクラウドシステム等により実現される。
【0015】
また、情報提供装置100は、各利用者Uの端末装置10に対して、オンラインで何らかのWebサービスを提供する情報処理装置であってもよい。例えば、情報提供装置100は、Webサービスとして、インターネット接続、検索サービス、SNS(Social Networking Service)、電子商取引、電子決済、オンラインゲーム、オンラインバンキング、オンライントレーディング、宿泊・チケット予約、動画・音楽配信、ニュース、地図、ルート検索、経路案内、路線情報、運行情報、天気予報等のサービスを提供してもよい。実際には、情報提供装置100は、上記のようなWebサービスを提供する各種サーバと連携し、Webサービスを仲介してもよいし、Webサービスの処理を担当してもよい。
【0016】
図1に示すように、本実施形態では、情報提供装置100(サーバ側)は、フェデレーテッドラーニング(Federated Learning:連合学習)を採用し、各利用者Uの端末装置10(端末側)に共有モデル(コアモデル)を提供する(ステップS1)。
【0017】
端末装置10は、共有モデルをベースとして、当該端末装置10に搭載(又は接続)された各種センサを用いて収集したセンサデータ(利用者Uのコンテキスト情報)を学習データとしてオンデバイス機械学習を行うことでパターンを作り、そのパターンを利用して入力データから推論を行う(ステップS2)。
【0018】
続いて、端末装置10は、推論の結果としてられた推論結果と、学習の結果として得られた共有モデルとの差分パラメータとを情報提供装置100(サーバ側)に送信する(ステップS3)。このとき、端末装置10は、推論結果を多次元のベクトルに変換(ベクトル化)したベクトルデータの形式で送信してもよい。ベクトルデータは不可逆な情報であり、ベクトルデータのベクトル値から元のデータを復元することはできない。例えば、端末装置10は、いわゆるエンベディング(embedding:埋め込み)を行い、推論結果に基づくエンベディングベクトル(埋め込みベクトル)を生成してもよい。なお、送信データであるベクトルデータを暗号化して伝送することは技術常識の範疇で可能である。また、トンネリング(tunneling)により、端末側とサーバ側との間に閉じられた仮想的な直結回線を確立してもよい。例えば、端末側とサーバ側との間にVPN(Virtual Private Network)を構築してもよい。
【0019】
情報提供装置100は、各利用者Uの端末装置10から受信した推論結果の集計処理を行う(ステップS4)。集計処理には、統計や分析等の演算処理が含まれる。
【0020】
続いて、情報提供装置100は、各利用者Uの端末装置10から受信した差分パラメータに基づいて、共有モデルを修正する(ステップS5)。そして、情報提供装置100は、修正された共有モデル(又は以前の共有モデルとの差分パラメータ)を各利用者Uの端末装置10に提供する(ステップS1に戻る)。すなわち、情報提供装置100は、各利用者Uの端末装置10に提供した共有モデルを更新してグレードアップする。
【0021】
なお、情報提供装置100による共有モデルの更新が不要であれば、ステップS5の処理は実施しなくてもよい。この場合、ステップS3では、端末装置10は、推論結果のみ送信すればよい。
【0022】
このように、情報提供装置100(サーバ側)ではなく、端末装置10(端末側)がセンサデータを学習データとして機械学習を行っている場合、個々の利用者が所有する端末装置の機種や、搭載されているセンサの種類や性能等の違いによって、計測されるセンサデータにも違いが生じる場合がある。例えば、同じ場所にいる利用者や、同じ行動をとっている利用者であっても、端末装置の機種や、搭載されているセンサの種類や性能等によって、計測されるセンサデータの数や精度は大きく異なることがある。その結果、学習結果にも影響が出る可能性がある。したがって、同じ場所にいる利用者や、同じ行動をとっている利用者については、可能な限り、センサデータを均一化/均質化することが望ましい。
【0023】
ただし、センサデータも、個人の位置や行動及びコンテキストを推定できる情報であるため、全ての利用者間で無条件に共有するのは好ましくない場合もある。そのため、あらかじめ互いにセンサデータの共有を許可/同意した利用者同士(例えば、家族同士、友人同士等)で共有することや、相手が現在自分の目の前(同じ場所)にいるのでリアルタイムの位置情報やセンサデータを共有しても問題ないといった状況で共有すること等が望ましい。以下、利用者Uの周囲の端末装置は、利用者Uの端末装置10とのセンサデータの共有を許可/同意した他の利用者の端末装置を示す。
【0024】
本実施形態では、自動的に/周期的に、各利用者Uの端末装置10の間でセンサデータを共有する(ステップS6)。これにより、利用者Uの周囲の端末装置から収集したデータを、「当該利用者Uの端末装置10が取得したデータ」とみなして学習を行う。このとき、各利用者Uの端末装置10のうち、第1の利用者U(U1)の端末装置10(10A)は、第2の利用者U(U2)の端末装置10(10B)へセンサデータを伝送する。
【0025】
例えば、第2の利用者U(U2)の端末装置10(10B)は、自動的に/周期的に、ブロードキャストでセンサデータを要求し、第1の利用者U(U1)の端末装置10(10A)が応答としてセンサデータを送信する。この場合、利用者Uの端末装置10は、周囲の端末装置に所定のセンサデータの有無を問い合わせ、周囲の端末装置がそのセンサデータを持っている場合に、そのセンサデータを要求してもよい。また、利用者Uの端末装置10は、希望するセンサデータと利用者Uのコンテキストとの表明を行い、当該利用者Uとコンテキストが類似する他の利用者の端末装置からそのセンサデータを受信してもよい。
【0026】
例えば、利用者Uの端末装置10は、温度センサがない場合、周囲の端末装置に対して、「温度センサのデータをください」といった要求をブロードキャストする。その要求に応じて、周囲の端末装置が温度センサのデータを利用者Uの端末装置10に送信する。なお、温度センサは一例に過ぎない。また、複数のセンサのデータを要求してもよい。また、無条件に全てのセンサのデータを要求してもよい。
【0027】
また、利用者Uの端末装置10は、利用者Uが歩いているときのセンサデータはあるが、利用者Uが走っているときのセンサデータがない場合には、「利用者が走っているときのセンサデータをください」といった要求をブロードキャストする。その要求に応じて、周囲の端末装置がその端末装置の利用者が走っているときのセンサデータを利用者Uの端末装置10に送信する。
【0028】
また、利用者Uの端末装置10は、利用者Uが所定の場所(店舗、地点等)にいるときのセンサデータが少ない場合には、学習データの不足を補うため、「利用者が当該場所にいるときのデータをください」といった情報をブロードキャストして、周囲の端末装置からその端末装置の利用者が当該場所にいるときのセンサデータを受信する。
【0029】
なお、第1の利用者U(U1)の端末装置10(10A)は、自動的に/周期的に、第2の利用者U(U2)の端末装置10(10B)へ、P2P(Peer to Peer)でセンサデータを渡すようにしてもよい。あるいは、同じアプリ(ゲーム、決済アプリ等)を起動している利用者や、同じ行動を取っている利用者の端末装置間でセンサデータを渡すようにしてもよい。なお、双方の利用者が同じアプリを使用している場合、当該アプリを介して利用者の端末装置間でセンサデータを渡すようにしてもよい。
【0030】
また、第1の利用者U(U1)の端末装置10(10A)は、自動的に/周期的に、端末装置10(10A)は端末装置10(10B)へ、Bluetooth(登録商標)又は無線LAN(Local Area Network)等の近距離無線通信でセンサデータを伝送してもよい。なお、いわゆる「すれ違い通信」でセンサデータを伝送してもよい。近距離通信で通信可能なほど近くにいる利用者の端末装置から収集したデータであれば、その時点でのセンサデータは共通であると推測される。
【0031】
あるいは、第1の利用者U(U1)の端末装置10(10A)は、自動的に/周期的に、第2の利用者U(U2)の端末装置10(10B)へ、家庭内LANを介してセンサデータを伝送してもよい。例えば、第1の利用者U(U1)の端末装置10(10A)は、第2の利用者U(U2)の端末装置10(10B)へ、スマートホームのようなハブや家庭内ルータ(利用者Uが管理するローカルな中継機器)、又は個人所有のPCや自宅サーバ(ホームサーバ)等を介してセンサデータを伝送してもよい。このとき、利用者Uは、端末装置10(10A)からスマートホームのようなハブや家庭内ルータ(利用者Uが管理するローカルな中継機器)、あるいは個人所有のPCや自宅サーバ等にセンサデータをバックアップしてもよい。なお、端末装置10(10A)からのセンサデータのバックアップは、センサデータを取得した際にリアルタイムで行われてもよい(リアルタイム対応)。そして、端末装置10(10B)は、バックアップされたセンサデータを取得してもよい。同じ家庭内にいる家族等の端末装置から収集したデータであれば、家庭内でのセンサデータは共通であると推測される。なお、家族は一例に過ぎない。例えば、同一構内にいる職場の同僚やグループのメンバー等であってもよいし、同一施設内にいる従業員及び利用客等であってもよい。
【0032】
あるいは、利用者Uは、端末装置10(10A)においてセンサデータを自分でのみ解凍できる形式のファイルに圧縮して、圧縮されたファイルを端末装置10(10B)側でダウンロードして解凍してもよい。例えば、端末装置10(10A)は、センサデータを秘密鍵で暗号化し、暗号化されたセンサデータとともに公開鍵を端末装置10(10B)にのみ提供するようにしてもよい。なお、実際には、第1の利用者U(U1)の端末装置10(10A)は、第2の利用者U(U2)の端末装置10(10B)へ、閉域網(クローズドネットワーク:closed network)を介してセンサデータを渡してもよい。
【0033】
このように、各利用者Uが所有するデバイス間でセンサデータを伝送/共有する方法は、P2Pでも、家庭内LAN(ホームハブ形式)でも、ファイル圧縮型でもよい。
【0034】
ここで、各利用者Uが所有するデバイス間でセンサデータを伝送/共有する際に、第1の利用者U(U1)の端末装置10(10A)と第2の利用者U(U2)の端末装置10(10B)との間で認証を行うようにしてもよい。認証は、FIDO(Fast Identity Online)認証であってもよい。そして、認証に成功した場合にのみ、第1の利用者U(U1)の端末装置10(10A)は、第2の利用者U(U2)の端末装置10(10B)へセンサデータを伝送する。なお、送信されるセンサデータを暗号化して伝送することは技術常識の範疇で可能である。
【0035】
また、実際には、第2の利用者U(U2)の端末装置10(10B)も、第1の利用者U(U1)の端末装置10(10A)へ、自身のセンサデータを伝送することができる。すなわち、端末間でのセンサデータの伝送は、一方向ではなく双方向で行うことができる。この場合、第1の利用者U(U1)の端末装置10(10A)も、第2の利用者U(U2)の端末装置10(10B)と同様の処理を行う。
【0036】
さらに、各利用者Uの端末装置10の間で、センサデータだけでなく、学習済みのモデルも共有してもよい。例えば、第1の利用者U(U1)の端末装置10(10A)は、第2の利用者U(U2)の端末装置10(10B)へ、当該センサデータだけでなく、当該センサデータを学習データとして学習したモデルを伝送してもよい。
【0037】
本実施形態では、各利用者Uの端末装置10のうち、第2の利用者U(U2)の端末装置10(10B)は、第1の利用者U(U1)の端末装置10(10A)のセンサデータと、第2の利用者U(U2)の端末装置10(10B)のセンサデータとを比較する(ステップS7)。
【0038】
ここで、比較の対象となるセンサデータは、同じ(又は近い)時間及び位置で計測されたセンサデータ(すなわち、位置情報やロケーション履歴が共通のセンサデータ)であることが望ましい。そのため、第2の利用者U(U2)の端末装置10(10B)は、位置情報を基準として、第1の利用者U(U1)の端末装置10(10A)のセンサデータと、第2の利用者U(U2)の端末装置10(10B)のセンサデータとを比較する。この場合、位置情報とセンサデータとは紐づけられている。なお、時間情報をキーとして位置情報とセンサデータとが紐づけられていてもよい。また、実際には、センサデータの中に、測位された位置情報と、他のセンサでの計測データとが含まれていてもよい。
【0039】
但し、利用者Uの端末装置10は、リアルタイムのセンサデータを使用する場合には、位置情報や時間情報に関係なく、収集した時点での自他のリアルタイムのセンサデータを比較してもよい。
【0040】
続いて、第2の利用者U(U2)の端末装置10(10B)は、第1の利用者U(U1)の端末装置10(10A)のセンサデータのうち、当該端末装置10(10B)のセンサデータに含まれていないデータ(当該端末装置に搭載されていないセンサの計測データ)や、当該端末装置10(10B)のセンサデータよりも精度の高いデータ(より高性能なセンサの計測データ)を採用する(ステップS8)。
【0041】
このとき、第2の利用者U(U2)の端末装置10(10B)は、第1の利用者U(U1)の端末装置10(10A)のセンサデータと、当該端末装置10(10B)のセンサデータとの差分から、当該端末装置10(10B)のセンサデータに含まれていないデータや、当該端末装置10(10B)のセンサデータよりも精度の高いデータを判定してもよい。例えば、端末装置10(10B)は、第1の利用者U(U1)の端末装置10(10A)のセンサデータのうち、当該端末装置10(10B)のセンサデータから欠落しているデータや、当該端末装置10(10B)のセンサデータよりも数値の小数点以下の桁数が多いデータ(詳細なデータ)等を採用してもよい。
【0042】
あるいは、第2の利用者U(U2)の端末装置10(10B)は、第1の利用者U(U1)の端末装置10(10A)のセンサデータとともに、端末装置10(10A)に関する情報を取得し、端末装置10(10A)に関する情報と、当該端末装置10(10B)に関する情報とに基づいて、当該端末装置10(10B)のセンサデータに含まれていないデータや、当該端末装置10(10B)のセンサデータよりも精度の高いデータを判定してもよい。端末装置10に関する情報は、例えば端末装置10の機種情報や、端末装置10に搭載されているセンサに関する情報等である。
【0043】
続いて、第2の利用者U(U2)の端末装置10(10B)は、第1の利用者U(U1)の端末装置10(10A)のセンサデータと、第2の利用者U(U2)の端末装置10(10B)のセンサデータとのうち、採用されたセンサデータを学習データとしてオンデバイス機械学習を行い、学習結果に基づいて推論する(ステップS9)。
【0044】
これにより、利用者Uの端末装置10は、機械学習を行う個々の端末装置間でセンサデータを共有し、他の端末装置のセンサデータを用いて学習することができる。特に、自身の端末装置にはないセンサを持つ他の端末装置のセンサデータを用いて学習することができる。また、自他の端末装置のセンサデータを比較してより優れたセンサデータを用いて学習することができる。
【0045】
なお、上記の説明では、自他のセンサデータを比較し、他の端末装置10から収集したセンサデータのうち、当該端末装置10のセンサデータに含まれていないデータや、当該端末装置10のセンサデータよりも精度の高いデータを採用しているが、実際には、比較せずに自他のセンサデータをそのまま全て学習データとして用いて機械学習をしてもよい。
【0046】
また、利用者Uの端末装置10は、他の端末装置10からセンサデータを収集できない場合には、自己のセンサデータのみを学習データとして用いて機械学習を実施する。あるいは、利用者Uの端末装置10は、他の端末装置10からセンサデータを収集できない場合には機械学習を実施せず、他の端末装置10からセンサデータを収集できた場合にのみ上記の手順で機械学習を実施するようにしてもよい。
【0047】
〔2.情報処理システムの構成例〕
次に、
図2を用いて、実施形態に係る情報提供装置100が含まれる情報処理システム1の構成について説明する。
図2は、実施形態に係る情報処理システム1の構成例を示す図である。
図2に示すように、実施形態に係る情報処理システム1は、端末装置10と情報提供装置100とを含む。
図2では、端末装置10として、第1の利用者U(U1)の端末装置10(10A)と、第2の利用者U(U2)の端末装置10(10B)とを示す。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。ネットワークNは、例えば、LAN(Local Area Network)や、インターネット等のWAN(Wide Area Network)である。
【0048】
また、
図2に示す情報処理システム1に含まれる各装置の数は図示したものに限られない。例えば、
図2では、図示の簡略化のため、端末装置10として、第1の利用者U(U1)の端末装置10(10A)と、第2の利用者U(U2)の端末装置10(10B)とを1台ずつ示したが、これはあくまでも例示であって限定されるものではなく、それぞれ2台以上であってもよい。例えば、第1の利用者U(U1)の端末装置10(10A)と、第2の利用者U(U2)の端末装置10(10B)とは、利用者ごとに存在していてもよい。
【0049】
端末装置10は、利用者Uによって使用される情報処理装置である。例えば、端末装置10は、スマートフォンやタブレット端末等のスマートデバイス、フィーチャーフォン、PC(Personal Computer)、PDA(Personal Digital Assistant)、通信機能を備えたゲーム機やAV機器、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートグラス、スマートスピーカ、カメラ等である。但し、実際には、これらの例に限定されない。
【0050】
また、かかる端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、情報提供装置100と通信することができる。
【0051】
情報提供装置100は、例えばPCやサーバ装置、あるいはメインフレーム又はワークステーション等である。なお、情報提供装置100は、クラウドコンピューティングにより実現されてもよい。
【0052】
〔3.端末装置の構成例〕
次に、
図3を用いて、端末装置10の構成について説明する。
図3は、端末装置10の構成例を示す図である。
図3に示すように、端末装置10は、通信部11と、表示部12と、入力部13と、測位部14と、センサ部20と、制御部30(コントローラ)と、記憶部40とを備える。
【0053】
(通信部11)
通信部11は、ネットワークN(
図2参照)と有線又は無線で接続され、ネットワークNを介して、情報提供装置100との間で情報の送受信を行う。例えば、通信部11は、NIC(Network Interface Card)やアンテナ等によって実現される。
【0054】
(表示部12)
表示部12は、位置情報等の各種情報を表示する表示デバイスである。例えば、表示部12は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescent Display)である。また、表示部12は、タッチパネル式のディスプレイであるが、これに限定されるものではない。
【0055】
(入力部13)
入力部13は、利用者Uから各種操作を受け付ける入力デバイスである。例えば、入力部13は、文字や数字等を入力するためのボタン等を有する。なお、入力部13は、入出力ポート(I/O port)やUSB(Universal Serial Bus)ポート等であってもよい。また、表示部12がタッチパネル式のディスプレイである場合、表示部12の一部が入力部13として機能する。また、入力部13は、利用者Uから音声入力を受け付けるマイク等であってもよい。マイクはワイヤレスであってもよい。
【0056】
(測位部14)
測位部14は、GPS(Global Positioning System)の衛星から送出される信号(電波)を受信し、受信した信号に基づいて、自装置である端末装置10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。すなわち、測位部14は、端末装置10の位置を測位する。なお、GPSは、GNSS(Global Navigation Satellite System)の一例に過ぎない。
【0057】
また、測位部14は、GPS以外にも、種々の手法により位置を測位することができる。例えば、測位部14は、位置補正等のための補助的な測位手段として、下記のように、端末装置10の様々な通信機能を利用して位置を測位してもよい。
【0058】
(Wi-Fi測位)
例えば、測位部14は、端末装置10のWi-Fi(登録商標)通信機能や、各通信会社が備える通信網を利用して、端末装置10の位置を測位する。具体的には、測位部14は、Wi-Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、端末装置10の位置を測位する。
【0059】
(ビーコン測位)
また、測位部14は、端末装置10のBluetooth(登録商標)機能を利用して位置を測位してもよい。例えば、測位部14は、Bluetooth(登録商標)機能によって接続されるビーコン(beacon)発信機と接続することにより、端末装置10の位置を測位する。
【0060】
(地磁気測位)
また、測位部14は、予め測定された構造物の地磁気のパターンと、端末装置10が備える地磁気センサとに基づいて、端末装置10の位置を測位する。
【0061】
(RFID測位)
また、例えば、端末装置10が駅改札や店舗等で使用される非接触型ICカードと同等のRFID(Radio Frequency Identification)タグの機能を備えている場合、もしくはRFIDタグを読み取る機能を備えている場合、端末装置10によって決済等が行われた情報とともに、使用された位置が記録される。測位部14は、かかる情報を取得することで、端末装置10の位置を測位してもよい。また、位置は、端末装置10が備える光学式センサや、赤外線センサ等によって測位されてもよい。
【0062】
測位部14は、必要に応じて、上述した測位手段の一つ又は組合せを用いて、端末装置10の位置を測位してもよい。
【0063】
(センサ部20)
センサ部20は、端末装置10に搭載又は接続される各種のセンサを含む。なお、接続は、有線接続、無線接続を問わない。例えば、センサ類は、ウェアラブルデバイスやワイヤレスデバイス等、端末装置10以外の検知装置であってもよい。
図3に示す例では、センサ部20は、加速度センサ21と、ジャイロセンサ22と、気圧センサ23と、気温センサ24と、音センサ25と、光センサ26と、磁気センサ27と、画像センサ(カメラ)28とを備える。
【0064】
なお、上記した各センサ21~28は、あくまでも例示であって限定されるものではない。すなわち、センサ部20は、各センサ21~28のうちの一部を備える構成であってもよいし、各センサ21~28に加えてあるいは代えて、湿度センサ等その他のセンサを備えてもよい。
【0065】
加速度センサ21は、例えば、3軸加速度センサであり、端末装置10の移動方向、速度、及び、加速度等の端末装置10の物理的な動きを検知する。ジャイロセンサ22は、端末装置10の角速度等に基づいて3軸方向の傾き等の端末装置10の物理的な動きを検知する。気圧センサ23は、例えば端末装置10の周囲の気圧を検知する。
【0066】
端末装置10は、上記した加速度センサ21やジャイロセンサ22、気圧センサ23等を備えることから、これらの各センサ21~23等を利用した歩行者自律航法(PDR:Pedestrian Dead-Reckoning)等の技術を用いて端末装置10の位置を測位することが可能になる。これにより、GPS等の測位システムでは取得することが困難な屋内での位置情報を取得することが可能になる。
【0067】
例えば、加速度センサ21を利用した歩数計により、歩数や歩くスピード、歩いた距離を算出することができる。また、ジャイロセンサ22を利用して、利用者Uの進行方向や視線の方向、体の傾きを知ることができる。また、気圧センサ23で検知した気圧から、利用者Uの端末装置10が存在する高度やフロアの階数を知ることもできる。
【0068】
気温センサ24は、例えば端末装置10の周囲の気温を検知する。音センサ25は、例えば端末装置10の周囲の音を検知する。光センサ26は、端末装置10の周囲の照度を検知する。磁気センサ27は、例えば端末装置10の周囲の地磁気を検知する。画像センサ28は、端末装置10の周囲の画像を撮像する。
【0069】
上記した気圧センサ23、気温センサ24、音センサ25、光センサ26及び画像センサ28は、それぞれ気圧、気温、音、照度を検知したり、周囲の画像を撮像したりすることで、端末装置10の周囲の環境や状況等を検知することができる。また、端末装置10の周囲の環境や状況等から、端末装置10の位置情報の精度を向上させることが可能になる。
【0070】
(制御部30)
制御部30は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM、入出力ポート等を有するマイクロコンピュータや各種の回路を含む。また、制御部30は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路等のハードウェアで構成されてもよい。制御部30は、送信部31と、受信部32と、処理部33、学習部34と、取得部35と、比較部36と、採用部37とを備える。
【0071】
(送信部31)
送信部31は、通信部11を介して、オンデバイス機械学習に基づく推論の結果として得られた推論結果と、学習の結果として得られた共有モデルとの差分パラメータとを情報提供装置100(サーバ側)に送信する。
【0072】
また、送信部31は、通信部11を介して、又は近距離無線通信により、自身が収集したセンサデータを他の利用者Uが所有する他の端末装置10に送信する。例えば、送信部31は、当該端末装置10が第1の利用者U(U1)の端末装置10(10A)である場合、通信部11を介して、又は近距離無線通信により、自身の端末装置10(10A)が収集したセンサデータを第2の利用者U(U2)の端末装置10(10B)に送信する。
【0073】
すなわち、送信部31は、通信部11を介して、他の利用者Uが所有する他の端末装置10へ、当該端末装置10に搭載されたセンサにより収集されたセンサデータを送信する。例えば、送信部31は、通信部11を介して、当該端末装置10とはセンサの数又は性能が異なる他の端末装置10へ、当該端末装置10に搭載されたセンサにより収集されたセンサデータを送信する。また、送信部31は、通信部11を介して、他の利用者Uが所有する他の端末装置10へ、センサデータを学習データとして学習したモデルを送信してもよい。
【0074】
また、送信部31は、通信部11を介して、他の利用者Uが所有する他の端末装置10へ、P2P、家庭内LAN又は閉域網を利用して、外部へ流出させることなく、当該端末装置10に搭載されたセンサにより収集されたセンサデータを送信する。
【0075】
(受信部32)
受信部32は、通信部11を介して、情報提供装置100から提供される共有モデルを受信する。また、受信部32は、通信部11を介して、情報提供装置100から、修正された共有モデル(又は以前の共有モデルとの差分パラメータ)を受信する。
【0076】
また、受信部32は、通信部11を介して、又は近距離無線通信により、他の利用者Uが所有する他の端末装置10からセンサデータを受信する。例えば、受信部32は、当該端末装置10が第2の利用者U(U2)の端末装置10(10B)である場合、通信部11を介して、又は近距離無線通信により、第1の利用者U(U1)の端末装置10(10A)のセンサデータを受信する。
【0077】
すなわち、受信部32は、通信部11を介して、他の利用者Uが所有する他の端末装置10から、他の端末装置10に搭載されたセンサにより収集されたセンサデータを受信する。また、受信部32は、通信部11を介して、当該端末装置10とはセンサの数又は性能が異なる他の端末装置10から、他の端末装置10に搭載されたセンサにより収集されたセンサデータを受信する。また、受信部32は、通信部11を介して、他の利用者Uが所有する他の端末装置10から、センサデータを学習データとして学習したモデルを受信してもよい。
【0078】
また、受信部32は、通信部11を介して、他の利用者Uが所有する他の端末装置10から、P2P、家庭内LAN又は閉域網を利用して、外部へ流出させることなく、他の端末装置10に搭載されたセンサにより収集されたセンサデータを受信する。
【0079】
このように、受信部32は、他の利用者Uが所有する他の端末装置10から、他の端末装置10のセンサにより収集された他者センサデータを受信する。このとき、受信部32は、近距離無線通信又は同一構内のLANを介して、他の端末装置10から、他の端末装置10のセンサにより収集された他者センサデータを受信してもよい。また、受信部32は、他の端末装置10から、他の端末装置10のセンサによりリアルタイムで収集された他者センサデータを受信してもよい。
【0080】
(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部31によって送信される各種情報や、受信部32によって受信された情報提供装置100からの各種情報を表示部12へ出力して表示させることができる。
【0081】
また、処理部33は、修正された共有モデル(又は以前の共有モデルとの差分パラメータ)に基づいて、現在の共有モデルを更新してグレードアップする。
【0082】
(学習部34)
学習部34は、共有モデルをベースとして、端末装置10のセンサデータを学習データとしてオンデバイス機械学習を行う。これにより、学習部34は、共有モデルをベースとした独自の推論モデルを構築し、推論モデルと共有モデルとの差分パラメータを生成する。すなわち、学習部34は、センサデータを学習データとして機械学習を行う。
【0083】
本実施形態では、学習部34は、他者センサデータを学習データとして機械学習を行う。例えば、学習部34は、自己センサデータと他者センサデータとを学習データとして機械学習を行う。このとき、学習部34は、自己センサデータと他者センサデータとのうち採用されたセンサデータを学習データとして機械学習を行う。
【0084】
(取得部35)
取得部35は、利用者Uが所有する端末装置10に搭載されたセンサによりセンサデータを収集する。すなわち、取得部35は、当該端末装置10のセンサにより自己センサデータを収集する。例えば、取得部35は、入力部13を用いて利用者Uにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって計測された各種センサデータ、測位部14によって測位された端末装置10の位置情報等を、センサデータとして収集する。
【0085】
(比較部36)
比較部36は、自己センサデータと他者センサデータとを比較する。このとき、比較部36は、位置情報を基準として、自己センサデータと他者センサデータとを比較してもよい。
【0086】
(採用部37)
採用部37は、比較結果に応じて、自己センサデータと他者センサデータとのうちいずれか一方のセンサデータ(好適なセンサデータ)を採用する。このとき、採用部37は、自己センサデータに含まれていないデータを有する他者センサデータを採用する。例えば、採用部37は、他の端末装置10に搭載されているが当該端末装置10には搭載されていないセンサにより収集された他者センサデータを採用する。また、採用部37は、自己センサデータよりも精度の高い他者センサデータを採用する。
【0087】
(記憶部40)
記憶部40は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置によって実現される。かかる記憶部40には、各種プログラムや各種データ等が記憶される。
【0088】
本実施形態では、記憶部40は、モデル41と、自己センサデータ42と、他者センサデータ43と、採用規則44とを記憶する。
【0089】
モデル41は、情報提供装置100から提供された共有モデルや、センサデータを学習データとしてオンデバイス機械学習を行った結果として得られた推論モデル等である。
【0090】
また、自己センサデータ42は、当該端末装置10により収集されたセンサデータである。例えば、自己センサデータ42は、入力部13を用いて利用者Uにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって計測された各種センサデータ、測位部14によって測位された端末装置10の位置情報等である。また、自己センサデータ42は、利用者Uの属性情報や、利用者Uの行動を示す各種履歴情報(ログデータ)を含んでいてもよい。また、自己センサデータ42は、利用者Uの端末装置10に関する各種情報を含んでいてもよい。
【0091】
また、他者センサデータ43は、他の利用者Uが所有する他の端末装置10から収集したセンサデータである。すなわち、他者センサデータ43は、他の利用者Uが所有する他の端末装置10により収集されたセンサデータである。
【0092】
また、採用規則44は、自己センサデータ42と、他者センサデータ43とのいずれか一方を採用する際の規則(ルール)を示す。例えば、他者センサデータ43のうち、自己センサデータ42に含まれていないデータ(当該端末装置に搭載されていないセンサの計測データ)や、自己センサデータ42よりも精度の高いデータ(より高性能なセンサの計測データ)を採用するといった規則を示す。なお、採用規則44は、他者センサデータ43(及び自己センサデータ42)と採用されたセンサデータとを学習データとした機械学習により得られた採用モデルであってもよい。この場合、他者センサデータ43(及び自己センサデータ42)を入力データとして採用モデルに入力することで、出力として得られたセンサデータを採用してもよい。
【0093】
なお、記憶部40は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、記憶部40は、利用者Uのデモグラフィック(人口統計学的属性)、サイコグラフィック(心理学的属性)、ジオグラフィック(地理学的属性)、ベヘイビオラル(行動学的属性)等の属性に関する情報を記憶してもよい。例えば、記憶部40は、氏名、家族構成、出身地(地元)、職業、職位、収入、資格、居住形態(戸建、マンション等)、車の有無、通学・通勤時間、通学・通勤経路、定期券区間(駅、路線等)、利用頻度の高い駅(自宅・勤務地の最寄駅以外)、習い事(場所、時間帯等)、趣味、興味、ライフスタイル等の情報を記憶してもよい。また、記憶部40は、利用者Uの位置や日時の履歴である位置履歴、利用者Uが入力した検索クエリの履歴である検索履歴、利用者Uが閲覧したコンテンツの履歴である閲覧履歴、利用者Uの商品購入や決済処理の履歴である購入履歴(決済履歴)、利用者Uのマーケットプレイスへの出品の履歴である出品履歴や販売履歴、利用者Uの投稿の履歴である投稿履歴等を記憶してもよい。また、記憶部40は、利用者Uが端末装置10にインストールした各種アプリの利用履歴や、利用者Uの端末装置10を用いた決済(電子決済)での決済履歴等を記憶してもよい。これらの情報は、センサデータとともに学習データとして使用可能である。
【0094】
〔4.処理手順〕
次に、
図4を用いて実施形態に係る端末装置10による処理手順について説明する。
図4は、実施形態に係る処理手順を示すシーケンス図である。なお、以下に示す処理手順は、端末装置10の制御部30によって繰り返し実行される。ここでは、端末装置10と表記した処理は、第1の利用者U(U1)の端末装置10(10A)と、第2の利用者U(U2)の端末装置10(10B)とに共通の処理を示す。
【0095】
図4に示すように、端末装置10の取得部35は、当該端末装置10に搭載されたセンサによりセンサデータ(自己センサデータ)を収集する(ステップS101)。例えば、取得部35は、入力部13を用いて利用者Uにより入力された各種情報や、当該端末装置10に搭載又は接続された各センサ21~28によって計測された各種センサデータ、測位部14によって測位された当該端末装置10の位置情報等を、センサデータとして収集する。
【0096】
続いて、端末装置10の送信部31は、通信部11を介して、センサデータを他の利用者Uの所有する他の端末装置10に送信する(ステップS102)。例えば、第1の利用者U(U1)の端末装置10(10A)の送信部31は、通信部11を介して、センサデータを第2の利用者U(U2)の端末装置10(10B)に送信する。このとき、端末装置10Bの受信部32は、通信部11を介して、端末装置10Aのセンサデータ(他者センサデータ)を受信する。逆も同様である。すなわち、端末装置10Aと端末装置10Bとの間でセンサデータを共有する。なお、端末装置10の処理部33は、センサデータを暗号化してもよい。この場合、送信部31は、暗号化されたセンサデータとともに、復号鍵(公開鍵等)を他の端末装置10に送信してもよい。また、デバイス間でセンサデータを伝送する方法は、P2Pでも、家庭内LAN(ホームハブ形式)でも、ファイル圧縮型でもよい。
【0097】
続いて、端末装置10の比較部36は、自己センサデータと他者センサデータとを比較する(ステップS103)。このとき、比較部36は、位置情報に基づいて、自己センサデータと他者センサデータとを比較してもよい。なお、比較部36は、近距離無線通信又は同一構内のLANを介して他者センサデータを受信した場合や、リアルタイムに収集されたセンサデータを比較する場合には、位置情報に関係なく、自己センサデータと他者センサデータとをそのまま比較してもよい。
【0098】
続いて、端末装置10の採用部37は、比較結果に応じて、自己センサデータと他者センサデータとのうちいずれか一方のセンサデータ(好適なセンサデータ)を採用する(ステップS104)。例えば、採用部37は、自己センサデータに含まれていないデータを有する他者センサデータを採用する。具体的には、採用部37は、他の端末装置10に搭載されているが当該端末装置10には搭載されていないセンサにより収集された他者センサデータを採用する。また、採用部37は、自己センサデータよりも精度の高い他者センサデータを採用する。本実施形態では、採用部37は、他の端末装置10から収集したセンサデータのうち、当該端末装置10のセンサデータに含まれていないデータや、当該端末装置10のセンサデータよりも精度の高いデータを採用する。
【0099】
続いて、端末装置10Aの学習部34は、共有モデルをベースとして、採用されたセンサデータを学習データとしてオンデバイス機械学習を行う(ステップS105)。なお、端末装置10Aの受信部32は、通信部11を介して、情報提供装置100(サーバ側)から提供された共有モデルを受信してもよい。また、端末装置10Aの送信部31は、通信部11を介して、学習結果としての共有モデルとの差分パラメータや、推論結果を情報提供装置100(サーバ側)に送信してもよい。本実施形態では、学習部34は、比較結果に応じて採用されたセンサデータを学習データとしてオンデバイス機械学習を行っているが、実際には、比較結果に関係なく、自他のセンサデータをそのまま全て学習データとして用いて学習してもよい。
【0100】
〔5.変形例〕
上述した端末装置10及び情報提供装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
【0101】
上記の実施形態において、情報提供装置100が実行している処理の一部又は全部は、実際には、端末装置10が実行してもよい。例えば、スタンドアローン(Stand-alone)で(端末装置10単体で)処理が完結してもよい。この場合、端末装置10に、上記の実施形態における情報提供装置100の機能が備わっているものとする。また、上記の実施形態では、端末装置10は情報提供装置100と連携しているため、利用者Uから見れば、情報提供装置100の処理も端末装置10が実行しているように見える。すなわち、他の観点では、端末装置10は、情報提供装置100を備えているともいえる。
【0102】
また、上記の実施形態において、機械学習を行う個々の端末装置間でセンサデータを共有する事例について説明しているが、実際には、利用者Uの端末装置10は、他の利用者が所有する他の端末装置以外の外部装置からセンサデータを取得してもよい。例えば、利用者Uの端末装置10は、街頭や店頭に設置された固定端末装置からセンサデータを取得してもよいし、街中を移動する車両等の移動体からセンサデータを取得してもよい。街頭や店頭に設置された固定端末装置の例として、店頭設置端末、デジタルサイネージ(電子看板)、基地局又はアクセスポイント等がある。この場合、これらの外部装置が、他の利用者が所有する他の端末装置に相当する。
【0103】
また、上記の実施形態において、端末装置10は、オンデバイスAI(Artificial Intelligence:人工知能)によりカメラ機能の高機能化を実現したスマートフォン等であってもよい。また、端末装置10は、オンデバイスAIを搭載したロボットや自動運転車、ドローン等であってもよい。
【0104】
〔6.効果〕
上述してきたように、本願に係る端末装置10は、他の利用者Uが所有する他の端末装置10から、他の端末装置10のセンサにより収集された他者センサデータを受信する受信部32と、他者センサデータを学習データとして機械学習を行う学習部34と、を備えることを特徴とする。
【0105】
また、本願に係る端末装置10は、利用者Uが所有する当該端末装置10のセンサにより自己センサデータを収集する取得部35と、をさらに備える。そして、学習部34は、自己センサデータと他者センサデータとを学習データとして機械学習を行う。
【0106】
また、本願に係る端末装置10は、自己センサデータと他者センサデータとを比較する比較部36と、比較結果に応じて、自己センサデータと他者センサデータとのうちいずれか一方のセンサデータを採用する採用部37と、をさらに備える。そして、学習部34は、採用されたセンサデータを学習データとして機械学習を行う。
【0107】
また、比較部36は、位置情報を基準として、自己センサデータと他者センサデータとを比較する。
【0108】
また、採用部37は、自己センサデータに含まれていないデータを有する他者センサデータを採用する。
【0109】
また、採用部37は、他の端末装置10に搭載されているが当該端末装置10には搭載されていないセンサにより収集された他者センサデータを採用する。
【0110】
また、採用部37は、自己センサデータよりも精度の高い他者センサデータを採用する。
【0111】
また、受信部32は、近距離無線通信又は同一構内のLANを介して、他の端末装置10から、他の端末装置10のセンサにより収集された他者センサデータを受信する。
【0112】
また、受信部32は、他の端末装置10から、他の端末装置10のセンサによりリアルタイムで収集された他者センサデータを受信する。
【0113】
上述した各処理のいずれかもしくは組合せにより、本願に係る端末装置は、機械学習を行う個々の端末装置間でセンサデータを共有し、他の端末装置のセンサデータを用いて学習することができる。
【0114】
〔7.ハードウェア構成〕
また、上述した実施形態に係る端末装置10や情報提供装置100は、例えば
図5に示すような構成のコンピュータ1000によって実現される。以下、端末装置10を例に挙げて説明する。
図5は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
【0115】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
【0116】
一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USB(Universal Serial Bus)メモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。
【0117】
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェースであり、例えば、USB等により実現される。
【0118】
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
【0119】
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
【0120】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
【0121】
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0122】
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0123】
例えば、コンピュータ1000が端末装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部30の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
【0124】
〔8.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【0125】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0126】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0127】
例えば、上述した情報提供装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。
【0128】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0129】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、制御部は、制御手段や制御回路に読み替えることができる。
【符号の説明】
【0130】
1 情報処理システム
10 端末装置
11 通信部
14 測位部
20 センサ部
30 制御部
31 送信部
32 受信部
33 処理部
34 学習部
35 取得部
36 比較部
37 採用部
40 記憶部
100 情報提供装置