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

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

▶ 株式会社日立製作所の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-18
(45)【発行日】2024-12-26
(54)【発明の名称】情報処理システム
(51)【国際特許分類】
   G06N 3/045 20230101AFI20241219BHJP
   G06N 3/044 20230101ALI20241219BHJP
   G06N 3/0464 20230101ALI20241219BHJP
   G06N 10/00 20220101ALI20241219BHJP
【FI】
G06N3/045
G06N3/044 100
G06N3/0464
G06N10/00
【請求項の数】 14
(21)【出願番号】P 2020163303
(22)【出願日】2020-09-29
(65)【公開番号】P2022055720
(43)【公開日】2022-04-08
【審査請求日】2023-03-02
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】大島 俊
(72)【発明者】
【氏名】高浦 則克
(72)【発明者】
【氏名】山岡 雅直
(72)【発明者】
【氏名】笹子 佳孝
【審査官】児玉 崇晶
(56)【参考文献】
【文献】国際公開第2020/101457(WO,A2)
【文献】特開2017-157215(JP,A)
【文献】特開2020-035179(JP,A)
【文献】特開2020-027375(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/04
G06N 3/044
G06N 3/045
G06N 3/0464
G06N 10/00
(57)【特許請求の範囲】
【請求項1】
親デバイスと複数の子デバイスを備える情報処理システムであって、
前記子デバイスは、複数種の関数近似器およびアニーリングマシンから選ばれる少なくとも二種のデバイスの少なくとも一部を構成し、
前記親デバイスと前記複数の子デバイスのそれぞれは、通信インターフェースを備え、
前記通信インターフェースは、無線通信インターフェースおよびアナログ回路を含む有線通信インターフェースから選ばれる少なくとも一つであり、
前記子デバイスで処理するデータは、前記親デバイスから前記複数の子デバイスの少なくとも一つに送信され、
前記子デバイスの少なくとも一つのノードの出力が、前記親デバイスおよび他の前記子デバイスの少なくとも一つに送信され、
前記親デバイスであるサーバーから時系列データを前記関数近似器の一つであるDNNに送信し、前記DNNで前記時系列データから時系列の特徴量を抽出し、前記DNNから前記時系列の特徴量を前記関数近似器の一つであるリザーバーに送り、前記リザーバーで前記時系列の特徴量から将来の特徴量を予測して前記サーバーに送り、前記サーバーで前記将来の特徴量を基にして最適化問題を生成し、前記アニーリングマシンで処理可能なイジングモデルに変換して、前記アニーリングマシンに問題を設定し、前記アニーリングマシンで問題を解いた後、前記サーバーが解を読み出して出力する、
情報処理システム。
【請求項2】
前記関数近似器はDNNであり、
前記親デバイスで、前記DNNの入力データを受付け、
前記子デバイスのうち第1の子デバイスに前記DNNの第1の畳み込み層を構成し、
前記子デバイスのうち第2の子デバイスに前記DNNの第2の畳み込み層を構成し、
前記親デバイスから前記第1の子デバイスに前記入力データを送信し、
前記第1の子デバイスから前記第2の子デバイスに出力を送信し、
前記第2の子デバイスから直接あるいは他の子デバイスを介して前記親デバイスに出力を送信する、
請求項1記載の情報処理システム。
【請求項3】
親デバイスと複数の子デバイスを備える情報処理システムであって、
前記子デバイスは、複数種の関数近似器およびアニーリングマシンから選ばれる少なくとも二種のデバイスの少なくとも一部を構成し、
前記親デバイスと前記複数の子デバイスのそれぞれは、通信インターフェースを備え、
前記通信インターフェースは、無線通信インターフェースおよびアナログ回路を含む有線通信インターフェースから選ばれる少なくとも一つであり、
前記子デバイスで処理するデータは、前記親デバイスから前記複数の子デバイスの少なくとも一つに送信され、
前記子デバイスの少なくとも一つのノードの出力が、前記親デバイスおよび他の前記子デバイスの少なくとも一つに送信され、
前記親デバイスであるサーバーから時系列データを前記関数近似器の一つであるDNNに送信し、前記DNNで前記時系列データから時系列の特徴量を抽出し、前記DNNから前記時系列の特徴量を前記サーバーに送り、前記サーバーで前記時系列の特徴量を基にして最適化問題を生成し、前記アニーリングマシンで処理可能なイジングモデルに変換して、前記アニーリングマシンに問題を設定し、前記アニーリングマシンで問題を解いた後、前記サーバーが解を読み出して出力する、
情報処理システム。
【請求項4】
親デバイスと複数の子デバイスを備える情報処理システムであって、
前記子デバイスは、複数種の関数近似器およびアニーリングマシンから選ばれる少なくとも二種のデバイスの少なくとも一部を構成し、
前記親デバイスと前記複数の子デバイスのそれぞれは、通信インターフェースを備え、
前記通信インターフェースは、無線通信インターフェースおよびアナログ回路を含む有線通信インターフェースから選ばれる少なくとも一つであり、
前記子デバイスで処理するデータは、前記親デバイスから前記複数の子デバイスの少なくとも一つに送信され、
前記子デバイスの少なくとも一つのノードの出力が、前記親デバイスおよび他の前記子デバイスの少なくとも一つに送信され、
前記親デバイスであるサーバーから時系列データを前記関数近似器の一つであるリザーバーに送り、前記リザーバーで前記時系列データから将来のデータあるいは特徴量を予測して前記サーバーに送り、前記サーバーで前記将来のデータあるいは前記特徴量を基にして最適化問題を生成し、前記アニーリングマシンで処理可能なイジングモデルに変換して、前記アニーリングマシンに問題を設定し、前記アニーリングマシンで問題を解いた後、前記サーバーが解を読み出して出力する、
情報処理システム。
【請求項5】
親デバイスと複数の子デバイスを備える情報処理システムであって、
前記子デバイスは、複数種の関数近似器およびアニーリングマシンから選ばれる少なくとも二種のデバイスの少なくとも一部を構成し、
前記親デバイスと前記複数の子デバイスのそれぞれは、通信インターフェースを備え、
前記通信インターフェースは、無線通信インターフェースおよびアナログ回路を含む有線通信インターフェースから選ばれる少なくとも一つであり、
前記子デバイスで処理するデータは、前記親デバイスから前記複数の子デバイスの少なくとも一つに送信され、
前記子デバイスの少なくとも一つのノードの出力が、前記親デバイスおよび他の前記子デバイスの少なくとも一つに送信され、
前記親デバイスであるサーバーから時系列データを前記関数近似器の一つであるDNNに送信し、前記DNNで前記時系列データから時系列の特徴量を抽出して前記関数近似器の一つであるリザーバーに送り、前記リザーバーで前記時系列の特徴量から将来の特徴量を予測して前記サーバーに送り、前記サーバーでは前記将来の特徴量を予測値として出力部に出力する、
情報処理システム。
【請求項6】
親デバイスと複数の子デバイスを備える情報処理システムであって、
前記子デバイスは、関数近似器およびアニーリングマシンから選ばれる少なくとも一種のデバイスの少なくとも一部を構成し、
前記親デバイスと前記複数の子デバイスのそれぞれは、通信インターフェースを備え、
前記通信インターフェースは、無線通信インターフェースおよびアナログ回路を含む有線通信インターフェースから選ばれる少なくとも一つであり、
前記子デバイスで処理するデータは、前記親デバイスから前記複数の子デバイスの少なくとも一つに送信され、
前記子デバイスの少なくとも一つのノードの出力が、前記親デバイスおよび他の前記子デバイスの少なくとも一つに送信され、
前記親デバイスで、前記アニーリングマシンの入力データを受付け、
前記子デバイスのうち第1の子デバイスに前記アニーリングマシンのノードの一部を構成し、該第1の子デバイスは複数ノードからなる第1のスピンアレイ内部でスピン間の相互作用を実現し、
前記子デバイスのうち第2の子デバイスに前記アニーリングマシンのノードの一部を構成し、該第2の子デバイスは複数ノードからなる第2のスピンアレイ内部でスピン間の相互作用を実現し、
前記親デバイスから前記第1の子デバイスおよび前記第2の子デバイスに前記入力データを送信し、
前記第1のスピンアレイのノードから前記第2のスピンアレイのノードであってスピン間の相互作用の相手となる隣接ノードに出力を送信し、
前記第1の子デバイスおよび前記第2の子デバイスから、前記親デバイスに出力を送信する、
情報処理システム。
【請求項7】
前記親デバイスは、前記複数の子デバイスのそれぞれに同期クロックを送信し、各子デバイスは前記同期クロックに同期して処理を行う、
請求項1記載の情報処理システム。
【請求項8】
前記通信インターフェースは、送信するデータ量を削減するデータ圧縮部を備える、
請求項1記載の情報処理システム。
【請求項9】
前記データ圧縮部は、周期的にデータを送信する際に、前回送信したデータとの差分を送信する、
請求項8記載の情報処理システム。
【請求項10】
前記データ圧縮部は、該データ圧縮部を持つ前記子デバイスがアニーリングマシンである場合、非可逆的な圧縮を行う、
請求項8記載の情報処理システム。
【請求項11】
前記データ圧縮部は、該データ圧縮部を持つ前記子デバイスが関数近似器である場合、可逆的な圧縮を行う、
請求項8記載の情報処理システム。
【請求項12】
前記子デバイスで処理するデータは、前記親デバイスが受信したデータに基づいて生成されており、
前記親デバイスが受信したデータは、センサが検出したデータに基づいて生成されている、
請求項1記載の情報処理システム。
【請求項13】
前記子デバイスで処理するデータは、前記親デバイスが受信したデータを、その受信タイミングとは異なる順序に並び替えたデータである、
請求項12記載の情報処理システム。
【請求項14】
少なくとも前記アニーリングマシンと前記関数近似器の両者を備え、
前記アニーリングマシンの係数を、前記関数近似器の出力あるいは前記関数近似器の入力となるセンサ出力を入力とするディープニューラルネットワークの出力から得る、
請求項1記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信手段を用いて収集したデータを処理する技術に関する。
【背景技術】
【0002】
通信技術やセンサの高速化、高機能化に伴い、自動車やロボットなどのモノとヒトに跨って、広域社会システム全体を繋げることが可能になっている。このようなIoT(Internet of Things)環境において、フィジカル空間の情報をサイバー空間に送り、サイバー空間内にフィジカル空間の環境を再現するデジタルツインの概念が提唱されている。
【0003】
デジタルツインを活用することで、フィジカル空間のモニタリングを行える他、サイバー空間上でのリアルタイム予測等に基づいて、自動的にシステム全体が連動するシステムの実現が期待される。すなわち、このサイバー空間上での予測に基づいて、現実世界における変化を予測し、対応することができる。
【0004】
このようなシステムは、例えば、ロボットと人が協働するスマート工場、自動運転化した鉄道や自動車同士の連動制御、移動体(ロボット、モビリティなど)への電力の供給制御など、社会システム全体をリアルタイムかつ低環境負荷で制御するために有用である。
【0005】
5Gと称される第5世代移動通信システムは、2020年から日本国内でサービス開始を予定している。5Gの技術として、ネットワークスライシングやエッジコンピューティングが注目されている。ネットワークスライシングでは、同一の物理ネットワークアーキテクチャの上に、用途に応じた仮想的な独立の論理ネットワークを多重化する。エッジコンピューティングは、利用者や端末と物理的に近い場所(エッジ)に処理装置(MEC(Mobile Edge Computing、または、Multi-access Edge Computing)サーバー)を分散配置して、ネットワークの端点でデータ処理を行う。
【0006】
また、演算手段として、ディープニューラルネットワーク(DNN)やリザーバー計算機(リザーバーコンピューティング)等で構成される人工知能(AI)、アニーリングマシン等がある。リザーバー計算機はリカレントニューラルネットワーク(Recurrent Neural Network:RNN)の一種で、入力層、中間層(リザーバー層)、出力層(リードアウトニューロン層)の3層で構成され、例えば教師あり学習で学習される。アニーリングマシンは、最適化問題を解くためにイジングモデル等を応用した処理デバイスである。
【0007】
ネットワークスライシングについて特許文献1のようなものがある。また、アニーリングマシンの例としては、特許文献2のようなものがある。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2020-136788号公報
【文献】特開2018-206127号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
広域社会システム全体を繋げ、遅延なく全体を制御するためには、データの収集、データの処理、システムの制御をリアルタイムで動作させる必要がある。
【0010】
このために、DNN、リザーバー計算機等で構成される人工知能(AI)、あるいは特許文献2のようなアニーリングマシンによる処理が提案されるが、データ量の増加やリアルタイム処理の要求に伴い処理能力を拡大あるいは高機能化する必要がある。
【0011】
そこで本願発明の目的は、必要なデータ処理量や処理内容に応じて適応可能なデータ処理技術を提供することにある。
【課題を解決するための手段】
【0012】
本発明の一側面は、親デバイスと複数の子デバイスを備える情報処理システムである。前記子デバイスは、関数近似器およびアニーリングマシンから選ばれる少なくとも一種のデバイスの少なくとも一部を構成し、前記親デバイスと前記複数の子デバイスのそれぞれは、通信インターフェースを備え、前記通信インターフェースは、無線通信インターフェースおよびアナログ回路を含む有線通信インターフェースから選ばれる少なくとも一つである。前記子デバイスで処理するデータは、前記親デバイスから前記複数の子デバイスの少なくとも一つに送信され、前記子デバイスの少なくとも一つのノードの出力が、前記親デバイスおよび他の前記子デバイスの少なくとも一つに送信される。
【0013】
本発明の他の一側面は、親デバイスと複数の子デバイスの連携により実行される情報処理方法である。前記子デバイスは、関数近似器およびアニーリングマシンから選ばれる少なくとも一種のデバイスの少なくとも一部を構成する。前記親デバイスと前記複数の子デバイスのそれぞれは、通信インターフェースを備える。前記通信インターフェースは、無線通信インターフェースおよびアナログ回路を含む有線通信インターフェースから選ばれる少なくとも一つである。前記子デバイスで処理するデータは、前記親デバイスから前記複数の子デバイスの少なくとも一つに送信される。前記子デバイスの少なくとも一つのノードの出力が、前記親デバイスおよび他の前記子デバイスの少なくとも一つに送信される。
【発明の効果】
【0014】
必要なデータ処理量や処理内容に応じて適応可能なデータ処理技術を提供することができる。
【図面の簡単な説明】
【0015】
図1】実施例1の情報処理システムの基本構成を示すブロック図。
図2】実施例2の情報処理システムの全体構成を示すブロック図。
図3】実施例2の情報処理システムで可能な処理のパターンの一覧を示す表図。
図4】実施例3の情報処理システムの回路実装の例を説明するブロック図。
図5】実施例4の特徴抽出の構成例を説明するブロック図。
図6A】実施例5の複数のアニーリングマシンが連携して処理を行うシステムの概念を説明するブロック図。
図6B】実施例5のアニーリングマシンの内部ブロック図。
図6C】実施例5のアニーリングマシンの動作タイムチャート。
図6D】実施例5のアニーリングマシンの隣接スピンの接続の概念を示す概念図。
図7】実施例6の複数のアニーリングマシンで同一問題を解くシステムの概念を説明するブロック図。
図8A】実施例7のリザーバーコンピューティングを無線接続で大規模化するシステムの例を示すブロック図。
図8B】実施例7のリザーバーの内部ブロック図。
図8C】実施例7のシステムにおいて、サーバーおよびリザーバーが分担する機能および、送信するデータと送信先を示す表図。
図8D】実施例7のリザーバーの動作タイムチャート。
図9A】実施例8の複数のリザーバーで同一処理を行うシステムの概念を説明するブロック図。
図9B】実施例8のシステムにおいて、サーバーおよびリザーバーが分担する機能および、送信するデータと送信先を示す表図。
図9C】実施例8のリザーバーの動作タイムチャート。
図10A】実施例9のDNNを無線接続で大規模化するシステムの例を示すブロック図。
図10B】実施例9のシステムにおいて、サーバーおよびリザーバーが分担する機能および、送信するデータと送信先を示す表図。
図11】実施例12の同時に複数のデータを予測計画部でリアルタイム処理する例を示す概念図。
図12】実施例13の階層構造としたエッジの例を示すブロック図。
図13】実施例13のエッジの詳細を示すブロック図。
図14】段階的複合AIの概念を示すブロック図。
図15】現状解析と未来予測の並行実施の概念を示すブロック図。
【発明を実施するための形態】
【0016】
以下、実施の形態について図面を用いて詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0017】
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【0018】
同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0019】
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【0020】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【0021】
本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。
【実施例1】
【0022】
<情報処理システムの基本構成>
図1は、実施例1の情報処理システムの基本構成を示すブロック図である。このシステムは、予測計画部100、センサ200、出力部300を備える。
【0023】
予測計画部100は、ディープニューラルネットワーク(DNN)101、リザーバー102、アニーリングマシン103、およびサーバー104を含む。予測計画部100は、センサ200からのデータを入力とし、演算結果を出力部300に出力する。予測計画部100の演算結果は、例えば無線通信により出力部300に送られる。予測計画部100の演算結果は、例えば認識、理解、判断、予測あるいは行動計画(これらを総称して推論ということがある。DNN101、リザーバー102、アニーリングマシン103の処理や出力自体も推論ということがある。)である。
【0024】
センサ200は、例えば人の位置や動き、機械やロボットの状態、交通機関あるいは環境の状態など、フィジカル空間のデータを公知のセンサデバイスやカメラで収集し、データを例えば無線通信により予測計画部100に送る。センサ200は、位置、加速度、音、温度、振動、匂い、画像など、様々な状態を検出するものが想定される。
【0025】
出力部300は、例えばアクチュエータを制御するインターフェースやディスプレイである。アクチュエータは、入力されたエネルギーもしくは電気信号を物理的運動に変換する、機械・電気回路を構成する機械要素である。アクチュエータは、予測計画部100の演算結果、例えば行動計画結果により制御される。ディスプレイは、演算結果、例えば行動計画結果または予測結果を人が認識できるよう表示する。
【0026】
予測計画部100は、親デバイスであるサーバー104と、複数の子デバイス(DNN101、リザーバー102、アニーリングマシン103から選ばれる少なくとも一種)を備える。予測計画部100は、親デバイスと子デバイス間の無線または有線による通信、さらに、子デバイス間の通信により、連携して、予測や行動計画のための演算を行い、演算結果にもとづき、アクチュエータを制御し、あるいは結果をディスプレイに表示する。
【0027】
本実施例では、子デバイスは独立した端末で構成されることを想定しているので、子デバイス間の有線接続を適用する場合は、例えば半導体チップ内やチップ間のバス接続ではなく、長距離伝送用のトランシーバ(送受信回路)を備える必要がある。すなわち、長距離伝送用のトランシーバは、長距離伝送にともなう信号波形の減衰や劣化を補償するために、送信回路には送信アンプ(アナログ回路)を備えており、また、受信回路には、受信アンプ(アナログ回路)、イコライザ(波形等化回路)、同期回路などを備える必要がある。
【0028】
図1では、DNN101、リザーバー102、アニーリングマシン103は、各2個配置されるが、数は任意であり各3個以上でもよい。これは以下の実施例でも同様であり、子デバイスの数は必要に応じて任意に設定できる。子デバイス間の連携により、所望の規模の演算を行うことが可能である。
【0029】
サーバー104は、公知のサーバーの構成として、入力装置1041、出力装置1042、処理装置1043、記憶装置1044を備える。本実施例ではサーバー104による演算や制御等の機能は、記憶装置1044に格納されたプログラムが処理装置1043によって実行されることで、定められた処理を他のハードウェアと協働して実現される。サーバーが実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」、「ユニット」、「モジュール」等と呼ぶ場合がある。
【0030】
以上の構成は、単体のサーバーで構成してもよいし、あるいは、入力装置1041、出力装置1042、処理装置1043、記憶装置1044の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。
【0031】
本実施例中、ソフトウェアで構成した機能と同等の機能は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などのハードウェアでも実現できる。
【0032】
本実施例によれば、大規模システムの動的な最適制御を実現し、高い臨場感を創出することができる。上記構成は典型的な一例である。サーバーは一般的な計算機でもよいし、MECサーバーでもよい。センサ200をサーバー104あるいは端末側に持たせることもできる。
【実施例2】
【0033】
<子デバイスの連携システム>
図2は、実施例2の情報処理システムの全体構成を示すブロック図である。本実施例では、センサとして例えばガスセンサ201等の環境センサと、人や機器の状態を撮影するカメラ202を備えている。ガスセンサ201からのデータと、カメラ202からの画像データは、有線または無線でサーバー104に集約される。ここではサーバーとしてMECサーバーを用いてもよい。
【0034】
DNN101、リザーバー102、アニーリングマシン103、サーバー104は、其々無線インターフェース105を備えており、相互にデータの送受信が可能である。本実施例では、DNN101、リザーバー102、アニーリングマシン103のハード構成はそれぞれ同一規格とする。
【0035】
ディープラーニングは、入力層、隠れ層、出力層からなるニューラルネットワーク(DNNなど)を学習し、入力ベクトルxに対して任意のベクトルf(x)を出力するように関数近似器を構成する技術である。すなわち、出力は、f1=f1(x1, x2, x3), f2=f2(x1, x2, x3)のように表現される。本実施例では、入力層と出力層をサーバー104で実現し、隠れ層をDNN101で構成する。厳密にはDNN101は、ディープニューラルネットワークの一部である隠れ層に対応するが、本明細書では便宜上DNNの呼称を用いる。DNN101は、例えば、教師あり学習により学習を行うことができる。本実施例では、DNN101は、ガスセンサ201からのデータと、カメラ202からの画像データから任意の特徴量を抽出できるように、公知の技術により学習済みとする。DNN101への入力が、時系列的なデータの場合には、DNN101からの出力も、時系列的な特徴量データとなる。
【0036】
リザーバーコンピューティングは、入力層、中間層(リザーバー層)、出力層(リードアウトニューロン層)の3種の層で構成され、教師あり学習を行うことができる技術であり、関数近似器を構成する。本実施例では、入力層と出力層をサーバー104で実現し、リザーバー層をリザーバー102で構成する。出力層は、公知の技術により学習済みとする。リザーバー102は、時系列信号に対するタスク(予測や、時系列信号に対する特徴抽出)を行う。すなわち、現在の離散時間nTにおける出力値は、現在の時間nT、および、過去の離散時間(n-1)T, (n-2)T, …のx1, x2, x3の値に対する関数となる。すなわち、リザーバーコンピューティングの出力層の出力は、
f1(nT)=f1(x1(nT), x2(nT), x3(nT), x1((n-1)T), x2((n-1)T), x3((n-1)T), x1((n-2)T), x2((n-2)T), x3((n-2)T), ….)
f2(nT)=f2(x1(nT), x2(nT), x3(nT), x1((n-1)T), x2((n-1)T), x3((n-1)T), x1((n-2)T), x2((n-2)T), x3((n-2)T), ….)
・・・
のように表現される。
【0037】
リザーバーコンピューティングのほうが、ディープラーニングよりも、時系列信号に対するタスクの学習が容易という特長がある。具体的には、前者は出力層のニューロンの重みだけ学習すればよい。対して、後者(ディープラーニング)はすべての層のニューロンの重みを学習する必要がある。時系列信号タスクを処理するRNN(Recurrent Neural Network)やLSTM (Long Short-Term Memory)などのDNNの場合、Backpropagation through time (BPTT)という方法で学習が行われるが、上記の通り、各時間帯に対応するニューロンの層をすべて学習させる必要があり、容易ではない。よって、本実施例の一態様では、DNN101で人の形や位置、ガスの成分などの特徴量を抽出した後、これらの特徴量の経時変化から、リザーバー102で予測を行う。
【0038】
アニーリングマシン103は、最適化演算を行うデバイスであり、基本構成は例えば特許文献2に開示される。アニーリングマシン103は、2値のスピンを格納する複数ノードからなるスピンアレイ内部でスピン間の相互作用を実現し、エネルギー最小あるいは最大の状態に遷移することで、最適化問題を解く。なお、スピンの値を3値以上に拡張することもできる。
【0039】
本実施例では、例えば以下のような処理のパターンを想定する。処理はリアルタイムで行うことを想定している。具体的な適用例としては、例えば所定区画内の人流の予測や最適化がある。この場合、センサ200は、カメラや振動センサであり、歩行者の画像データや振動データを取得する。DNN101は、センサのデータから、各人の存在位置や向いている方向、姿勢や速度などの特徴量を検出する。リザーバー102は、将来のデータや特徴量を予測する。アニーリングマシン103は、現在あるいは将来の特徴量から、例えば出入り口の開閉や、エレベータの速度の計画値を算出し、例えば、人流の均一化などの最適化を行う。
【0040】
図3は、図2の情報処理システムで可能な処理パターンの例を示す表図である。
パターン1:センサ200からの時系列データをサーバー104に送る。サーバー104から時系列データをDNN101に送信し、時系列の特徴量を抽出する。DNN101から時系列の特徴量をサーバー104経由でリザーバー102に送る。リザーバー102では時系列の特徴量から将来の特徴量を予測してサーバー104に送る。サーバー104では将来の特徴量を基にして最適化問題を生成し、アニーリングマシン103で処理可能なイジングモデルに変換して、アニーリングマシン103に問題を設定する。アニーリングマシン103で問題を解いた後、サーバー104が解を読み出し、例えば行動計画として出力部300に出力する。
【0041】
パターン2:センサ200からの時系列データをサーバー104に送る。サーバー104から時系列データをDNN101に送る。DNN101では時系列データから時系列の特徴量を抽出してサーバー104に送る。サーバー104では特徴量を基にして最適化問題を生成し、アニーリングマシン103で処理可能なイジングモデルに変換して、アニーリングマシン103に問題を設定する。アニーリングマシン103で問題を解いた後、サーバー104が解を読み出し、例えば行動計画として出力部300に出力する。
【0042】
パターン3:センサ200からの時系列データをサーバー104に送る。サーバー104から時系列データをリザーバー102に送る。リザーバー102では時系列データから将来のデータあるいは特徴量を予測してサーバー104に送る。サーバー104では将来のデータあるいは特徴量を基にして最適化問題を生成し、アニーリングマシン103で処理可能なイジングモデルに変換して、アニーリングマシン103に問題を設定する。アニーリングマシン103で問題を解いた後、サーバー104が解を読み出し、例えば行動計画として出力部300に出力する。
【0043】
パターン4:センサ200からの時系列データをサーバー104に送る。サーバー104から時系列データをDNN101に送る。DNN101では時系列データから時系列の特徴量を抽出してサーバー104を介してリザーバー102に送る。リザーバー102では時系列の特徴量から将来の特徴量を予測してサーバー104に送る。サーバー104では将来の特徴量を予測値として出力部300に出力する。
【0044】
パターン5:センサ200からの時系列データをサーバー104に送る。サーバー104から時系列データをリザーバー102に送る。リザーバー102では時系列データから将来のデータを予測してサーバー104に送る。サーバー104では将来のデータを予測値として出力部300に出力する。
【0045】
パターン6:センサ200からの時系列データをサーバー104に送る。サーバー104から時系列データを基にして最適化問題を生成し、アニーリングマシン103で処理可能なイジングモデルに変換して、アニーリングマシン103に問題を設定する。アニーリングマシン103で問題を解いた後、サーバー104が解を読み出し、例えば行動計画として出力部300に出力する。
【0046】
本実施例では、サーバー104と子デバイス101~103は無線インターフェース105を備えており、相互にデータの送受信が可能である。特に子デバイスのノードの出力を、子デバイス間で送受信することにより、DNN101、リザーバー102、アニーリングマシン103の機能を柔軟に設定可能である。ここで、DNN101やリザーバー102のニューロンとアニーリングマシン103のスピンを総称してノードと呼ぶことにする。
【0047】
子デバイス間は圧縮データを伝送し、各子デバイスの無線インターフェース105は圧縮伸張部を備えるものとする。サーバー104は各子デバイスに同期信号をブロードキャスト、または、各子デバイスが原子時計を備えることにより、子デバイス間の動作の同期を保証する。サーバー104と子デバイス間の通信手段の詳細は、後の実施例で詳説する。
【実施例3】
【0048】
<子デバイスの実装例>
図4は、情報処理システムの回路実装の例を説明するブロック図である。図2では、DNN101、リザーバー102、アニーリングマシン103のそれぞれが独立の子デバイスとして示されている。しかし、これらの複数を同一の子デバイス上に構成してもよい。すなわち、例えばDNN101-1、リザーバー102-1、アニーリングマシン103-1から選ばれた任意の複数を、同一の子デバイス410上にセットで備えることができる。
【0049】
このためには、子デバイス410は、LSI(Large Scale Integrated Circuit)上、またはFPGA(Field Programmable Gate Array)上の再構成可能回路により、DNN101-1、リザーバー102-1、アニーリングマシン103-1のうち、少なくとも2つ以上の機能を実装してもよい。これにより、一つの子デバイスが、機能を動的に切り換えて、順次実行することが可能になるため、子デバイスの数を低減することができる。あるいはDNN101、リザーバー102、アニーリングマシン103をソフトウェアで実装することもできる。この場合は、汎用または専用のプロセッサによりソフトウェアを実行する。
【0050】
本実施例では、ガスセンサ201、カメラ202、出力部300、サーバー104および子デバイスが無線インターフェース105を備え、無線によりデータを送受信する。無線インターフェース105には、複数のアンテナ(または、複数の無線トランシーバ)が接続される。一つの例では、複数のアンテナは複数の周波数帯で、並列に無線通信することができる。さらに、サーバー104は公知のスペクトルセンス機能を備え、相互干渉を避けるように通信周波数を決定する。
【実施例4】
【0051】
<センサ側で特徴抽出を行う例>
図5は、特徴抽出の構成の他の例を説明するブロック図である。図2では、DNN101はサーバー104と無線通信する子デバイスで構成したが、特徴抽出はセンサ側で行ってもよい。図5では、カメラ202および匂いセンサ203に付属してDNN501が配置される。
【0052】
このようにディープラーニングによる特徴抽出を、センサ200側で行うことで、センサからのデータ伝送量を低減することができる。
【実施例5】
【0053】
<ピアツーピア型接続アニーリングマシン>
図6Aは、複数のアニーリングマシン103-1~103-4が連携して処理を行うシステムの概念を説明するブロック図である。この例では、ピアツーピア型に接続されるアニーリングマシン103-1~103-4とサーバー104は、図4Aと同様に、相互に無線接続されている。
【0054】
サーバー104の記憶装置1044に格納されたプログラムである問題設定部601は、DNN101やリザーバー102で抽出された特徴量、あるいはリザーバー102からの予測値を基にし、最適化問題を設定する。問題設定のために、ユーザの入力を可能とするインターフェースを設けてもよい。また、問題設定部601は、ディープラーニングにより問題設定を行ってもよい。その場合は、ディープニューラルネットワークをハードウェアとして備える。
【0055】
問題設定部601は、最適化問題をイジングモデルに変換し、特許文献2等で公知のようにスピン間の相互作用を定める外部磁場係数、相互作用係数等を決定する。ディープラーニングを用いて問題設定を行う場合は、DNN101やリザーバー102で抽出された特徴量、あるいは、リザーバー102からの予測値、あるいは、センサ出力やそれを処理した信号などをディープニューラルネットワークに入力し、その出力から前記係数のセットが得られる。前記ディープニューラルネットワークのパラメータ(ニューロンの重みなど)は、サーバー104上であらかじめ学習し、設定してもよい。また、サーバー104上で、随時、適切なタイミングで学習し、設定してもよい。あるいは、サーバー104外のコンピュータ上やクラウド上であらかじめ、または、随時、適切なタイミングで学習し、設定してもよい。問題設定部601により決定された係数は、サーバー104の無線インターフェース105から、アニーリングマシン103-1~103-4に送信される。アニーリングマシン103-1~103-4は、受信した係数を設定し、公知の手法で相互作用演算を行い、スピンの値を更新する。
【0056】
ピアツーピア型接続では、アニーリングマシン103-1~103-4は、全体で一つのアニーリングマシンとして動作する。アニーリングマシンでは、一つのスピンの値を更新するために、当該スピンと接続されるスピン(隣接スピンという)の値を使用する。従って、例えばアニーリングマシン103-1のスピンを更新するための隣接スピンがアニーリングマシン103-2にある場合は、当該スピンの値を無線でアニーリングマシン103-2からアニーリングマシン103-1に送信することになる。
【0057】
図6Bは、アニーリングマシン103の詳細な内部ブロック図を示す。無線インターフェース105は、データの送受信を行う。データ圧縮伸長部604は、送信するデータの圧縮および、受信したデータの伸長を行う。スピンアレイ605は、特許文献2等で公知のスピンを基底状態に遷移させるための構成で、例えば半導体メモリの原理を応用して実装される。
【0058】
図6Cは、図6A図6Bのアニーリングマシン103-1~103-4の動作タイムチャートである。事前に問題設定部601から無線インターフェース105を介して、各アニーリングマシン103-1~103-4に係数が設定され、スピンアレイ605のスピンの値が、例えばランダムに初期化されているものとする。
【0059】
まず、アニーリングマシン103-1~103-4の同期をとるために、サーバー104の同期制御部602から、同期信号(S)が各アニーリングマシン103にブロードキャスト送信される。各アニーリングマシン103は、同期信号受信回路とカウンタを備え、同期信号を受信したタイミングでカウンタをゼロにリセットし、以降、内部クロックによりカウンタの値を増加させ、各動作をカウンタの値にもとづいて切り換える。これにより、各アニーリングマシンの内部クロック周波数が多少異なっていても、これらの内部動作を互いに同期できる。
【0060】
次に、順番は任意であるが、例えばアニーリングマシン103-1が自己のスピンの値をアニーリングマシン103-2~103-4に送信する送信処理(T)を行い、アニーリングマシン103-2~103-4はこれを受信処理(R)する。第1回目の送信(Cycle 1)は、スピンの初期値(通常はランダム)を送信することになる。自己のスピンの値を全て送信してもよいが、他のアニーリングマシンのスピンの隣接スピンとなっているスピンの値のみを送信するのが効率的である。隣接スピンの配置関係については、事前にサーバー104から各アニーリングマシン103に通知しておく。それ以降、各アニーリングマシン103は、順番に送受信の役割を交代する。また、後述のように送信データは、データ圧縮伸長部604で圧縮処理を行う。
【0061】
なお、子デバイスである各アニーリングマシン103は、送信データにタイムスタンプ付しておいてもよい。以下の他の実施例でも同様である。
【0062】
送受信が終了した後、各アニーリングマシン103のスピンアレイ605では、公知の手法で相互作用演算を行い、スピンの値の更新処理(U)を行う。次に更新したスピンの値を他のアニーリングマシン103に送信するが、送信データ量を圧縮するために、データ圧縮伸長部604では圧縮処理(P)を行う。圧縮処理(P)では、前回との差分のみを送信するように処理する。
【0063】
その後、同様の同期処理(S)、データ送受信(T)(R)、スピン更新(U)、データ圧縮(P)を、Cycle 2以降スピン値が収束するまであるいは規定回数実行し、最終的なスピンの値を各アニーリングマシン103が、サーバー104に送信する。サーバー104の解取得部603は収集したスピンの値に基づいて解を得、出力部300に出力する。
【0064】
アニーリングマシンでは、上記の時分割に行う各ブロードキャストにおいて、ブロードキャストを短時間で終わらせて演算時間を短縮するため、データを分割して、複数の周波数チャネルを用いて並列に送信してもよい。周波数チャネルの選定、指示はサーバー104が行うものとする。
【0065】
複数の周波数チャネルを用いる場合は、複数のアンテナや複数のトランシーバを無線インターフェース105に準備する。アンテナだけ複数でトランシーバは共通という実装もあり得る。その場合は、トランシーバ内に、複数系統の送受信回路を並列に備え、並列に送受信する。空き周波数帯をモニタするため、サーバー104が、スペクトルセンシングを行い、空き周波数領域をチャネル単位で把握し、それを上記ブロードキャスト時のチャネルとして各子デバイスに割り当ててもよい。
【0066】
また、各子デバイスが複数のアンテナや複数の受信回路を備えることで、時分割でなく、周波数分割により、各子デバイスが一斉に(同時に)ブロードキャストしあうことも可能である。例えば、図6Aで各子デバイスが4個のアンテナと4つの周波数帯域を用いて、3個のアンテナとそれらに接続された3個の受信機で受信を行い、1個のアンテナとそれに接続された送信機で送信を行えば、一斉にブロードキャストすることができる。この場合、通信時間を1/4にできる。
【0067】
同様に、各子デバイスが複数のアンテナや複数のトランシーバを備え、符号分割多重で送受信を行うことにより、一斉にブロードキャストしあうこともできる。その場合は、各トランシーバにおいて、所定の拡散符号を乗算することで、周波数帯域を共用しながら、混信を防止できる。拡散符号の選定、指示は、サーバー104が行うものとする。
【0068】
本実施例のシステムでは、アニーリングマシン103のスピンの更新演算よりも、スピンの情報をブロードキャストする時間のほうが長いため、アニーリングマシン103間のデータ送受信時間の短縮が重要である。そのため、周波数分割多重などのような伝送の高速化を図るとともに、スピン情報を圧縮してから送信することが好ましい。
【0069】
圧縮の手段として、ひとつは、既述のように更新されたスピン情報のみ伝送する。このためには、スピンの更新マップを作ればよい。特に、計算が進むと更新されるスピンが減るため、更新マップはほとんどがゼロ(更新なし)で、少数が1(更新有り)のマップとなる。ゼロが多いので、可逆的な圧縮方法でも高い圧縮率で圧縮できる。他の手法としては、スピン情報マップを例えば離散コサイン変換、あるいは、フーリエ変換のような空間周波数変換して、低周波成分と高周波成分に分離し、重要度が高い低周波成分を高いビット数で細かく量子化し、重要度が低い(あるいは、成分が少ない)高周波成分は、低いビット数で粗く量子化することで、圧縮率を高めることができる。
【0070】
データ圧縮伸長部604の圧縮処理(P)では、前述のように前の状態からの更新有無や差分を送信データとすることに加え、あるいはこれに代えて、送信データの非可逆圧縮を行うことが望ましい。スピンアレイのスピンの値は、1または-1(0)の2次元配置であるから、これをモノクロの画像とみなすことができる。あるいは、スピン複数個の情報をカラー画像とみなすことができる。後者は、例えば、6×4の24個のスピンの情報(24ビット情報)を、8ビット(R)8ビット(G)8ビット(B)のカラー画像の1ピクセルとみなすことができる。
【0071】
画像の圧縮技術として知られているJPEG等のデータ圧縮技術を適用すれば、このような、モノクロあるいはカラーの2次元画像とみなしたスピンの集合データを非可逆で圧縮可能である。JPEG等の非可逆圧縮は高い圧縮率であるため、子デバイス間の送信データを減らすことができ、送信時間を短縮可能である。アニーリングマシン103のデータ圧縮伸長部604は、非可逆画像圧縮と非可逆画像展開を行う。第1のアニーリングマシン103-1から非可逆画像圧縮方式で圧縮され送信されたスピン情報を、第2のアニーリングマシン103-2が受信し、非可逆画像展開してスピン情報を復元する。
【0072】
非可逆圧縮であるため、復元されたスピン情報は、元のスピン情報と完全に同じにはならない。しかし、アニーリングマシン103はそもそも確率的にスピンを更新し、ランダム誤差に強いため、上記のスピン情報誤差に耐性がある。誤差の出方は、ランダムな方がよいため、非可逆圧縮のしかたを何通りか持っておき、それを、ランダムにあるいは順次切り替えて適用してもよい。
【0073】
また、平滑フィルタ処理などをかけて、前記スピン情報に関する等価画像を単調化し、圧縮率を高めることを行ってもよい。また前述のように前の状態との差分データのみ抽出する処理を行ってもよい。このようなフィルタや処理機能は、データ圧縮伸長部604の一部としてあるいはその前段に備えることができる。平滑フィルタや周波数変換でもデータの一部が失われるが、アニーリングマシンの場合には演算結果に大きな影響はないと考えられる。
【0074】
以上のように伝送時間短縮のためのデータ削減には、(更新情報や差分情報の生成あり/なし)×(圧縮あり/なし)の種々の組み合わせが可能である。また、データ削減の処理のための時間に比べて、送信の時間が長いと考えられるため、種々のデータ削減手法をシリアルあるいはパラレルに実行し、好ましい結果を選択してもよい。
【0075】
上記実施例はアニーリングマシンの例であるが、リザーバー計算機の場合、ESN(Echo State Network)とLSM(Liquid State Machine)の2種類に大別されることが知られている。ESNでは、ニューロン出力が連続値となるため、例えば32ビットで表現される。一方、LSMでは、ニューロン出力はスパイク信号であるため、0、1や、-1、0、1のように2値や3値で表現される。後者では、スパイクを発生したニューロン以外のニューロンは出力が0であるため、ニューロン出力情報を、更新情報や差分情報に変換せずに、高い圧縮率で圧縮し、送信データを削減することができる。また、ESNの場合、差分によるデータ削減効果が少ないため、同様に、ニューロン出力情報を差分情報に変換せずに圧縮するのがよい。
【0076】
なお、リザーバー計算機の場合は、各ニューロンは、近傍のニューロンだけでなく、遠方のニューロンにも結合するため、リザーバー102からのニューロン出力情報の送信はブロードキャストが適している。一方、アニーリングマシンの場合は、各スピンは、隣接するスピンとの接続だけでよいことも多く、その場合は、特定のスピン間で出力を送信すればよい。
【0077】
図6Dは、アニーリングマシンの隣接スピンの接続の概念を示す概念図である。この概念図では、アニーリングマシン103が9個2次元配列され、各アニーリングマシンにはスピン606が16個配置されている(実際はもっと個数が多く、また3次元配列の場合もある)。アニーリングマシンの場合は、隣接間のスピンの結合だけでよい場合も多い。その場合、図6Dの通り、中央のアニーリングマシンは、隣接する各アニーリングマシンと、点線枠で示した境界に存在するスピン606の情報を交換できるだけでよい。このため例えば、各アニーリングマシンは、無線インターフェース105として、4つのトランシーバを並列に用いて(または、一つのトランシーバに複数のアンテナを備えて)、周波数分割多重や符号分割多重や空間分割多重により、4方向の送受信を同時に行ってもよい。スピンの情報の圧縮は、圧縮率が高い非可逆圧縮を使用できるが、上記の場合には、伝送量が小さいため、情報劣化のない可逆圧縮でもよい。
【0078】
以上の実施例では、小規模のアニーリングマシンを組み合わせ、アニーリングマシン相互で隣接スピンのデータを送受信することで、大規模な問題に対応できる。またバッテリ駆動や自己発電に対応した低消費電力の子デバイスで、大規模問題の求解が可能になる。
【実施例6】
【0079】
<スター型接続アニーリングマシン>
図7は、実施例5とは別の例で、複数のアニーリングマシン103-1~103-4で同一問題を解く。複数のアニーリングマシン103-1~103-4は、独立に演算を行う。
【0080】
サーバー104の問題設定部701は、同一問題に対する係数を各アニーリングマシン103に送信する。各アニーリングマシン103は独立に演算を行い、結果をサーバー104に送信する。なお、係数、スピンの初期値、演算の際に印加するランダム性などは、各アニーリングマシン103間で互いに異なる。
【0081】
サーバー104の解取得部703では、各アニーリングマシンの結果にもとづき、多数決や平均化などの処理を行うことで、最良の結果を判断する。本実施例では、アニーリングマシン103は最適化演算の前にサーバー104からデータを受信し、後にサーバー104へ結果を送信するだけで、アニーリングマシン103同士の通信は必要ない。本実施例では、高速に並列的な求解が可能である。
【実施例7】
【0082】
<ピアツーピア型接続リザーバー>
図8Aは、リザーバーコンピューティングを無線接続で大規模化するシステムの例を示すブロック図である。リザーバー102-1~102-4が全体として、一つのリザーバー層を構成する。
図8Bは、リザーバー102の内部ブロック図を示す。無線インターフェース105は、データの送受信を行う。データ可逆圧縮伸長部804は、送信するデータの圧縮および、受信したデータの伸長を行う。ニューロン805は、公知の方法で接続されてリザーバー層を構成するニューロンの集合である。
図8Cは、図8Aのシステムにおいて、サーバー104およびリザーバー102が分担する機能および、送信するデータと送信先である。
図8Dは、図8Aの、リザーバー102-1~102-4の動作タイムチャートである。
【0083】
図8A図8B図8C図8Dを参照して動作を説明する。サーバー104の入力部801は、各リザーバー102に入力データDをブロードキャストする。入力データDがn次元ベクトルであれば、x1(t)~xn(t)のデータを各リザーバー102に送信する。特徴抽出をリザーバーコンピューティングで行う場合は、センサ信号、あるいは、それにフィルタなどの前処理を加えた信号を、リザーバー102の入力信号とする。データの送受信は、無線インターフェース105を介して行われる(以下同様)。
【0084】
また、サーバー104の同期制御部802は、同期信号Sをブロードキャストする。各リザーバー102は、同期信号受信回路とカウンタを備え、同期信号を受信したタイミングでカウンタをゼロにリセットし、以降、内部クロックによりカウンタの値を増加させ、各動作をカウンタの値にもとづいて切り換えることで、リザーバー102同士の同期を保証する。
【0085】
各リザーバー102は、自分のリザーバーに含まれるニューロンの現在時刻の出力値を他のリザーバーおよびサーバー104に対してブロードキャスト(T)する。このとき、順番は任意であるが、例えばリザーバー102-1が自己のニューロンの出力をリザーバー102-2~102-4に送信する送信処理(T)を行い、リザーバー102-2~102-4とサーバー104はこれを受信(R)する。それ以降、各リザーバー102は、順番に送受信の役割を交代する。
【0086】
各リザーバー102は、他のリザーバーからのニューロンの値とサーバー104からの入力信号に基づいて、ニューロンの値を更新(NU)する。各リザーバー102は更新したニューロン出力情報を圧縮(P)し、次のサイクルの処理に移る。図8Dには2サイクル分のタイムチャートを示すが、この処理は基本的にサーバー104の入力部(入力層)へのデータ入力のタイミングで、繰り返し実行される。
【0087】
図8Dのタイムチャートの、同期信号+入力データ値配信(S/D)~圧縮(P)に至る部分は、一つの時刻の入力値(1サイクルのデータ)に対する処理となる。よって、各ニューロン(ノード)の値は、上記入力データ、および、現在の自分、及び他のニューロンの出力値にもとづき、1サイクルぶんだけ更新されることになる。そのために、各リザーバー102は、現在時刻の全(あるいは、一部の)ニューロン値を収集しておく必要がある。本システムでは、他のリザーバー102のニューロン値を無線送信することで収集することができる。ブロードキャストを短時間で終わらせるため、周波数分割多重や符号分割多重を用いて一斉にブロードキャストしあってもよい点は、実施例5で説明したものと同様である。
【0088】
各子デバイスのニューロンの出力は、2次元の画像のようにみなすことができるので、圧縮処理(P)では、データ可逆圧縮伸長部804では、例えばGIF(Graphics Interchange Format)のような可逆圧縮により圧縮(P)し、送信を行う。受信側では、受け取ったデータを解凍して、送信側の現在のニューロン805の出力値を取得する。これにより、ニューロン805の更新が可能になる。リザーバーの場合は、ニューロンの出力誤差に比較的弱い計算方式のため、非可逆圧縮よりランレングス符号のような情報の劣化がない可逆圧縮方式のほうが好ましい。
【0089】
リザーバー102のニューロン出力は例えば32bitの連続値である。リザーバー102間のニューロン出力の送受信のオーバーヘッドを圧縮する場合、重要な上位ビットを優先的にブロードキャストすることが有効である。そのため、送り方は、
ニューロン1の最上位ビット、ニューロン2の最上位ビット、・・・、ニューロンNの最上位ビット、
ニューロン1の2番目のビット、ニューロン2の2番目のビット、・・・、ニューロンNの2番目のビット、
ニューロン1の3番目のビット、ニューロン2の3番目のビット、・・・、ニューロンNの3番目のビット、
・・・
のように、各ニューロンの最上位ビットから優先的に送信する。この送信方式をデータ圧縮に代えて採用することができる。
【0090】
先に述べたように、各子デバイスは、サーバー104から同期信号を受け取ったときに、自分のカウンタをゼロにリセットし、以降、カウンタは子デバイスの内部クロックにもとづき、インクリメントされていく。ここで、カウンタが、所定の値に到達したら時間切れとみなして、上記の送信を終了する。この方式では、全ての情報をブロードキャストしきれるとは限らないが、通信時間を制限することで全体の処理時間が短縮されるとともに、上記のように上位ビットから送信することにより精度の劣化も限定的となる。なお、時間切れとみなすためのカウンタの上限値は、サーバー104がタスクの成果を判定し、より高速性が必要と判断したら、小さく(短く)し、より高精度が必要と判断したら、大きく(長く)するように動的に調整することができる。
【0091】
サーバー104の出力部803は、各リザーバー102の出力を受信し、出力層として機能する。リザーバーコンピューティングでは、出力層は、リザーバー層のすべての、あるいは、一部のニューロンの出力を受け取り、学習した重みを用いて積和演算を行う。本実施例では、出力層の役割をサーバー104が担うため、各リザーバー102は、自分に含まれるニューロンの出力を、出力層であるサーバー104に送信する。サーバー104の出力部803は、1サイクル毎に時系列の出力信号を出力する。
【0092】
なお、本実施例では、サーバー104の出力層から、各リザーバー102へのフィードバックは行っていないが、サーバー104の出力部803からの出力を、リザーバー102の少なくとも一つに無線伝送する構成にしてもよい。
【実施例8】
【0093】
<スター型接続リザーバー>
図9Aは、実施例7とは別の例で、複数のリザーバー102-1~102-4で同一処理を行うスター型接続の例である。複数のリザーバー102-1~102-4は、リザーバー層と出力層の役割を分担し、独立に演算を行う。なお、各リザーバー102は、リザーバー層のニューロン間の結合のパターン、リザーバー層のニューロンのパラメータ(重みなど)や活性化関数の形状、リザーバー層のニューロンの出力の初期値、出力層のニューロンのパラメータ(重みなど)などが互いに異なる。
図9Bは、図9Aのシステムにおいて、サーバー104およびリザーバー102が分担する機能および、送信するデータと送信先である。この例では、リザーバー102に出力層を分担させているが、リザーバー102が出力層を持たない場合は、サーバー104に、4つの子デバイスそれぞれの出力層を備えてもよい。
図9Cは、図9Aの、リザーバー102-1~102-4の動作タイムチャートである。
【0094】
図9A図9B図9Cを参照して動作を説明する。サーバー104の入力部901は、同一の入力データを各リザーバー102にブロードキャストする(D)。各リザーバー102は独立に演算を行い(NU)、結果を出力層からサーバー104に送信する(T)。送信時は、時分割多重、符号分割多重、周波数分割多重、空間分割多重等を用いて混信を防止する。
【0095】
サーバー104の解取得部903では、各リザーバー102の結果の多数決や平均値を取ることで、最良の結果を判断する。高速に並列的な求解が可能である。
【0096】
本実施例では、複数のリザーバーで同一問題を解き、サーバーで最良の結果を判断することができ、高速並列演算が可能である。
【実施例9】
【0097】
<階層型接続DNN>
図10Aは、DNNを無線接続で大規模化するシステムの例を示すブロック図である。DNN101-1~101-4が全体として、一つのDNNを構成する。
図10Bは、図10Aのシステムにおいて、サーバー104およびDNN101が分担する機能および、送信するデータと送信先である。
【0098】
図10A図10Bを参照して動作を説明する。サーバー104の入力部1001は、DNN101-1に入力データを送信する。入力データDがn次元ベクトルであれば、x1(t)~xn(t)のデータを送信する。
【0099】
ディープラーニングでは、DNN101-1~101-4は直列接続され、前段の層から順次データを送信する。図では隠れ層は4層で構成されるが、タスクに応じて層数は変更される。簡単なタスクならば、少ない層数でよく、複雑になるにつれ層数が増加する。リザーバーコンピューティングやアニーリングマシンと違い、ディープラーニングは、層数を増やすことで、複雑なタスクを行うことができる。そのため、子デバイスを直列接続して必要な層数を確保することで、所望のタスクを実現できる。また、図では、各子デバイスは、一つの畳み込み層と一つのプーリング層を備えているが、より多くの層を備えていたり、様々な種類の層を備えていたりしてもよい。
【0100】
DNN101-1~101-4の間の無線通信は、混信防止のために、周波数分割多重や符号分割多重や空間分割多重で行ってもよい。また、高速通信のために、複数のアンテナ、トランシーバ、周波数チャネルを用いて、並列に送受信してもよい。
【0101】
また、サーバー104の同期制御部1002は、同期信号Sをブロードキャストする。各DNN101は、同期信号受信回路とカウンタを備え、受信したタイミングでカウンタをゼロにリセットすることで、DNN101同士の同期を保証する。
【実施例10】
【0102】
<スター型接続DNN>
実施例9とは別の例で、複数のDNN101で同一の特徴抽出タスクを行うスター型接続が可能である。複数のDNN101-1~101-4は、隠れ層と出力層の役割を分担し、独立に演算を行う。サーバー104は入力層の役割を分担する。各DNN101は、ニューロンやニューロン間の結合の枝刈りの箇所、ニューロンのパラメータ(重みなど)、活性化関数の形状、ニューロンの出力の初期値(リカレントなディープニューラルネットワークの場合)などが互いに異なる。
【0103】
サーバー104の入力層は、DNN101-1~101-4に入力データをブロードキャストする。DNN101-1~101-4は、独立かつ並列に演算を行い、サーバー104の解取得部に結果を送信する。送信時、時分割多重、符号分割多重、周波数分割多重、空間分割多重等を用いて混信を防止する。
【0104】
サーバー104の解取得部では、各DNN101の結果の多数決や平均値を取ることで、最良の結果を判断する。高速に並列的な求解が可能である。
【0105】
本実施例では、複数のDNNで同一問題を解き、サーバーで最良の結果を判断することができ、高速並列演算が可能である。
【実施例11】
【0106】
<アンサンブル型DNN>
ディープラーニングでは、一つのタスクに対して、複数の異なるDNN(アンサンブルと呼ばれる)で別々に演算し、それらの演算結果を組み合わせて、推論精度を向上させることが知られている。実施例10もアンサンブルの手法にもとづくものであるが、本実施例では特に、互いに異なるデータセットでパラメータ(ニューロンの重みなど)を学習した複数のDNNをアンサンブルとして用いる。これらのDNNは、互いに異なるネットワーク構造や、異なる重みパラメータセットを備える。
【0107】
実施例10と同様のスター型接続で複数DNNをアンサンブルとして用い、サーバー104が、単一のタスクに対応した入力信号を各DNNにブロードキャストし、また、各DNNの出力結果を受け取って、組み合わせて推論精度を向上させる。
【0108】
実施例1~11で説明した情報処理システムにおいて、各子デバイスの同期はサーバーから送信される同期信号を基準に行うことにした。別の方法として、各機器が原子時計等の絶対時間を正確に計測できる時計を備えることにして、原子時計等の時間を基準として動作させてもよい。また、送受信するデータの時間的な前後関係を保証するために、各機器は送信データにタイムスタンプを含めて送信してもよい。
【0109】
以上の各DNNでも、リザーバーと同様にデータ送受信の圧縮伸長を行ってよい。
【実施例12】
【0110】
<同時多接続パイプライン>
実施例1~11で説明した情報処理システムにおいて、広域社会システム全体を繋げ、遅延なく全体を制御するためには、データの収集、データの処理、システムの制御をリアルタイムで動作させる必要がある。広域社会システムは個々の機器が物理的に分散して配置され、相互間の通信手段や距離も均一とは限らない。そこで、複数の通信で送受信されるデータと複数のエッジAI(DNN101、リザーバー102、アニーリングマシン103等)を、同期性を保証して接続することが望ましい。
【0111】
図11は、同時に複数のデータを予測計画部100でリアルタイム処理する例を示す概念図である。センサ200等から送信される複数のデータ1~5は、5Gや6Gなど異なる仕様の無線通信や、異なる仕様の有線通信が混在して接続されている場合がある。また、送信元の遠近など物理的な位置も異なる場合がある。さらに、接続関係も上り通信、下り通信、サイドリンク等の条件も同一ではないことが考えられる。このように受信するデータは、異なるセンサから得られたデータ、異なる経路を経たデータ、および異なる通信手段によるデータの少なくとも一つを含むため、各データのレイテンシが異なり、予測計画部100へのデータ到着順がデータ発生順にならないことが考えられる。
【0112】
この場合、データを一度データベースとして格納してから処理すれば、データの順番を保証することができるが、リアルタイム処理にならなくなる。本実施例では、同時多接続パイプライン1100の機能を追加することで、リアルタイムなデータの処理を可能とする。同時多接続パイプライン1100は、データフローコントローラ1110と、時間空間オーガナイザ1120の機能を備える。データフローコントローラ1110は、データ解析の順番を管理し、処理すべき順番に予測計画部100へ送信する。データフローコントローラ1110の設定は、たとえばAIオーケストレータ1045により制御される。時間空間オーガナイザ1120は、例えば、受信データの到着時間の計測結果と到着までの所要時間の計測結果や、受信データのタイムスタンプや、センサの位置の計測結果などに基づいて、受信データ(例えば各種センサデータ)にデータ生成時刻とデータ生成位置をラベリングする。
【実施例13】
【0113】
<階層型エッジ>
図12は、図11の予測計画部100と同時多接続パイプライン1100の組でエッジ1200を構成し、階層構造としたエッジの例を示すブロック図である。予測計画部100と同時多接続パイプライン1100は、物理的には分離されていてもよい。各エッジ1200a~fは、同じリファレンスアーキテクチャに基づき構成してもよい。これらのエッジ1200a~fは、その役割に応じて、ソフトウェアにより必要な機能を定義可能である。エッジ1200a~fは、例えば一般的なサーバーやコンピュータ、あるいは、専用ハードウェアで構成され、エッジ1200の機能はソフトウェアで実装されるものとする。
【0114】
図12では、各エッジ1200が予測計画部100を備える例が開示される。予測計画部100は、例えば図1に開示したように、親デバイス(サーバ104)と子デバイス101~103を備える。ただし、親デバイスと子デバイスは必ずしも同一エッジに存在する必要はなく、例えば、エッジ1200aの子デバイス101~103を、MECサーバーやクラウドのエッジ1200d~fのサーバー104が制御してもよい。この場合、エッジ1200aには、必ずしもサーバー104が配置されなくてもよい。以上のように子デバイスを制御する親デバイスは、必要な処理量や通信量を考慮して、階層型エッジの中の任意のエッジに配置することができる。
【0115】
エッジ1200a~cは、制御対象となる人1211、ロボット1212、各種機器1213、交通機関1214などを含む現場1210の近くに置かれる、例えばセンサエッジである。エッジ1200a~cには、センサ部1220や必要に応じて前処理部1230が付属する。前処理部1230ではフィルタリング、データ圧縮、データ分割や符号化等の所望の処理を行う。図5で説明したように、特徴抽出を前処理に含めてもよい。前処理をセンサ側で行うことで、送信するデータ量を減らすことができる。
【0116】
センサ部1220は、各種センサやカメラの他、PLC(Programmable Logic Controller)やXR(X Reality)の機能を含んでもよい。PLCやXRは、センサやカメラ同様にデータを収集する手段として機能する。センサ部1220の各種センサ、カメラ、PLC、XRは、ロボット等のデータを収集して出力するだけでなく、エッジ1200からの入力がフィードバックされる制御対象となり得る。例えば、フィードバックによりデータ取得やデータ送信の頻度を変更する。このように、ロボットや人の情報収集や制御に伴い、センサ部1220をそれに対応して制御することが可能である。
【0117】
一つの例では、センサ部1220からのデータは、そのままあるいは前処理部1230で処理されて、エッジ1200a~fに送信される。データはエッジ1200で処理され、予測計画部100による推論の結果が出力部300で表示され、あるいは現場1210のロボット1212、各種機器1213、交通機関1214や、センサ部1220にフィードバックされる。他の例では、一つ、あるいは複数のエッジ1200の出力を、他のエッジの入力としてもよい。
【0118】
ネットワークNWには、有線や無線の各種の通信手段が用いられることを想定している。無線通信手段としては、4G、P-LTE、5G、Beyond5G、6G、Wi-Fi(商標)等種々のものが考えられる。よって、エッジ1200a~cの位置や使用する通信手段により、図11で説明したごとく送信データのレイテンシにばらつきが生じる。
【0119】
エッジ1200d~eは、クラウドよりも現場1210近くに配置される、例えばMECサーバーである。現場近くにあるため、クラウドより遅延を短縮できる。例えばネットワークNWの基地局上にエッジ1200d~eを設置する。
【0120】
エッジ1200fは、クラウド内あるいはクラウド入り口に設置される、例えばクラウドサーバーで構成される。エッジ1200fには全体制御部1240が付属あるいは、ネットワークで接続されてもよい。各エッジ1200a~fの機能のデプロイは、例えば全体制御部1240を介して行うことができる。デプロイの手順は従来技術を踏襲してよい。
【0121】
本システムに含まれる各エッジ1200a~fの予測計画部100と同時多接続パイプライン1100は、エッジ毎に必要な機能がデプロイされる。例えば、現場1210に近いエッジ1200a~cの予測計画部100a~cでは簡易な処理(例えば認識)を、クラウドのエッジ1200fの予測計画部100fでは複雑な処理(例えば理解や判断)を行う。同時多接続パイプライン1100は、予測計画部100が行う処理に適合したデータフローを形成する。
【0122】
同時多接続パイプライン1100は、予測計画部100の処理に必要なデータの時間的順序を保証する。データの時間的順序は、例えば工業用ロボットの動作制御等では厳密に(例えばミリ秒単位)行うことが望ましい。また、マクロな人流の制御等ではそこまでの厳密性は要求されない(例えば分単位)。本実施例では、エッジ毎に予測計画部100と同時多接続パイプライン1100のスペックを最適化することができる。
【0123】
<エッジの詳細>
図13は、エッジ1200の詳細を示すブロック図である。図13では、エッジ1200がひとつだけ示されているが、図12のように全体制御部1240は、複数のエッジ1200を管理してもよい。エッジ1200は、同時多接続パイプライン1100と予測計画部100を備える。データの流れを太い矢印で示し、制御フローを一方向または双方向の細い矢印で示している。
【0124】
予測計画部100は、既に説明した実施例のとおり、DNN101、リザーバー102、アニーリングマシン103から選ぶ任意の組み合わせを備える。また、予測計画部100は、AIオーケストレータ1045とフィードバックおよびフィードフォワード部1046を備える。AIオーケストレータ1045とフィードバックおよびフィードフォワード部1046は、サーバー104の機能の一部であり、記憶装置1044にプログラムとして格納される。
【0125】
同時多接続パイプライン1100は、図11で説明したデータフローコントローラ1110と時間空間オーガナイザ1120を備える。また、同時多接続パイプライン1100は、同期通信計測部1101、位置速度計測部1102、制御フローコントローラ1103を備える。同時多接続パイプライン1100の機能は、サーバー104の機能の一部であり、記憶装置1044にプログラムとして格納される。この場合、図13で別個のブロックとされている、AIオーケストレータ1045、フィードバックおよびフィードフォワード部1046および同時多接続パイプライン1100は同一のサーバー104にソフトウェアで実装される。あるいは、サーバー104とは別のサーバー等で同時多接続パイプライン1100を構成して、予測計画部100に接続してもよい。
【0126】
全体制御部1240は、運用管理DB1241、複合AI1242、GUI(Graphical User Interface)を含むアセット制御部1243を備える。
【0127】
例えば現場1210の管理者であるユーザが、エッジ1200に所望の機能を実装する場合には、ユーザは全体制御部1240を介して、予測計画部100と同時多接続パイプライン1100の設定を行うことができる。運用管理DB1241は、配下の予測計画部100a~fと同時多接続パイプライン1100a~fの構成を記憶する。予測計画部100と同時多接続パイプライン1100の構成は、AIオーケストレータ1045に送信される。
【0128】
AIオーケストレータ1045は、前記パターン1からパターン6の選択、それにもとづくDNN101、リザーバー102、アニーリングマシン103等の演算タイプの選択、各演算タイプに対する接続形態(ピアツーピア型接続かスター型接続か)の指定、使用する子デバイスの選択、子デバイス間の各接続に対する接続要、不要の指定などを行う。また、AIオーケストレータ1045は、パイプライン運用管理部1300に当該予測計画部100に入力するデータの順序を指示する。データの順序には、到達順、発信時間順、距離順等がある。これらの設定はアセット制御部1243、あるいはネットワークで接続されたユーザ端末1305から、DNN101、リザーバー102、アニーリングマシン103等の処理内容に応じて行う。また、運用管理DB1241は、エッジ1200のトラブル時の復旧用ミラーサイトとしてバックアップの機能も備える。DNN101、リザーバー102の学習は、全体制御部1240で行ってもよいし、エッジ1200で行ってもよい。
【0129】
なお、複合AI1242は、エッジ1200で行う必要のない、あるいは、クラウドで行ったほうがよい計算を行う。エッジ1200で行う必要のない計算の一例は、所定以上の遅延が許されるケースである。例えば、ルーチン動作から逸脱のない動作は、クラウド内で処理すればよい。クラウドで行ったほうがよい計算の一例は、エッジに保存できない量のビッグデータを用いた予測などである。大量のデータはクラウド上に保存され、複合AI1242が処理することになる。取得したデータや計算結果もクラウドに保存されることにする。
【0130】
DNN101、リザーバー102、アニーリングマシン103等が実装されたエッジ1200は、センサ部1220あるいは他のエッジ1200からのデータを処理することができる。
【0131】
パイプライン運用管理部1300は、エッジ管理DB1301、通信制御部1302、送信時間DB1303、時間空間DB1304を備える。
【0132】
エッジ管理DB1301は、当該エッジに接続された現場1210に配置された、人1211、ロボット1212、各種機器1213、交通機関1214などの基本情報を管理する。また同じく接続されたセンサ部1220の基本情報を管理する。また、接続に用いている通信回線の基本情報を管理する。基本的情報は各機器や回線の規格や仕様である。
【0133】
また、エッジ管理DB1301は、センサ部1220から送られてくるデータフローとDNN101、リザーバー102、アニーリングマシン103、サーバー104の入力端子との対応を管理する。対応付けは、センサ部1220の構成に関する情報やDNN101、リザーバー102、アニーリングマシン103の構成に関する情報にもとづいて設定される。ユーザが設定することもできる。例えば、実施例10,11の例では、同一のデータフローを各DNN101に並列に送信(ブロードキャスト)してもよいし、データフローをまずサーバー104だけに送信し、サーバー104から各DNN101に並列に送信してもよい。実施例7の例では、同一のデータフローを各リザーバー102に並列に送信してもよいし、まず、サーバー104だけに送信し、サーバー104から各リザーバー102に並列に送信してもよい。実施例9の例では、データフローをDNN101-1だけに送信、あるいは、サーバー104だけに送信してもよい。データフローを制御するための情報等、エッジ管理DB1301の情報は、運用管理DB1241からAIオーケストレータ1045を介して、あるいは別途入力される。このように、データフローコントローラ1110が、どのようにデータフローを並び替え、分割し、送信するかは、センサ部1220の構成と予測計画部100の子デバイスの構成に依存する。
【0134】
通信制御部1302は、センサ部1220から送信されるデータの測定や通知のタイミングを、制御フローコントローラ1103を介して公知の技術により制御する。また、エッジ1200が行う通信処理全体を統括するものとする。通信制御部1302の設定は、運用管理DB1241からAIオーケストレータ1045を介して、あるいは別途入力される。
【0135】
送信時間DB1303と時間空間DB1304は、後述のようにエッジ1200の運用に伴って収集されたデータを格納する。なお、バックアップ等のため、パイプライン運用管理部1300のデータは、適宜運用管理DB1241に複製を作成するものとする。
【0136】
同期通信計測部1101は、水晶時計あるいは原子時計等の基準となる基準時計を備えている。同期通信計測部1101は、データ送信元になるセンサ部1220に基準時計の時刻をブロードキャストする。ブロードキャストするチャネルは例えば5Gの無線チャネルである。コスト増加要因になるが、各センサ部1220が原子時計等を備えるようにして、ブロードキャストを省略してもよい。かかる構成により、各センサ部1220は共通の時計を備えることができるので、送信データに、共通の時間軸によるタイムスタンプを付すことができる。同期通信計測部1101は、受信したデータのタイムスタンプとデータ受信時の自己の基準時計の時刻の差分から、各センサ部1220からのデータの送信遅延時間(送信にかかる時間)を計算することができる。各センサ部1220に対応するデータの送信遅延時間は、送信時間DB1303としてパイプライン運用管理部1300に記録される。
【0137】
位置速度計測部1102は、制御対象となる人1211、ロボット1212、各種機器1213、交通機関1214、あるいはセンサ部のセンサの位置や速度を計測する。制御対象は、それが備えるGPS(Global Positioning System)や全世界測位システム(GNSS:Global Navigation Satellite System)等により、自己の位置や移動速度を測定することができる。GPSやGNSSの位置精度は1メートルオーダーのため、さらに高い精度を得るためには、RTK(Real Time Kinematic)等を用いる。RTKでは、GPSやのGNSSの位置情報を、制御対象と位置速度計測部1102の2か所で取得し、位置速度計測部1102の位置情報を制御対象側にブロードキャスト送信し、その差分を用いて位置情報のずれを修正することで、数センチメートルの精度を可能にする。また、制御対象を撮影しているカメラの情報や、5Gやポスト5Gで使われる基地局から放出されるミリ波を用いて、位置情報を補正することもできる。かかる構成により、各センサ部1220からの送信データに、送信元の正確な位置情報を付すことができる。また、送信データには、位置情報に代えて、あるいは位置情報に加えて、重量センサ、光学式センサ、画像データ、熱センサなど各種のセンサで取得したデータを含めることもできる。
【0138】
時間空間オーガナイザ1120は、受信したデータに時間情報と位置情報その他のセンサ情報をラベリングする。具体的には、受信データの到着時間から遅延時間データテーブルの遅延時間を差し引くことにより、データの発信時間(データの生成時間に等しいとみなせる)を算出する。算出したデータ生成時間と位置情報を受信データにヘッダとして付与する。これにより、受信データ収集時間と位置の四次元座標化が可能になり、パイプライン運用管理部1300内に時間空間DB1304が生成できる。また、時間空間オーガナイザ1120は、同期通信計測部1101で測定したデータの送信遅延時間から、遅延やジッタのモニタリングを行うことができる。また、遅延やジッタに基づいてセンサ部1220を分類してスライシングすることができる。
【0139】
データフローコントローラ1110は、予測計画部100でのリアルタイム処理のために、データ生成時間順に解析が行われるように受信データを並び替える。このため、データフローコントローラ1110は、時間空間オーガナイザ1120がデータに付与したラベリングに基づいて、受信データを並び替えるためのバッファの機能を有する。具体的な実装例としては、データバッファとしてDRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等のワークメモリへの一時記憶を行うことにより、データの並び替えを行う。データフローコントローラ1110はまた、エッジ管理DB1301の情報に従って並び替えたデータに宛先ヘッダを付し、複数のDNN101、リザーバー102、アニーリングマシン103へ送信してもよい。
【0140】
また、データフローコントローラ1110は、上記の時間順にデータを並び替えるモードの他に、到着順にデータを予測計画部100に送ってもよい。このモードはデータの時間順が厳密に要求されない場合に適用でき、予測結果や行動計画結果を最短の時間で得ることができる。あるいは、送信元の特定の位置に注目した解析を行うため、特定のセンサのデータを優先的に予測計画部100に送ってもよい。例えば、工場などのフロア全体のロボットやドローンを監視中に、ある一台に変化が起こった場合、その一台の位置を特定、トレースして挙動を優先して解析したい場合である。
【0141】
制御フローコントローラ1103は、通信制御部1302の指示により、現場1210の制御対象やセンサ部1220のセンサに対する制御信号を配信する。制御信号は、DNN101、リザーバー102、アニーリングマシン103の出力に基づき、フィードバックおよびフィードフォワード部1046で生成されたフィードバック信号、あるいはアセット制御部1243の指示によりフィードバックおよびフィードフォワード部1046で生成されたフィードフォワード信号である。
【0142】
アセット制御部1243は、先に述べたようにエッジ1200の内容を設定するためのユーザインタフェースとなる他、エッジ1200が出力する予測結果に基づいて、ユーザが現場1210の制御対象やセンサ部1220のセンサを直接制御するインターフェースにもなる。アセット制御部1243は、ユーザ端末1305の入力により所望の制御をするように構成してもよい。
【実施例14】
【0143】
<AIの学習の詳細>
公知のようにDNN101、リザーバー102は、ニューロンのネットワークを構成しており、重みなどのパラメータについて学習が行われた後、推論、すなわち、AIの実行が可能になる。本実施例で採用できるいくつかの学習の方式を以下で説明する。
【0144】
第一の方式は、サーバー104の中で閉じた形で、DNN101やリザーバー102のニューロンネットワーク構成と同一の構成(レプリカ)をサーバー104内に形成して学習を行う。サーバー104内だけで学習が行われるため、学習を高速に行うことができる。レプリカは、AIオーケストレータ1045が、実際のDNN101やリザーバー102の構造を子デバイス間の接続も含めて模倣して、生成すればよい。
【0145】
リザーバー102の場合、サーバー104内にリザーバー層のネットワークのレプリカを準備するとともに、サーバー104内に持っている本来の入力層と出力層を用いて学習を行う(図8C参照)。教師データとしては、タスクに相当する入力教師信号と出力教師信号をサーバー104内で生成する。教師データの生成に必要な情報は、例えば運用管理DB1241に格納された過去データを読み出して使用する。学習するのは、出力層のパラメータ(重みなど)だけである。リザーバー層のニューロンのパラメータ(重みなど)と上記レプリカ構成内の対応するパラメータは、あらかじめランダムに設定された値に固定されている。サーバー104内の出力層のパラメータだけを学習するため、学習結果を各リザーバー102へ送信する必要はない。
【0146】
DNN101の場合、リザーバーコンピューティングの場合と同様に、サーバー104内に別途備えた、DNNのレプリカ構成を用いて学習を行うことができる。DNNの学習では、すべての、あるいは一部のニューロンのパラメータ(重みなど)を学習する。リザーバーコンピューティングの場合と異なり、学習したパラメータを、該当するDNN101の該当するニューロンに反映させる必要があるので、学習したパラメータの情報を、サーバー104から例えば無線インターフェース105を用いて各DNN101に送信し、パラメータを設定する。
【0147】
なお、リザーバーコンピューティングの場合も、DNNと同じように、リザーバー層のニューロンのパラメータを学習させることがありうる。その場合は、DNNの場合と同様に、サーバー104から各リザーバー102に、学習したニューロンのパラメータを送信して設定すればよい。
【0148】
第二の方式は、DNN101やリザーバー102のニューロンネットワークをそのまま用い、推論時と同じ構成で学習する。
【0149】
リザーバーコンピューティングの場合、入力教師信号と出力教師信号をサーバー104内で生成し、入力教師信号を無線インターフェース105で各リザーバー102にブロードキャストする。サーバーが各リザーバー102のニューロン出力を受信して、自分の持つ出力層で処理を行う。出力層の出力信号(すなわち、リザーバーコンピューティングとしての出力信号)と出力教師信号を比較して、その差がゼロに近づくように、サーバー104内の出力層のパラメータ(重みなど)を更新する。パラメータの更新は、サーバー104内だけで生じるため、更新の際、サーバー104から各リザーバー102への送信は不要であり、学習を高速に行うことができる。
【0150】
DNNの場合(子デバイスが直列に接続された場合を想定)、入力教師信号と出力教師信号をサーバー104内で生成し、入力教師信号を、DNN初段を担うDNN101-1に送信する(図10A図10B参照)。DNN最終段を担うDNN101-4の出力(すなわち、ディープラーニングとしての出力)をサーバー104が受信する。この出力信号と出力教師信号を比較して、その差がゼロに近づくように、各DNN101のパラメータ(ニューロンの重みなど)を更新する。パラメータを更新するために、サーバー104から各DNN101への送信が必要である。したがって、レプリカによる学習と比べて、学習は低速となる。
【0151】
第一のサーバー内レプリカを用いる方式では、子デバイスと親デバイス(サーバー)の回路構成が完全に同一ではない場合、特性にずれが生じるため、精度の点では第二の実際のデバイスを用いる方式に劣る。特に子デバイスを、低消費電力を志向したアナログ回路で実装している場合、アナログ回路の製造バラツキや、温度や電源電圧変動にともなう回路特性変動に起因して、サーバー内のレプリカと、子デバイス内の実物の特性(重みの値など)にずれが生じる。第二の方式により、実際の子デバイスを用いて定期的に学習を行うことで、特性変動に追従できるため、高い推論精度を維持できる。一方、レプリカを用いる方式は、前記の通り、高速な学習が可能という利点がある。
【0152】
以上の学習は、あらかじめタスクを想定して、DNN101やリザーバー102を実運用する前に行うほか、新しいタスクに対応するために、実運用中の任意のタイミングで行ってもよい。また、上記方法で定期的に学習を繰り返し、追加学習とすることもできる。追加学習により、現場の状況変化やセンサの特性変化、あるいは、後述のデータフローコントローラの設定の変更等に対応が可能である。
【0153】
なお、上記では教師有り学習の例を説明したが、強化学習や公知の他の学習方法を採用してもよい。強化学習では、実際に推論を行いながら、サーバー104が何らかの指標で現在のAIの成果を評価し、評価結果にもとづいて、リザーバーの出力層の重みやDNNの重みを更新する。以上説明した学習機能は、AIオーケストレータ1045の機能の一部として持てばよい。
【実施例15】
【0154】
<段階的複合AI>
図14は、図12図13のシステム構成による段階的複合AIの概念を示すブロック図である。先の実施例で説明したデータフローコントローラ1110は、データフローを実際のイベント発生順に並び替えるので、現実の時空間を正確に反映したデータを生成でき、精度の良い推論や予測が可能である。一方、データフローコントローラ1110は、一種のバッファなので、原理的にデータ遅延が生じる。そこで、精度と遅延時間はトレードオフの関係にある。また、運用の初期段階では、とにかく何らかの推論結果を得ることが優先される場合もある。そこで、本実施例では、データフローコントローラ1110が状況や段階に応じてデータフローの制御を可能とする例を示す。具体的な例としては、センサ側の送信タイミングに基づいてデータを並び替える際に、並び替えるデータの割合を変更し、並び替えるデータの割合を変更したことによる、処理の精度と速度を評価可能とする。
【0155】
まず、データフローコントローラ1110は、データの並び替え制御をキャンセルして、到着順にデータを予測計画部100で処理させる(S1401)。この場合、原理的には低遅延で最高速の計算が可能である(S1402)。
【0156】
次に、データフローコントローラ1110は、AIオーケストレータ1045の設定に従って、例えば、一つ、または複数の所定のセンサからのデータフローのみを発生順に並び替える(S1403)。どのセンサのデータフローを並び替えるかの設定は予め決めておいてもよいし、ユーザが動的に変更してもよい。具体例としては、並び替えるデータの割合を変更する際に、センサ側に複数種類のセンサがある場合、センサの種類ごとに並び替えるデータと、並び替えないデータに区別して制御する。センサ種類毎に制御する他、送信元毎、回線毎、あるいは任意のグルーピングを基に制御してもよい。これらは、データフロー中の送信元アドレスやフラグ等に基づいて識別することができる。
【0157】
この結果、制御の条件によっては、遅延が多少大きくなるが、精度が上がるかもしれない。遅延時間と精度は、例えば全体制御部1240で、あらかじめ決めた理想的な遅延時間と精度の条件と比較して評価する(S1404)。データフローコントローラ1110は、以上のように、コントロールするデータフローとコントロールしないデータフローの組み合わせを何通りか(あるいは全て)試行する。
【0158】
一つの方法では、全ての組み合わせを試してみて、最も評価がよいものをデータフローコントローラ1110の設定とする。上記では、センサごとにデータフローのコントロールの有無を切り替える例を示したが、制御対象とする機器ごと、あるいは、現場の位置ごと等、他の組み合わせもあり得る。例えば、予め精度が重視される部分(あるいはセンサ)に優先度をつけて置き、優先度順に時間順のデータフローに並び替える等である。
【0159】
上記の例では、実際の子デバイスに入力するデータフローの順序を変更しているが、実施例14で説明したレプリカを用いて学習を行う第二の方式を採用した場合、レプリカに変更したデータフローを入力して評価に用い、実際の子デバイスではレプリカで得られたもっともよい条件に切り替えて、データフローコントローラ1110を動作させるという方式もあり得る。この方式では、予測計画部100の出力は次第に目標とする遅延時間と精度の条件に近づいていくことになる。
【0160】
別の方法では、次第にコントロールするデータフローの割合を増やしていき(たとえば単調増加)、遅延時間があらかじめ設定した上限に達したときにデータフローコントローラ1110の設定を固定することにしてもよい。この場合には、遅延時間の許容範囲内で、段階的に精度が向上していくことになる。
【実施例16】
【0161】
<未来予測フィードフォワードAI>
図15は、図12図13のシステム構成による現状解析と未来予測の並行実施の概念を示すブロック図である。図12のような階層型のエッジ構成では、各階層のエッジの能力や仕様、さらにエッジに提供されるデータの量や転送速度が異なるので、各階層のエッジに適した処理を分担させることができる。
【0162】
クラウドに近い全体制御部1240の複合AI1242(DNN、リザーバー、アニーリングマシン等で構成される)では、ビッグデータが利用可能でかつビッグデータを処理可能なリソースがあるが、現場から離れているのでリアルタイムデータの入手には不利である。そこで、複合AI1242では、リアルタイムのセンサデータでなく、DBの過去の履歴データを用いて、突発的な事象を考慮する必要のないルーチンの動作の大まかな未来予測を行う(S1501)。
【0163】
予測計画部100では、DNN101とリザーバー102、あるいはリザーバー102を用いて、100msec程度の未来の予測を行う(図3のパターン4と5)。また、DNN101またはリザーバー102、およびアニーリングマシン103を用いて行動・軌道計画等を行う(図3のパターン1~3,6、S1502)。この処理のための入力として、リアルタイムのセンサデータを用いる。
【0164】
DNNの特徴抽出やリザーバーの特徴抽出、予測で得られた複数(例えば1万)時間ステップ分の時系列出力を使って、アニーリングマシンは一つの最適化問題の設定および求解を行う。この場合は、解法スループットが1万倍遅いが、より複雑な状態に対して、最適な行動を選択することができる。
【0165】
例えば、都市の中の人流を5分間、DNN101やリザーバー102で特徴抽出し、その5分間の結果を用いて、次の5分間かけて、人流を均一化する最適化問題として、サーバー104が問題設定する(すなわち、アニーリングマシン103のスピン間の結合係数を決定)。さらに、アニーリングマシンに、上記結合係数を送信し(問題設定完了)、アニーリングマシンは、さらに次の5分間かけて、上記問題を解き、結果をサーバー104に返す。サーバー104は、その結果にもとづき、例えば、街角に置かれたディプレイに、推奨経路を表示する。上記15分の動作を周期的に繰り返すことで、都市の混雑を緩和することが考えられる。
【0166】
しかし、上記説明から明らかなように、アニーリングマシンによる処理は、DNN101やリザーバー102のみで処理を行うより時間がかかる。DNN101やリザーバー102のみでの特徴抽出や予測によると、よりリアルタイムに処理、応答が可能である。
【0167】
例えば、人がつぎにやりたいことを、人の動きの特徴抽出、あるいは、予測により推定し、事前に、アクチュエータで支援(あるいは指示)、または、ウェアラブルディスプレイ等で支援(必要な道具の場所を教示する等)することが考えられる。例えば、人が非定常作業を遠隔から行おうとする場合、支援が伝わるまでの時間に違和感が生じないようにするには、脳の感度である200msec以内の動作があらかじめ予測できるとよい。異常の前兆だけでなく、非定型作業の前兆を検知する予測を行ってもよい。さらに、世界の裏側や、人工衛星への通信で発生する通信遅延の隠蔽に、未来予測を使うことができる。
【0168】
さらにレスポンスを早くするためには、現場に近いエッジにおいてリアルタイムのセンサデータでDNN101やリザーバー102の特徴抽出のみを行い、機器の異常などを高速に認識して突発動作に対する緊急停止対応などを可能にする。
【0169】
以上説明した実施例1~16は、適宜組み合わせて実施することができる。
【符号の説明】
【0170】
予測計画部100、DNN101、リザーバー102、アニーリングマシン103、サーバー104、無線インターフェース105、センサ200、出力部300、同時多接続パイプライン1100、データフローコントローラ1110、時間空間オーガナイザ1120、エッジ1200、全体制御部1240
図1
図2
図3
図4
図5
図6A
図6B
図6C
図6D
図7
図8A
図8B
図8C
図8D
図9A
図9B
図9C
図10A
図10B
図11
図12
図13
図14
図15