JP7514716B2 - Information processing system, hierarchical edge system, and information processing method - Google Patents
Information processing system, hierarchical edge system, and information processing method Download PDFInfo
- Publication number
- JP7514716B2 JP7514716B2 JP2020163304A JP2020163304A JP7514716B2 JP 7514716 B2 JP7514716 B2 JP 7514716B2 JP 2020163304 A JP2020163304 A JP 2020163304A JP 2020163304 A JP2020163304 A JP 2020163304A JP 7514716 B2 JP7514716 B2 JP 7514716B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- information processing
- reservoir
- server
- transmitted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 39
- 238000003672 processing method Methods 0.000 title claims description 4
- 238000000137 annealing Methods 0.000 claims description 121
- 238000012545 processing Methods 0.000 claims description 84
- 230000005540 biological transmission Effects 0.000 claims description 48
- 238000004891 communication Methods 0.000 claims description 43
- 238000005457 optimization Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 15
- 238000005259 measurement Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 6
- 238000002372 labelling Methods 0.000 claims description 2
- 230000008707 rearrangement Effects 0.000 claims 1
- 210000002569 neuron Anatomy 0.000 description 65
- 238000000034 method Methods 0.000 description 49
- 230000006870 function Effects 0.000 description 43
- 238000004364 calculation method Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 33
- 238000007906 compression Methods 0.000 description 31
- 230000006835 compression Effects 0.000 description 27
- 238000013473 artificial intelligence Methods 0.000 description 26
- 238000007726 management method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000013144 data compression Methods 0.000 description 10
- 238000013135 deep learning Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 239000002131 composite material Substances 0.000 description 7
- 230000005366 Ising model Effects 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000001934 delay Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000006837 decompression Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000010391 action planning Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 238000003892 spreading Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005283 ground state Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Description
本発明は、通信手段を用いて収集したデータを処理する技術に関する。 The present invention relates to a technology for processing data collected using communication means.
通信技術やセンサの高速化、高機能化に伴い、自動車やロボットなどのモノとヒトに跨って、広域社会システム全体を繋げることが可能になっている。このようなIoT(Internet of Things)環境において、フィジカル空間の情報をサイバー空間に送り、サイバー空間内にフィジカル空間の環境を再現するデジタルツインの概念が提唱されている。 As communication technology and sensors become faster and more functional, it is now possible to connect entire wide-area social systems, spanning people and things such as automobiles and robots. In this IoT (Internet of Things) environment, the concept of digital twins has been proposed, which sends information from the physical world to cyberspace and recreates the physical world environment within cyberspace.
デジタルツインを活用することで、フィジカル空間のモニタリングを行える他、サイバー空間上でのリアルタイム予測等に基づいて、自動的にシステム全体が連動するシステムの実現が期待される。すなわち、このサイバー空間上での予測に基づいて、現実世界における変化を予測し、対応することができる。 By utilizing digital twins, it is expected that not only will it be possible to monitor the physical space, but it will also be possible to realize a system in which the entire system is automatically linked based on real-time predictions in cyberspace. In other words, it will be possible to predict and respond to changes in the real world based on these predictions in cyberspace.
このようなシステムは、例えば、ロボットと人が協働するスマート工場、自動運転化した鉄道や自動車同士の連動制御、移動体(ロボット、モビリティなど)への電力の供給制御など、社会システム全体をリアルタイムかつ低環境負荷で制御するために有用である。 Such systems will be useful for controlling entire social systems in real time with low environmental impact, for example, in smart factories where robots and humans work together, in linking autonomous trains and automobiles, and in controlling the supply of electricity to moving objects (robots, mobility, etc.).
5Gと称される第5世代移動通信システムは、2020年から日本国内でサービス開始を予定している。5Gの技術として、ネットワークスライシングやエッジコンピューティングが注目されている。ネットワークスライシングでは、同一の物理ネットワークアーキテクチャの上に、用途に応じた仮想的な独立の論理ネットワークを多重化する。エッジコンピューティングは、利用者や端末と物理的に近い場所(エッジ)に処理装置(MEC(Mobile Edge Computing、または、Multi-access Edge Computing)サーバー)を分散配置して、ネットワークの端点でデータ処理を行う。 The fifth-generation mobile communication system, known as 5G, is scheduled to begin service in Japan in 2020. Network slicing and edge computing are attracting attention as 5G technologies. Network slicing multiplexes virtual, independent logical networks according to application on the same physical network architecture. Edge computing distributes processing devices (MEC (Mobile Edge Computing, or Multi-access Edge Computing) servers) to locations (edges) physically close to users and terminals, and processes data at the edge of the network.
また、演算手段として、ディープニューラルネットワーク(DNN)やリザーバー計算機(リザーバーコンピューティング)等で構成される人工知能(AI)、アニーリングマシン等がある。リザーバー計算機はリカレントニューラルネットワーク(Recurrent Neural Network:RNN)の一種で、入力層、中間層(リザーバー層)、出力層(リードアウトニューロン層)の3層で構成され、例えば教師あり学習で学習される。アニーリングマシンは、最適化問題を解くためにイジングモデル等を応用した処理デバイスである。 In addition, computational methods include artificial intelligence (AI) consisting of deep neural networks (DNN) and reservoir computing, as well as annealing machines. A reservoir computer is a type of recurrent neural network (RNN) that consists of three layers: an input layer, an intermediate layer (reservoir layer), and an output layer (read-out neuron layer), and learns, for example, through supervised learning. An annealing machine is a processing device that applies the Ising model, etc. to solve optimization problems.
ネットワークスライシングについて特許文献1のようなものがある。また、アニーリングマシンの例としては、特許文献2のようなものがある。
Regarding network slicing, see
広域社会システム全体を繋げ、遅延なく全体を制御するためには、データの収集、データの処理、システムの制御をリアルタイムで動作させる必要がある。 In order to connect the entire wide-area social system and control it without delay, data collection, data processing, and system control must occur in real time.
このために、DNN、リザーバー計算機等で構成される人工知能(AI)、あるいは特許文献2のようなアニーリングマシンによる処理が提案されるが、データ量の増加やリアルタイム処理の要求に伴い処理能力を拡大あるいは高機能化する必要がある。
For this purpose, artificial intelligence (AI) consisting of DNN, reservoir computers, etc., or processing using annealing machines such as those described in
そこで本願発明の目的は、必要なデータ処理量や処理内容に応じて適応可能なデータ処理技術を提供することにある。 The object of the present invention is to provide a data processing technology that can be adapted according to the required amount of data processing and the processing content.
本発明の一側面は、関数近似器およびアニーリングマシンから選ばれる少なくとも一種の処理デバイスを含む処理部と、センサ側から送信されるデータを受信し、前記処理部へ送信するデータフローコントローラを備え、前記データフローコントローラは、前記処理部へ送信するデータを、前記センサ側の送信タイミングに基づいて並び替える、情報処理システムである。 One aspect of the present invention is an information processing system that includes a processing unit that includes at least one processing device selected from a function approximator and an annealing machine, and a data flow controller that receives data transmitted from a sensor side and transmits the data to the processing unit, and the data flow controller rearranges the data to be transmitted to the processing unit based on the transmission timing of the sensor side.
本発明の他の一側面は、上記構成の情報処理システムを複数備え、前記センサ側から順に、第1の情報処理システム、第2の情報処理システム、および第3の情報処理システムの階層構造を有する、階層型エッジシステムである。 Another aspect of the present invention is a hierarchical edge system that includes multiple information processing systems having the above-described configuration, and has a hierarchical structure of a first information processing system, a second information processing system, and a third information processing system, in that order from the sensor side.
本発明の他の一側面は、関数近似器およびアニーリングマシンから選ばれる少なくとも一種の処理デバイスを含む処理部により、センサ側から送信されるデータを処理する情報処理方法である。前記センサ側から送信されるデータを受信し、前記処理部へ送信するデータフローコントローラを用い、前記センサ側から送信されるデータは、異なるセンサから得られたデータ、異なる経路を経たデータ、および異なる通信手段によるデータの少なくとも一つを含み、前記データフローコントローラは、前記処理部へ送信するデータを、前記センサ側の送信タイミングに基づいて並び替える。 Another aspect of the present invention is an information processing method for processing data transmitted from a sensor side by a processing unit including at least one processing device selected from a function approximator and an annealing machine. A data flow controller is used to receive data transmitted from the sensor side and transmit it to the processing unit, and the data transmitted from the sensor side includes at least one of data obtained from different sensors, data that has passed through different routes, and data by different communication means, and the data flow controller rearranges the data to be transmitted to the processing unit based on the transmission timing of the sensor side.
必要なデータ処理量や処理内容に応じて適応可能なデータ処理技術を提供することができる。 We can provide data processing technology that can be adapted to the amount of data processing required and the processing content.
以下、実施の形態について図面を用いて詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。 The following describes the embodiments in detail with reference to the drawings. However, the present invention should not be interpreted as being limited to the description of the embodiments shown below. It will be easily understood by those skilled in the art that the specific configuration can be changed without departing from the concept or spirit of the present invention.
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。 In the configuration of the invention described below, the same parts or parts having similar functions are designated by the same reference numerals in different drawings, and duplicate descriptions may be omitted.
同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。 When there are multiple elements with the same or similar functions, they may be described using the same reference numerals with different subscripts. However, when there is no need to distinguish between multiple elements, the subscripts may be omitted.
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。 The designations "first," "second," "third," and the like in this specification are used to identify components and do not necessarily limit the number, order, or content. Furthermore, numbers for identifying components are used in different contexts, and a number used in one context does not necessarily indicate the same configuration in another context. Furthermore, this does not prevent a component identified by a certain number from also serving the function of a component identified by another number.
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。 The position, size, shape, range, etc. of each component shown in the drawings, etc. may not represent the actual position, size, shape, range, etc., in order to facilitate understanding of the invention. Therefore, the present invention is not necessarily limited to the position, size, shape, range, etc. disclosed in the drawings, etc.
本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。 The publications, patents and patent applications cited herein are incorporated by reference in their entirety into the present specification.
<情報処理システムの基本構成>
図1は、実施例1の情報処理システムの基本構成を示すブロック図である。このシステムは、予測計画部100、センサ200、出力部300を備える。
<Basic configuration of information processing system>
1 is a block diagram showing the basic configuration of an information processing system according to
予測計画部100は、ディープニューラルネットワーク(DNN)101、リザーバー102、アニーリングマシン103、およびサーバー104を含む。予測計画部100は、センサ200からのデータを入力とし、演算結果を出力部300に出力する。予測計画部100の演算結果は、例えば無線通信により出力部300に送られる。予測計画部100の演算結果は、例えば認識、理解、判断、予測あるいは行動計画(これらを総称して推論ということがある。DNN101、リザーバー102、アニーリングマシン103の処理や出力自体も推論ということがある。)である。
The prediction and
センサ200は、例えば人の位置や動き、機械やロボットの状態、交通機関あるいは環境の状態など、フィジカル空間のデータを公知のセンサデバイスやカメラで収集し、データを例えば無線通信により予測計画部100に送る。センサ200は、位置、加速度、音、温度、振動、匂い、画像など、様々な状態を検出するものが想定される。
The
出力部300は、例えばアクチュエータを制御するインターフェースやディスプレイである。アクチュエータは、入力されたエネルギーもしくは電気信号を物理的運動に変換する、機械・電気回路を構成する機械要素である。アクチュエータは、予測計画部100の演算結果、例えば行動計画結果により制御される。ディスプレイは、演算結果、例えば行動計画結果または予測結果を人が認識できるよう表示する。
The
予測計画部100は、親デバイスであるサーバー104と、複数の子デバイス(DNN101、リザーバー102、アニーリングマシン103から選ばれる少なくとも一種)を備える。予測計画部100は、親デバイスと子デバイス間の無線または有線による通信、さらに、子デバイス間の通信により、連携して、予測や行動計画のための演算を行い、演算結果にもとづき、アクチュエータを制御し、あるいは結果をディスプレイに表示する。
The prediction and
本実施例では、子デバイスは独立した端末で構成されることを想定しているので、子デバイス間の有線接続を適用する場合は、例えば半導体チップ内やチップ間のバス接続ではなく、長距離伝送用のトランシーバ(送受信回路)を備える必要がある。すなわち、長距離伝送用のトランシーバは、長距離伝送にともなう信号波形の減衰や劣化を補償するために、送信回路には送信アンプ(アナログ回路)を備えており、また、受信回路には、受信アンプ(アナログ回路)、イコライザ(波形等化回路)、同期回路などを備える必要がある。 In this embodiment, it is assumed that the child devices are composed of independent terminals, so when applying a wired connection between child devices, it is necessary to provide a transceiver (transmitter/receiver circuit) for long-distance transmission, rather than, for example, a bus connection within a semiconductor chip or between chips. That is, a transceiver for long-distance transmission must have a transmitter amplifier (analog circuit) in the transmitter circuit to compensate for attenuation and deterioration of the signal waveform that accompanies long-distance transmission, and a receiver amplifier (analog circuit), an equalizer (waveform equalization circuit), a synchronization circuit, etc. in the receiver circuit.
図1では、DNN101、リザーバー102、アニーリングマシン103は、各2個配置されるが、数は任意であり各3個以上でもよい。これは以下の実施例でも同様であり、子デバイスの数は必要に応じて任意に設定できる。子デバイス間の連携により、所望の規模の演算を行うことが可能である。
In FIG. 1, two
サーバー104は、公知のサーバーの構成として、入力装置1041、出力装置1042、処理装置1043、記憶装置1044を備える。本実施例ではサーバー104による演算や制御等の機能は、記憶装置1044に格納されたプログラムが処理装置1043によって実行されることで、定められた処理を他のハードウェアと協働して実現される。サーバーが実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」、「ユニット」、「モジュール」等と呼ぶ場合がある。
The
以上の構成は、単体のサーバーで構成してもよいし、あるいは、入力装置1041、出力装置1042、処理装置1043、記憶装置1044の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。
The above configuration may be configured as a single server, or any of the
本実施例中、ソフトウェアで構成した機能と同等の機能は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などのハードウェアでも実現できる。 In this embodiment, functions equivalent to those configured by software can also be realized by hardware such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit).
本実施例によれば、大規模システムの動的な最適制御を実現し、高い臨場感を創出することができる。上記構成は典型的な一例である。サーバーは一般的な計算機でもよいし、MECサーバーでもよい。センサ200をサーバー104あるいは端末側に持たせることもできる。
According to this embodiment, dynamic optimal control of a large-scale system can be realized, and a high sense of realism can be created. The above configuration is a typical example. The server may be a general computer or an MEC server. The
<子デバイスの連携システム>
図2は、実施例2の情報処理システムの全体構成を示すブロック図である。本実施例では、センサとして例えばガスセンサ201等の環境センサと、人や機器の状態を撮影するカメラ202を備えている。ガスセンサ201からのデータと、カメラ202からの画像データは、有線または無線でサーバー104に集約される。ここではサーバーとしてMECサーバーを用いてもよい。
<Child device linkage system>
2 is a block diagram showing the overall configuration of an information processing system according to a second embodiment. In this embodiment, the system includes an environmental sensor such as a
DNN101、リザーバー102、アニーリングマシン103、サーバー104は、其々無線インターフェース105を備えており、相互にデータの送受信が可能である。本実施例では、DNN101、リザーバー102、アニーリングマシン103のハード構成はそれぞれ同一規格とする。
The
ディープラーニングは、入力層、隠れ層、出力層からなるニューラルネットワーク(DNNなど)を学習し、入力ベクトルxに対して任意のベクトルf(x)を出力するように関数近似器を構成する技術である。すなわち、出力は、f1=f1(x1, x2, x3), f2=f2(x1, x2, x3)のように表現される。本実施例では、入力層と出力層をサーバー104で実現し、隠れ層をDNN101で構成する。厳密にはDNN101は、ディープニューラルネットワークの一部である隠れ層に対応するが、本明細書では便宜上DNNの呼称を用いる。DNN101は、例えば、教師あり学習により学習を行うことができる。本実施例では、DNN101は、ガスセンサ201からのデータと、カメラ202からの画像データから任意の特徴量を抽出できるように、公知の技術により学習済みとする。DNN101への入力が、時系列的なデータの場合には、DNN101からの出力も、時系列的な特徴量データとなる。
Deep learning is a technique for configuring a function approximator to learn a neural network (such as a DNN) consisting of an input layer, a hidden layer, and an output layer, and output an arbitrary vector f(x) for an input vector x. That is, the output is expressed as f1=f1(x1, x2, x3), f2=f2(x1, x2, x3). In this embodiment, the input layer and the output layer are realized by the
リザーバーコンピューティングは、入力層、中間層(リザーバー層)、出力層(リードアウトニューロン層)の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), ….)
・・・
のように表現される。
Reservoir computing is a technology that is composed of three types of layers, an input layer, an intermediate layer (reservoir layer), and an output layer (readout neuron layer), and that can perform supervised learning, forming a function approximator. In this embodiment, the input layer and the output layer are realized by the
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), ….)
...
It is expressed as follows.
リザーバーコンピューティングのほうが、ディープラーニングよりも、時系列信号に対するタスクの学習が容易という特長がある。具体的には、前者は出力層のニューロンの重みだけ学習すればよい。対して、後者(ディープラーニング)はすべての層のニューロンの重みを学習する必要がある。時系列信号タスクを処理するRNN(Recurrent Neural Network)やLSTM (Long Short-Term Memory)などのDNNの場合、Backpropagation through time (BPTT)という方法で学習が行われるが、上記の通り、各時間帯に対応するニューロンの層をすべて学習させる必要があり、容易ではない。よって、本実施例の一態様では、DNN101で人の形や位置、ガスの成分などの特徴量を抽出した後、これらの特徴量の経時変化から、リザーバー102で予測を行う。
Reservoir computing has the advantage that it is easier to learn tasks for time series signals than deep learning. Specifically, the former only needs to learn the weights of the neurons in the output layer. In contrast, the latter (deep learning) needs to learn the weights of neurons in all layers. In the case of DNNs such as RNNs (Recurrent Neural Networks) and LSTMs (Long Short-Term Memory) that process time series signal tasks, learning is performed using a method called Backpropagation through time (BPTT), but as mentioned above, it is necessary to train all layers of neurons corresponding to each time period, which is not easy. Therefore, in one aspect of this embodiment, after the
アニーリングマシン103は、最適化演算を行うデバイスであり、基本構成は例えば特許文献2に開示される。アニーリングマシン103は、2値のスピンを格納する複数ノードからなるスピンアレイ内部でスピン間の相互作用を実現し、エネルギー最小あるいは最大の状態に遷移することで、最適化問題を解く。なお、スピンの値を3値以上に拡張することもできる。
The annealing
本実施例では、例えば以下のような処理のパターンを想定する。処理はリアルタイムで行うことを想定している。具体的な適用例としては、例えば所定区画内の人流の予測や最適化がある。この場合、センサ200は、カメラや振動センサであり、歩行者の画像データや振動データを取得する。DNN101は、センサのデータから、各人の存在位置や向いている方向、姿勢や速度などの特徴量を検出する。リザーバー102は、将来のデータや特徴量を予測する。アニーリングマシン103は、現在あるいは将来の特徴量から、例えば出入り口の開閉や、エレベータの速度の計画値を算出し、例えば、人流の均一化などの最適化を行う。
In this embodiment, the following processing patterns are assumed, for example. It is assumed that the processing is performed in real time. Specific application examples include prediction and optimization of people flow within a specified area. In this case, the
図3は、図2の情報処理システムで可能な処理パターンの例を示す表図である。
パターン1:センサ200からの時系列データをサーバー104に送る。サーバー104から時系列データをDNN101に送信し、時系列の特徴量を抽出する。DNN101から時系列の特徴量をサーバー104経由でリザーバー102に送る。リザーバー102では時系列の特徴量から将来の特徴量を予測してサーバー104に送る。サーバー104では将来の特徴量を基にして最適化問題を生成し、アニーリングマシン103で処理可能なイジングモデルに変換して、アニーリングマシン103に問題を設定する。アニーリングマシン103で問題を解いた後、サーバー104が解を読み出し、例えば行動計画として出力部300に出力する。
FIG. 3 is a table showing examples of processing patterns possible in the information processing system of FIG.
Pattern 1: Time series data from the
パターン2:センサ200からの時系列データをサーバー104に送る。サーバー104から時系列データをDNN101に送る。DNN101では時系列データから時系列の特徴量を抽出してサーバー104に送る。サーバー104では特徴量を基にして最適化問題を生成し、アニーリングマシン103で処理可能なイジングモデルに変換して、アニーリングマシン103に問題を設定する。アニーリングマシン103で問題を解いた後、サーバー104が解を読み出し、例えば行動計画として出力部300に出力する。
Pattern 2: Time series data from the
パターン3:センサ200からの時系列データをサーバー104に送る。サーバー104から時系列データをリザーバー102に送る。リザーバー102では時系列データから将来のデータあるいは特徴量を予測してサーバー104に送る。サーバー104では将来のデータあるいは特徴量を基にして最適化問題を生成し、アニーリングマシン103で処理可能なイジングモデルに変換して、アニーリングマシン103に問題を設定する。アニーリングマシン103で問題を解いた後、サーバー104が解を読み出し、例えば行動計画として出力部300に出力する。
Pattern 3: Time series data from the
パターン4:センサ200からの時系列データをサーバー104に送る。サーバー104から時系列データをDNN101に送る。DNN101では時系列データから時系列の特徴量を抽出してサーバー104を介してリザーバー102に送る。リザーバー102では時系列の特徴量から将来の特徴量を予測してサーバー104に送る。サーバー104では将来の特徴量を予測値として出力部300に出力する。
Pattern 4: Time series data from the
パターン5:センサ200からの時系列データをサーバー104に送る。サーバー104から時系列データをリザーバー102に送る。リザーバー102では時系列データから将来のデータを予測してサーバー104に送る。サーバー104では将来のデータを予測値として出力部300に出力する。
Pattern 5: Time series data from the
パターン6:センサ200からの時系列データをサーバー104に送る。サーバー104から時系列データを基にして最適化問題を生成し、アニーリングマシン103で処理可能なイジングモデルに変換して、アニーリングマシン103に問題を設定する。アニーリングマシン103で問題を解いた後、サーバー104が解を読み出し、例えば行動計画として出力部300に出力する。
Pattern 6: Time series data from the
本実施例では、サーバー104と子デバイス101~103は無線インターフェース105を備えており、相互にデータの送受信が可能である。特に子デバイスのノードの出力を、子デバイス間で送受信することにより、DNN101、リザーバー102、アニーリングマシン103の機能を柔軟に設定可能である。ここで、DNN101やリザーバー102のニューロンとアニーリングマシン103のスピンを総称してノードと呼ぶことにする。
In this embodiment, the
子デバイス間は圧縮データを伝送し、各子デバイスの無線インターフェース105は圧縮伸張部を備えるものとする。サーバー104は各子デバイスに同期信号をブロードキャスト、または、各子デバイスが原子時計を備えることにより、子デバイス間の動作の同期を保証する。サーバー104と子デバイス間の通信手段の詳細は、後の実施例で詳説する。
Compressed data is transmitted between child devices, and the
<子デバイスの実装例>
図4は、情報処理システムの回路実装の例を説明するブロック図である。図2では、DNN101、リザーバー102、アニーリングマシン103のそれぞれが独立の子デバイスとして示されている。しかし、これらの複数を同一の子デバイス上に構成してもよい。すなわち、例えばDNN101-1、リザーバー102-1、アニーリングマシン103-1から選ばれた任意の複数を、同一の子デバイス410上にセットで備えることができる。
<Example of child device implementation>
4 is a block diagram for explaining an example of circuit implementation of an information processing system. In FIG. 2, the
このためには、子デバイス410は、LSI(Large Scale Integrated Circuit)上、またはFPGA(Field Programmable Gate Array)上の再構成可能回路により、DNN101-1、リザーバー102-1、アニーリングマシン103-1のうち、少なくとも2つ以上の機能を実装してもよい。これにより、一つの子デバイスが、機能を動的に切り換えて、順次実行することが可能になるため、子デバイスの数を低減することができる。あるいはDNN101、リザーバー102、アニーリングマシン103をソフトウェアで実装することもできる。この場合は、汎用または専用のプロセッサによりソフトウェアを実行する。
To this end, the child device 410 may implement at least two or more functions of the DNN 101-1, reservoir 102-1, and annealing machine 103-1 using a reconfigurable circuit on an LSI (Large Scale Integrated Circuit) or FPGA (Field Programmable Gate Array). This allows one child device to dynamically switch between functions and execute them sequentially, thereby reducing the number of child devices. Alternatively, the
本実施例では、ガスセンサ201、カメラ202、出力部300、サーバー104および子デバイスが無線インターフェース105を備え、無線によりデータを送受信する。無線インターフェース105には、複数のアンテナ(または、複数の無線トランシーバ)が接続される。一つの例では、複数のアンテナは複数の周波数帯で、並列に無線通信することができる。さらに、サーバー104は公知のスペクトルセンス機能を備え、相互干渉を避けるように通信周波数を決定する。
In this embodiment, the
<センサ側で特徴抽出を行う例>
図5は、特徴抽出の構成の他の例を説明するブロック図である。図2では、DNN101はサーバー104と無線通信する子デバイスで構成したが、特徴抽出はセンサ側で行ってもよい。図5では、カメラ202および匂いセンサ203に付属してDNN501が配置される。
<Example of feature extraction on the sensor side>
Fig. 5 is a block diagram for explaining another example of the configuration of feature extraction. In Fig. 2, the
このようにディープラーニングによる特徴抽出を、センサ200側で行うことで、センサからのデータ伝送量を低減することができる。
In this way, by performing feature extraction using deep learning on the
<ピアツーピア型接続アニーリングマシン>
図6Aは、複数のアニーリングマシン103-1~103-4が連携して処理を行うシステムの概念を説明するブロック図である。この例では、ピアツーピア型に接続されるアニーリングマシン103-1~103-4とサーバー104は、図4Aと同様に、相互に無線接続されている。
<Peer-to-peer connected annealing machine>
6A is a block diagram explaining the concept of a system in which multiple annealing machines 103-1 to 103-4 perform processing in cooperation with each other. In this example, the annealing machines 103-1 to 103-4 connected in a peer-to-peer format and the
サーバー104の記憶装置1044に格納されたプログラムである問題設定部601は、DNN101やリザーバー102で抽出された特徴量、あるいはリザーバー102からの予測値を基にし、最適化問題を設定する。問題設定のために、ユーザの入力を可能とするインターフェースを設けてもよい。また、問題設定部601は、ディープラーニングにより問題設定を行ってもよい。その場合は、ディープニューラルネットワークをハードウェアとして備える。
The
問題設定部601は、最適化問題をイジングモデルに変換し、特許文献2等で公知のようにスピン間の相互作用を定める外部磁場係数、相互作用係数等を決定する。ディープラーニングを用いて問題設定を行う場合は、DNN101やリザーバー102で抽出された特徴量、あるいは、リザーバー102からの予測値、あるいは、センサ出力やそれを処理した信号などをディープニューラルネットワークに入力し、その出力から前記係数のセットが得られる。前記ディープニューラルネットワークのパラメータ(ニューロンの重みなど)は、サーバー104上であらかじめ学習し、設定してもよい。また、サーバー104上で、随時、適切なタイミングで学習し、設定してもよい。あるいは、サーバー104外のコンピュータ上やクラウド上であらかじめ、または、随時、適切なタイミングで学習し、設定してもよい。問題設定部601により決定された係数は、サーバー104の無線インターフェース105から、アニーリングマシン103-1~103-4に送信される。アニーリングマシン103-1~103-4は、受信した係数を設定し、公知の手法で相互作用演算を行い、スピンの値を更新する。
The
ピアツーピア型接続では、アニーリングマシン103-1~103-4は、全体で一つのアニーリングマシンとして動作する。アニーリングマシンでは、一つのスピンの値を更新するために、当該スピンと接続されるスピン(隣接スピンという)の値を使用する。従って、例えばアニーリングマシン103-1のスピンを更新するための隣接スピンがアニーリングマシン103-2にある場合は、当該スピンの値を無線でアニーリングマシン103-2からアニーリングマシン103-1に送信することになる。 In a peer-to-peer connection, the annealing machines 103-1 to 103-4 operate as a single annealing machine. To update the value of one spin, the annealing machines use the value of the spin connected to that spin (called an adjacent spin). Therefore, for example, if annealing machine 103-2 has an adjacent spin to update the spin of annealing machine 103-1, the value of that spin will be transmitted wirelessly from annealing machine 103-2 to annealing machine 103-1.
図6Bは、アニーリングマシン103の詳細な内部ブロック図を示す。無線インターフェース105は、データの送受信を行う。データ圧縮伸長部604は、送信するデータの圧縮および、受信したデータの伸長を行う。スピンアレイ605は、特許文献2等で公知のスピンを基底状態に遷移させるための構成で、例えば半導体メモリの原理を応用して実装される。
Figure 6B shows a detailed internal block diagram of the
図6Cは、図6A、図6Bのアニーリングマシン103-1~103-4の動作タイムチャートである。事前に問題設定部601から無線インターフェース105を介して、各アニーリングマシン103-1~103-4に係数が設定され、スピンアレイ605のスピンの値が、例えばランダムに初期化されているものとする。
Figure 6C is an operation time chart of the annealing machines 103-1 to 103-4 in Figures 6A and 6B. It is assumed that coefficients are set in advance in each of the annealing machines 103-1 to 103-4 from the
まず、アニーリングマシン103-1~103-4の同期をとるために、サーバー104の同期制御部602から、同期信号(S)が各アニーリングマシン103にブロードキャスト送信される。各アニーリングマシン103は、同期信号受信回路とカウンタを備え、同期信号を受信したタイミングでカウンタをゼロにリセットし、以降、内部クロックによりカウンタの値を増加させ、各動作をカウンタの値にもとづいて切り換える。これにより、各アニーリングマシンの内部クロック周波数が多少異なっていても、これらの内部動作を互いに同期できる。
First, in order to synchronize the annealing machines 103-1 to 103-4, a synchronization signal (S) is broadcast from the
次に、順番は任意であるが、例えばアニーリングマシン103-1が自己のスピンの値をアニーリングマシン103-2~103-4に送信する送信処理(T)を行い、アニーリングマシン103-2~103-4はこれを受信処理(R)する。第1回目の送信(Cycle 1)は、スピンの初期値(通常はランダム)を送信することになる。自己のスピンの値を全て送信してもよいが、他のアニーリングマシンのスピンの隣接スピンとなっているスピンの値のみを送信するのが効率的である。隣接スピンの配置関係については、事前にサーバー104から各アニーリングマシン103に通知しておく。それ以降、各アニーリングマシン103は、順番に送受信の役割を交代する。また、後述のように送信データは、データ圧縮伸長部604で圧縮処理を行う。
Next, the order can be arbitrary, but for example, the annealing machine 103-1 performs a transmission process (T) to transmit its own spin value to the annealing machines 103-2 to 103-4, and the annealing machines 103-2 to 103-4 perform a reception process (R). The first transmission (Cycle 1) transmits the initial spin value (usually random). All of the annealing machines' own spin values may be transmitted, but it is more efficient to transmit only the values of the spins that are adjacent to the spins of other annealing machines. The
なお、子デバイスである各アニーリングマシン103は、送信データにタイムスタンプ付しておいてもよい。以下の他の実施例でも同様である。
In addition, each annealing
送受信が終了した後、各アニーリングマシン103のスピンアレイ605では、公知の手法で相互作用演算を行い、スピンの値の更新処理(U)を行う。次に更新したスピンの値を他のアニーリングマシン103に送信するが、送信データ量を圧縮するために、データ圧縮伸長部604では圧縮処理(P)を行う。圧縮処理(P)では、前回との差分のみを送信するように処理する。
After the transmission and reception is completed, the
その後、同様の同期処理(S)、データ送受信(T)(R)、スピン更新(U)、データ圧縮(P)を、Cycle 2以降スピン値が収束するまであるいは規定回数実行し、最終的なスピンの値を各アニーリングマシン103が、サーバー104に送信する。サーバー104の解取得部603は収集したスピンの値に基づいて解を得、出力部300に出力する。
Then, similar synchronization processing (S), data transmission/reception (T) (R), spin update (U), and data compression (P) are performed from
アニーリングマシンでは、上記の時分割に行う各ブロードキャストにおいて、ブロードキャストを短時間で終わらせて演算時間を短縮するため、データを分割して、複数の周波数チャネルを用いて並列に送信してもよい。周波数チャネルの選定、指示はサーバー104が行うものとする。
In the annealing machine, in order to complete each broadcast in a short time and shorten the calculation time, the data may be divided and transmitted in parallel using multiple frequency channels in each broadcast performed in the time division manner described above. The selection and instruction of the frequency channels is performed by the
複数の周波数チャネルを用いる場合は、複数のアンテナや複数のトランシーバを無線インターフェース105に準備する。アンテナだけ複数でトランシーバは共通という実装もあり得る。その場合は、トランシーバ内に、複数系統の送受信回路を並列に備え、並列に送受信する。空き周波数帯をモニタするため、サーバー104が、スペクトルセンシングを行い、空き周波数領域をチャネル単位で把握し、それを上記ブロードキャスト時のチャネルとして各子デバイスに割り当ててもよい。
When multiple frequency channels are used, multiple antennas and multiple transceivers are prepared in the
また、各子デバイスが複数のアンテナや複数の受信回路を備えることで、時分割でなく、周波数分割により、各子デバイスが一斉に(同時に)ブロードキャストしあうことも可能である。例えば、図6Aで各子デバイスが4個のアンテナと4つの周波数帯域を用いて、3個のアンテナとそれらに接続された3個の受信機で受信を行い、1個のアンテナとそれに接続された送信機で送信を行えば、一斉にブロードキャストすることができる。この場合、通信時間を1/4にできる。 Also, by equipping each child device with multiple antennas and multiple receiving circuits, it is possible for each child device to broadcast to each other simultaneously (at the same time) using frequency division rather than time division. For example, in FIG. 6A, each child device can broadcast simultaneously by using four antennas and four frequency bands, receiving with three antennas and three receivers connected to them, and transmitting with one antenna and a transmitter connected to it. In this case, the communication time can be reduced to one quarter.
同様に、各子デバイスが複数のアンテナや複数のトランシーバを備え、符号分割多重で送受信を行うことにより、一斉にブロードキャストしあうこともできる。その場合は、各トランシーバにおいて、所定の拡散符号を乗算することで、周波数帯域を共用しながら、混信を防止できる。拡散符号の選定、指示は、サーバー104が行うものとする。
Similarly, each child device can be equipped with multiple antennas and multiple transceivers and can broadcast simultaneously by transmitting and receiving using code division multiplexing. In this case, by multiplying a specific spreading code in each transceiver, it is possible to prevent interference while sharing the frequency band. The selection and instruction of the spreading code is performed by the
本実施例のシステムでは、アニーリングマシン103のスピンの更新演算よりも、スピンの情報をブロードキャストする時間のほうが長いため、アニーリングマシン103間のデータ送受信時間の短縮が重要である。そのため、周波数分割多重などのような伝送の高速化を図るとともに、スピン情報を圧縮してから送信することが好ましい。
In the system of this embodiment, the time it takes to broadcast spin information is longer than the time it takes to update the spin of the
圧縮の手段として、ひとつは、既述のように更新されたスピン情報のみ伝送する。このためには、スピンの更新マップを作ればよい。特に、計算が進むと更新されるスピンが減るため、更新マップはほとんどがゼロ(更新なし)で、少数が1(更新有り)のマップとなる。ゼロが多いので、可逆的な圧縮方法でも高い圧縮率で圧縮できる。他の手法としては、スピン情報マップを例えば離散コサイン変換、あるいは、フーリエ変換のような空間周波数変換して、低周波成分と高周波成分に分離し、重要度が高い低周波成分を高いビット数で細かく量子化し、重要度が低い(あるいは、成分が少ない)高周波成分は、低いビット数で粗く量子化することで、圧縮率を高めることができる。 One method of compression is to transmit only updated spin information, as mentioned above. To do this, an update map of the spins can be created. In particular, as the calculations progress, the number of updated spins decreases, so the update map is mostly zero (no update) with a small number of 1 (update). Since there are many zeros, compression can be achieved at a high compression rate even with lossless compression methods. Another method is to apply a spatial frequency transform, such as a discrete cosine transform or Fourier transform, to the spin information map to separate it into low-frequency and high-frequency components, and then finely quantize the low-frequency components that are more important with a high number of bits, and roughly quantize the high-frequency components that are less important (or have fewer components) with a low number of bits, thereby increasing the compression rate.
データ圧縮伸長部604の圧縮処理(P)では、前述のように前の状態からの更新有無や差分を送信データとすることに加え、あるいはこれに代えて、送信データの非可逆圧縮を行うことが望ましい。スピンアレイのスピンの値は、1または-1(0)の2次元配置であるから、これをモノクロの画像とみなすことができる。あるいは、スピン複数個の情報をカラー画像とみなすことができる。後者は、例えば、6×4の24個のスピンの情報(24ビット情報)を、8ビット(R)8ビット(G)8ビット(B)のカラー画像の1ピクセルとみなすことができる。
In the compression process (P) of the data compression/
画像の圧縮技術として知られているJPEG等のデータ圧縮技術を適用すれば、このような、モノクロあるいはカラーの2次元画像とみなしたスピンの集合データを非可逆で圧縮可能である。JPEG等の非可逆圧縮は高い圧縮率であるため、子デバイス間の送信データを減らすことができ、送信時間を短縮可能である。アニーリングマシン103のデータ圧縮伸長部604は、非可逆画像圧縮と非可逆画像展開を行う。第1のアニーリングマシン103-1から非可逆画像圧縮方式で圧縮され送信されたスピン情報を、第2のアニーリングマシン103-2が受信し、非可逆画像展開してスピン情報を復元する。
By applying a data compression technique such as JPEG, which is known as an image compression technique, it is possible to losslessly compress the collection data of spins regarded as a monochrome or color two-dimensional image. Because lossy compression such as JPEG has a high compression rate, it is possible to reduce the amount of data transmitted between child devices and shorten the transmission time. The data compression and
非可逆圧縮であるため、復元されたスピン情報は、元のスピン情報と完全に同じにはならない。しかし、アニーリングマシン103はそもそも確率的にスピンを更新し、ランダム誤差に強いため、上記のスピン情報誤差に耐性がある。誤差の出方は、ランダムな方がよいため、非可逆圧縮のしかたを何通りか持っておき、それを、ランダムにあるいは順次切り替えて適用してもよい。
Because this is lossy compression, the restored spin information will not be completely the same as the original spin information. However, the annealing
また、平滑フィルタ処理などをかけて、前記スピン情報に関する等価画像を単調化し、圧縮率を高めることを行ってもよい。また前述のように前の状態との差分データのみ抽出する処理を行ってもよい。このようなフィルタや処理機能は、データ圧縮伸長部604の一部としてあるいはその前段に備えることができる。平滑フィルタや周波数変換でもデータの一部が失われるが、アニーリングマシンの場合には演算結果に大きな影響はないと考えられる。
In addition, smoothing filter processing or the like may be applied to monotonize the equivalent image related to the spin information and increase the compression rate. As described above, processing may be performed to extract only the difference data from the previous state. Such filters and processing functions may be provided as part of the data compression and
以上のように伝送時間短縮のためのデータ削減には、(更新情報や差分情報の生成あり/なし)×(圧縮あり/なし)の種々の組み合わせが可能である。また、データ削減の処理のための時間に比べて、送信の時間が長いと考えられるため、種々のデータ削減手法をシリアルあるいはパラレルに実行し、好ましい結果を選択してもよい。 As described above, various combinations of (with/without generation of update information or difference information) x (with/without compression) are possible for data reduction to shorten transmission times. In addition, since the transmission time is likely to be longer than the time required for data reduction processing, various data reduction methods may be executed serially or in parallel to select the desired result.
上記実施例はアニーリングマシンの例であるが、リザーバー計算機の場合、ESN(Echo State Network)とLSM(Liquid State Machine)の2種類に大別されることが知られている。ESNでは、ニューロン出力が連続値となるため、例えば32ビットで表現される。一方、LSMでは、ニューロン出力はスパイク信号であるため、0、1や、-1、0、1のように2値や3値で表現される。後者では、スパイクを発生したニューロン以外のニューロンは出力が0であるため、ニューロン出力情報を、更新情報や差分情報に変換せずに、高い圧縮率で圧縮し、送信データを削減することができる。また、ESNの場合、差分によるデータ削減効果が少ないため、同様に、ニューロン出力情報を差分情報に変換せずに圧縮するのがよい。 The above embodiment is an example of an annealing machine, but it is known that reservoir computers can be broadly divided into two types: ESN (Echo State Network) and LSM (Liquid State Machine). In ESN, the neuron output is a continuous value, so it is expressed in, for example, 32 bits. On the other hand, in LSM, the neuron output is a spike signal, so it is expressed in two or three values such as 0, 1 or -1, 0, 1. In the latter, the output of neurons other than the neuron that generated the spike is 0, so the neuron output information can be compressed at a high compression rate without being converted into update information or difference information, and the transmitted data can be reduced. Also, in the case of ESN, the data reduction effect due to differences is small, so it is similarly better to compress the neuron output information without converting it into difference information.
なお、リザーバー計算機の場合は、各ニューロンは、近傍のニューロンだけでなく、遠方のニューロンにも結合するため、リザーバー102からのニューロン出力情報の送信はブロードキャストが適している。一方、アニーリングマシンの場合は、各スピンは、隣接するスピンとの接続だけでよいことも多く、その場合は、特定のスピン間で出力を送信すればよい。
In the case of a reservoir computer, each neuron is connected not only to nearby neurons but also to distant neurons, so broadcasting is suitable for transmitting neuron output information from the
図6Dは、アニーリングマシンの隣接スピンの接続の概念を示す概念図である。この概念図では、アニーリングマシン103が9個2次元配列され、各アニーリングマシンにはスピン606が16個配置されている(実際はもっと個数が多く、また3次元配列の場合もある)。アニーリングマシンの場合は、隣接間のスピンの結合だけでよい場合も多い。その場合、図6Dの通り、中央のアニーリングマシンは、隣接する各アニーリングマシンと、点線枠で示した境界に存在するスピン606の情報を交換できるだけでよい。このため例えば、各アニーリングマシンは、無線インターフェース105として、4つのトランシーバを並列に用いて(または、一つのトランシーバに複数のアンテナを備えて)、周波数分割多重や符号分割多重や空間分割多重により、4方向の送受信を同時に行ってもよい。スピンの情報の圧縮は、圧縮率が高い非可逆圧縮を使用できるが、上記の場合には、伝送量が小さいため、情報劣化のない可逆圧縮でもよい。
Figure 6D is a conceptual diagram showing the concept of connecting adjacent spins of an annealing machine. In this conceptual diagram, nine annealing
以上の実施例では、小規模のアニーリングマシンを組み合わせ、アニーリングマシン相互で隣接スピンのデータを送受信することで、大規模な問題に対応できる。またバッテリ駆動や自己発電に対応した低消費電力の子デバイスで、大規模問題の求解が可能になる。 In the above embodiment, large-scale problems can be handled by combining small-scale annealing machines and transmitting data of adjacent spins between the annealing machines. In addition, large-scale problems can be solved using low-power child devices that are battery-powered or self-generated.
<スター型接続アニーリングマシン>
図7は、実施例5とは別の例で、複数のアニーリングマシン103-1~103-4で同一問題を解く。複数のアニーリングマシン103-1~103-4は、独立に演算を行う。
<Star-type connection annealing machine>
7 shows an example different from the fifth embodiment, in which the same problem is solved by a plurality of annealing machines 103-1 to 103-4. The plurality of annealing machines 103-1 to 103-4 perform calculations independently.
サーバー104の問題設定部701は、同一問題に対する係数を各アニーリングマシン103に送信する。各アニーリングマシン103は独立に演算を行い、結果をサーバー104に送信する。なお、係数、スピンの初期値、演算の際に印加するランダム性などは、各アニーリングマシン103間で互いに異なる。
The
サーバー104の解取得部703では、各アニーリングマシンの結果にもとづき、多数決や平均化などの処理を行うことで、最良の結果を判断する。本実施例では、アニーリングマシン103は最適化演算の前にサーバー104からデータを受信し、後にサーバー104へ結果を送信するだけで、アニーリングマシン103同士の通信は必要ない。本実施例では、高速に並列的な求解が可能である。
The
<ピアツーピア型接続リザーバー>
図8Aは、リザーバーコンピューティングを無線接続で大規模化するシステムの例を示すブロック図である。リザーバー102-1~102-4が全体として、一つのリザーバー層を構成する。
図8Bは、リザーバー102の内部ブロック図を示す。無線インターフェース105は、データの送受信を行う。データ可逆圧縮伸長部804は、送信するデータの圧縮および、受信したデータの伸長を行う。ニューロン805は、公知の方法で接続されてリザーバー層を構成するニューロンの集合である。
図8Cは、図8Aのシステムにおいて、サーバー104およびリザーバー102が分担する機能および、送信するデータと送信先である。
図8Dは、図8Aの、リザーバー102-1~102-4の動作タイムチャートである。
<Peer-to-peer connected reservoir>
8A is a block diagram showing an example of a system for wirelessly connecting reservoir computing on a large scale. Reservoirs 102-1 to 102-4 collectively constitute one reservoir layer.
8B shows an internal block diagram of the
FIG. 8C shows the functions shared by the
FIG. 8D is a time chart showing the operation of the reservoirs 102-1 to 102-4 in FIG. 8A.
図8A、図8B、図8C、図8Dを参照して動作を説明する。サーバー104の入力部801は、各リザーバー102に入力データDをブロードキャストする。入力データDがn次元ベクトルであれば、x1(t)~xn(t)のデータを各リザーバー102に送信する。特徴抽出をリザーバーコンピューティングで行う場合は、センサ信号、あるいは、それにフィルタなどの前処理を加えた信号を、リザーバー102の入力信号とする。データの送受信は、無線インターフェース105を介して行われる(以下同様)。
The operation will be described with reference to Figures 8A, 8B, 8C, and 8D. The
また、サーバー104の同期制御部802は、同期信号Sをブロードキャストする。各リザーバー102は、同期信号受信回路とカウンタを備え、同期信号を受信したタイミングでカウンタをゼロにリセットし、以降、内部クロックによりカウンタの値を増加させ、各動作をカウンタの値にもとづいて切り換えることで、リザーバー102同士の同期を保証する。
The
各リザーバー102は、自分のリザーバーに含まれるニューロンの現在時刻の出力値を他のリザーバーおよびサーバー104に対してブロードキャスト(T)する。このとき、順番は任意であるが、例えばリザーバー102-1が自己のニューロンの出力をリザーバー102-2~102-4に送信する送信処理(T)を行い、リザーバー102-2~102-4とサーバー104はこれを受信(R)する。それ以降、各リザーバー102は、順番に送受信の役割を交代する。
Each
各リザーバー102は、他のリザーバーからのニューロンの値とサーバー104からの入力信号に基づいて、ニューロンの値を更新(NU)する。各リザーバー102は更新したニューロン出力情報を圧縮(P)し、次のサイクルの処理に移る。図8Dには2サイクル分のタイムチャートを示すが、この処理は基本的にサーバー104の入力部(入力層)へのデータ入力のタイミングで、繰り返し実行される。
Each
図8Dのタイムチャートの、同期信号+入力データ値配信(S/D)~圧縮(P)に至る部分は、一つの時刻の入力値(1サイクルのデータ)に対する処理となる。よって、各ニューロン(ノード)の値は、上記入力データ、および、現在の自分、及び他のニューロンの出力値にもとづき、1サイクルぶんだけ更新されることになる。そのために、各リザーバー102は、現在時刻の全(あるいは、一部の)ニューロン値を収集しておく必要がある。本システムでは、他のリザーバー102のニューロン値を無線送信することで収集することができる。ブロードキャストを短時間で終わらせるため、周波数分割多重や符号分割多重を用いて一斉にブロードキャストしあってもよい点は、実施例5で説明したものと同様である。
In the time chart of Figure 8D, the part from the synchronization signal + input data value distribution (S/D) to compression (P) is the processing for the input value (one cycle of data) at one time. Therefore, the value of each neuron (node) is updated for one cycle based on the above input data and the current output value of itself and other neurons. For this reason, each
各子デバイスのニューロンの出力は、2次元の画像のようにみなすことができるので、圧縮処理(P)では、データ可逆圧縮伸長部804では、例えばGIF(Graphics Interchange Format)のような可逆圧縮により圧縮(P)し、送信を行う。受信側では、受け取ったデータを解凍して、送信側の現在のニューロン805の出力値を取得する。これにより、ニューロン805の更新が可能になる。リザーバーの場合は、ニューロンの出力誤差に比較的弱い計算方式のため、非可逆圧縮よりランレングス符号のような情報の劣化がない可逆圧縮方式のほうが好ましい。
The output of the neuron of each child device can be considered as a two-dimensional image, so in the compression process (P), the data lossless compression and
リザーバー102のニューロン出力は例えば32bitの連続値である。リザーバー102間のニューロン出力の送受信のオーバーヘッドを圧縮する場合、重要な上位ビットを優先的にブロードキャストすることが有効である。そのため、送り方は、
ニューロン1の最上位ビット、ニューロン2の最上位ビット、・・・、ニューロンNの最上位ビット、
ニューロン1の2番目のビット、ニューロン2の2番目のビット、・・・、ニューロンNの2番目のビット、
ニューロン1の3番目のビット、ニューロン2の3番目のビット、・・・、ニューロンNの3番目のビット、
・・・
のように、各ニューロンの最上位ビットから優先的に送信する。この送信方式をデータ圧縮に代えて採用することができる。
The neuron output of the
The most significant bit of
The second bit of
The third bit of
...
The most significant bit of each neuron is transmitted preferentially, as shown below. This transmission method can be adopted instead of data compression.
先に述べたように、各子デバイスは、サーバー104から同期信号を受け取ったときに、自分のカウンタをゼロにリセットし、以降、カウンタは子デバイスの内部クロックにもとづき、インクリメントされていく。ここで、カウンタが、所定の値に到達したら時間切れとみなして、上記の送信を終了する。この方式では、全ての情報をブロードキャストしきれるとは限らないが、通信時間を制限することで全体の処理時間が短縮されるとともに、上記のように上位ビットから送信することにより精度の劣化も限定的となる。なお、時間切れとみなすためのカウンタの上限値は、サーバー104がタスクの成果を判定し、より高速性が必要と判断したら、小さく(短く)し、より高精度が必要と判断したら、大きく(長く)するように動的に調整することができる。
As mentioned above, when each child device receives a synchronization signal from the
サーバー104の出力部803は、各リザーバー102の出力を受信し、出力層として機能する。リザーバーコンピューティングでは、出力層は、リザーバー層のすべての、あるいは、一部のニューロンの出力を受け取り、学習した重みを用いて積和演算を行う。本実施例では、出力層の役割をサーバー104が担うため、各リザーバー102は、自分に含まれるニューロンの出力を、出力層であるサーバー104に送信する。サーバー104の出力部803は、1サイクル毎に時系列の出力信号を出力する。
The
なお、本実施例では、サーバー104の出力層から、各リザーバー102へのフィードバックは行っていないが、サーバー104の出力部803からの出力を、リザーバー102の少なくとも一つに無線伝送する構成にしてもよい。
In this embodiment, no feedback is provided from the output layer of the
<スター型接続リザーバー>
図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の動作タイムチャートである。
<Star-type connection reservoir>
9A is an example of a star-shaped connection in which the same processing is performed by multiple reservoirs 102-1 to 102-4, which is different from the seventh embodiment. The multiple reservoirs 102-1 to 102-4 share the roles of the reservoir layer and the output layer, and perform calculations independently. Note that each
Fig. 9B shows the functions shared by the
FIG. 9C is a time chart showing the operation of the reservoirs 102-1 to 102-4 in FIG. 9A.
図9A、図9B、図9Cを参照して動作を説明する。サーバー104の入力部901は、同一の入力データを各リザーバー102にブロードキャストする(D)。各リザーバー102は独立に演算を行い(NU)、結果を出力層からサーバー104に送信する(T)。送信時は、時分割多重、符号分割多重、周波数分割多重、空間分割多重等を用いて混信を防止する。
The operation will be described with reference to Figures 9A, 9B, and 9C. The
サーバー104の解取得部903では、各リザーバー102の結果の多数決や平均値を取ることで、最良の結果を判断する。高速に並列的な求解が可能である。
The
本実施例では、複数のリザーバーで同一問題を解き、サーバーで最良の結果を判断することができ、高速並列演算が可能である。 In this embodiment, the same problem can be solved in multiple reservoirs and the best result determined on the server, enabling high-speed parallel calculations.
<階層型接続DNN>
図10Aは、DNNを無線接続で大規模化するシステムの例を示すブロック図である。DNN101-1~101-4が全体として、一つのDNNを構成する。
図10Bは、図10Aのシステムにおいて、サーバー104およびDNN101が分担する機能および、送信するデータと送信先である。
<Hierarchical Connection DNN>
10A is a block diagram showing an example of a system for expanding the scale of a DNN by wireless connection. DNNs 101-1 to 101-4 together constitute a single DNN.
FIG. 10B shows the functions shared by the
図10A、図10Bを参照して動作を説明する。サーバー104の入力部1001は、DNN101-1に入力データを送信する。入力データDがn次元ベクトルであれば、x1(t)~xn(t)のデータを送信する。
The operation will be explained with reference to Figures 10A and 10B. The
ディープラーニングでは、DNN101-1~101-4は直列接続され、前段の層から順次データを送信する。図では隠れ層は4層で構成されるが、タスクに応じて層数は変更される。簡単なタスクならば、少ない層数でよく、複雑になるにつれ層数が増加する。リザーバーコンピューティングやアニーリングマシンと違い、ディープラーニングは、層数を増やすことで、複雑なタスクを行うことができる。そのため、子デバイスを直列接続して必要な層数を確保することで、所望のタスクを実現できる。また、図では、各子デバイスは、一つの畳み込み層と一つのプーリング層を備えているが、より多くの層を備えていたり、様々な種類の層を備えていたりしてもよい。 In deep learning, DNNs 101-1 to 101-4 are connected in series, and data is transmitted sequentially from the previous layer. In the figure, the hidden layer is composed of four layers, but the number of layers can be changed depending on the task. For simple tasks, a small number of layers is sufficient, but the number of layers increases as the task becomes more complex. Unlike reservoir computing and annealing machines, deep learning can perform complex tasks by increasing the number of layers. Therefore, the desired task can be achieved by connecting child devices in series to ensure the required number of layers. Also, in the figure, each child device has one convolutional layer and one pooling layer, but it may have more layers or various types of layers.
DNN101-1~101-4の間の無線通信は、混信防止のために、周波数分割多重や符号分割多重や空間分割多重で行ってもよい。また、高速通信のために、複数のアンテナ、トランシーバ、周波数チャネルを用いて、並列に送受信してもよい。 Wireless communication between DNNs 101-1 to 101-4 may be performed using frequency division multiplexing, code division multiplexing, or space division multiplexing to prevent interference. For high-speed communication, multiple antennas, transceivers, and frequency channels may be used to transmit and receive in parallel.
また、サーバー104の同期制御部1002は、同期信号Sをブロードキャストする。各DNN101は、同期信号受信回路とカウンタを備え、受信したタイミングでカウンタをゼロにリセットすることで、DNN101同士の同期を保証する。
The
<スター型接続DNN>
実施例9とは別の例で、複数のDNN101で同一の特徴抽出タスクを行うスター型接続が可能である。複数のDNN101-1~101-4は、隠れ層と出力層の役割を分担し、独立に演算を行う。サーバー104は入力層の役割を分担する。各DNN101は、ニューロンやニューロン間の結合の枝刈りの箇所、ニューロンのパラメータ(重みなど)、活性化関数の形状、ニューロンの出力の初期値(リカレントなディープニューラルネットワークの場合)などが互いに異なる。
<Star-type connection DNN>
In another example different from the ninth embodiment, a star-shaped connection is possible in which
サーバー104の入力層は、DNN101-1~101-4に入力データをブロードキャストする。DNN101-1~101-4は、独立かつ並列に演算を行い、サーバー104の解取得部に結果を送信する。送信時、時分割多重、符号分割多重、周波数分割多重、空間分割多重等を用いて混信を防止する。
The input layer of
サーバー104の解取得部では、各DNN101の結果の多数決や平均値を取ることで、最良の結果を判断する。高速に並列的な求解が可能である。
The solution acquisition unit of the
本実施例では、複数のDNNで同一問題を解き、サーバーで最良の結果を判断することができ、高速並列演算が可能である。 In this embodiment, the same problem can be solved using multiple DNNs and the best result can be determined on the server, enabling high-speed parallel calculations.
<アンサンブル型DNN>
ディープラーニングでは、一つのタスクに対して、複数の異なるDNN(アンサンブルと呼ばれる)で別々に演算し、それらの演算結果を組み合わせて、推論精度を向上させることが知られている。実施例10もアンサンブルの手法にもとづくものであるが、本実施例では特に、互いに異なるデータセットでパラメータ(ニューロンの重みなど)を学習した複数のDNNをアンサンブルとして用いる。これらのDNNは、互いに異なるネットワーク構造や、異なる重みパラメータセットを備える。
<Ensemble-type DNN>
In deep learning, it is known that multiple different DNNs (called ensembles) are used to perform separate calculations for one task, and the results of these calculations are combined to improve inference accuracy. Example 10 is also based on the ensemble technique, but in this example, multiple DNNs that have learned parameters (such as neuron weights) using different data sets are used as the ensemble. These DNNs have different network structures and different weight parameter sets.
実施例10と同様のスター型接続で複数DNNをアンサンブルとして用い、サーバー104が、単一のタスクに対応した入力信号を各DNNにブロードキャストし、また、各DNNの出力結果を受け取って、組み合わせて推論精度を向上させる。
Multiple DNNs are used as an ensemble in a star-shaped connection similar to that of Example 10, and the
実施例1~11で説明した情報処理システムにおいて、各子デバイスの同期はサーバーから送信される同期信号を基準に行うことにした。別の方法として、各機器が原子時計等の絶対時間を正確に計測できる時計を備えることにして、原子時計等の時間を基準として動作させてもよい。また、送受信するデータの時間的な前後関係を保証するために、各機器は送信データにタイムスタンプを含めて送信してもよい。 In the information processing systems described in the first to eleventh embodiments, synchronization of each child device is performed based on a synchronization signal sent from the server. As an alternative method, each device may be provided with a clock that can accurately measure absolute time, such as an atomic clock, and may operate based on the time of the atomic clock or the like. Also, to guarantee the chronological relationship of the data being sent and received, each device may include a timestamp in the data being sent.
以上の各DNNでも、リザーバーと同様にデータ送受信の圧縮伸長を行ってよい。 Each of the above DNNs may compress and expand data transmission and reception in the same way as the reservoir.
<同時多接続パイプライン>
実施例1~11で説明した情報処理システムにおいて、広域社会システム全体を繋げ、遅延なく全体を制御するためには、データの収集、データの処理、システムの制御をリアルタイムで動作させる必要がある。広域社会システムは個々の機器が物理的に分散して配置され、相互間の通信手段や距離も均一とは限らない。そこで、複数の通信で送受信されるデータと複数のエッジAI(DNN101、リザーバー102、アニーリングマシン103等)を、同期性を保証して接続することが望ましい。
<Simultaneous multi-connection pipeline>
In the information processing system described in the first to eleventh embodiments, in order to connect the entire wide-area social system and control the entire system without delay, it is necessary to collect data, process the data, and control the system in real time. In the wide-area social system, individual devices are physically distributed and arranged, and the communication means and distances between them are not necessarily uniform. Therefore, it is desirable to connect data transmitted and received through multiple communications with multiple edge AIs (
図11は、同時に複数のデータを予測計画部100でリアルタイム処理する例を示す概念図である。センサ200等から送信される複数のデータ1~5は、5Gや6Gなど異なる仕様の無線通信や、異なる仕様の有線通信が混在して接続されている場合がある。また、送信元の遠近など物理的な位置も異なる場合がある。さらに、接続関係も上り通信、下り通信、サイドリンク等の条件も同一ではないことが考えられる。このように受信するデータは、異なるセンサから得られたデータ、異なる経路を経たデータ、および異なる通信手段によるデータの少なくとも一つを含むため、各データのレイテンシが異なり、予測計画部100へのデータ到着順がデータ発生順にならないことが考えられる。
Figure 11 is a conceptual diagram showing an example of simultaneous real-time processing of multiple data by the
この場合、データを一度データベースとして格納してから処理すれば、データの順番を保証することができるが、リアルタイム処理にならなくなる。本実施例では、同時多接続パイプライン1100の機能を追加することで、リアルタイムなデータの処理を可能とする。同時多接続パイプライン1100は、データフローコントローラ1110と、時間空間オーガナイザ1120の機能を備える。データフローコントローラ1110は、データ解析の順番を管理し、処理すべき順番に予測計画部100へ送信する。データフローコントローラ1110の設定は、たとえばAIオーケストレータ1045により制御される。時間空間オーガナイザ1120は、例えば、受信データの到着時間の計測結果と到着までの所要時間の計測結果や、受信データのタイムスタンプや、センサの位置の計測結果などに基づいて、受信データ(例えば各種センサデータ)にデータ生成時刻とデータ生成位置をラベリングする。
In this case, if the data is stored once as a database and then processed, the order of the data can be guaranteed, but real-time processing will not be possible. In this embodiment, the function of the simultaneous multi-connection pipeline 1100 is added to enable real-time data processing. The simultaneous multi-connection pipeline 1100 has the functions of a
<階層型エッジ>
図12は、図11の予測計画部100と同時多接続パイプライン1100の組でエッジ1200を構成し、階層構造としたエッジの例を示すブロック図である。予測計画部100と同時多接続パイプライン1100は、物理的には分離されていてもよい。各エッジ1200a~fは、同じリファレンスアーキテクチャに基づき構成してもよい。これらのエッジ1200a~fは、その役割に応じて、ソフトウェアにより必要な機能を定義可能である。エッジ1200a~fは、例えば一般的なサーバーやコンピュータ、あるいは、専用ハードウェアで構成され、エッジ1200の機能はソフトウェアで実装されるものとする。
<Hierarchical Edge>
FIG. 12 is a block diagram showing an example of an edge 1200 configured with a combination of the
図12では、各エッジ1200が予測計画部100を備える例が開示される。予測計画部100は、例えば図1に開示したように、親デバイス(サーバ104)と子デバイス101~103を備える。ただし、親デバイスと子デバイスは必ずしも同一エッジに存在する必要はなく、例えば、エッジ1200aの子デバイス101~103を、MECサーバーやクラウドのエッジ1200d~fのサーバー104が制御してもよい。この場合、エッジ1200aには、必ずしもサーバー104が配置されなくてもよい。以上のように子デバイスを制御する親デバイスは、必要な処理量や通信量を考慮して、階層型エッジの中の任意のエッジに配置することができる。
In FIG. 12, an example is disclosed in which each edge 1200 includes a
エッジ1200a~cは、制御対象となる人1211、ロボット1212、各種機器1213、交通機関1214などを含む現場1210の近くに置かれる、例えばセンサエッジである。エッジ1200a~cには、センサ部1220や必要に応じて前処理部1230が付属する。前処理部1230ではフィルタリング、データ圧縮、データ分割や符号化等の所望の処理を行う。図5で説明したように、特徴抽出を前処理に含めてもよい。前処理をセンサ側で行うことで、送信するデータ量を減らすことができる。
The
センサ部1220は、各種センサやカメラの他、PLC(Programmable Logic Controller)やXR(X Reality)の機能を含んでもよい。PLCやXRは、センサやカメラ同様にデータを収集する手段として機能する。センサ部1220の各種センサ、カメラ、PLC、XRは、ロボット等のデータを収集して出力するだけでなく、エッジ1200からの入力がフィードバックされる制御対象となり得る。例えば、フィードバックによりデータ取得やデータ送信の頻度を変更する。このように、ロボットや人の情報収集や制御に伴い、センサ部1220をそれに対応して制御することが可能である。
The
一つの例では、センサ部1220からのデータは、そのままあるいは前処理部1230で処理されて、エッジ1200a~fに送信される。データはエッジ1200で処理され、予測計画部100による推論の結果が出力部300で表示され、あるいは現場1210のロボット1212、各種機器1213、交通機関1214や、センサ部1220にフィードバックされる。他の例では、一つ、あるいは複数のエッジ1200の出力を、他のエッジの入力としてもよい。
In one example, data from the
ネットワークNWには、有線や無線の各種の通信手段が用いられることを想定している。無線通信手段としては、4G、P-LTE、5G、Beyond5G、6G、Wi-Fi(商標)等種々のものが考えられる。よって、エッジ1200a~cの位置や使用する通信手段により、図11で説明したごとく送信データのレイテンシにばらつきが生じる。
It is assumed that various wired and wireless communication methods will be used in the network NW. Various wireless communication methods are possible, such as 4G, P-LTE, 5G, Beyond 5G, 6G, and Wi-Fi (trademark). Therefore, as explained in FIG. 11, the latency of transmitted data varies depending on the positions of the
エッジ1200d~eは、クラウドよりも現場1210近くに配置される、例えばMECサーバーである。現場近くにあるため、クラウドより遅延を短縮できる。例えばネットワークNWの基地局上にエッジ1200d~eを設置する。
The
エッジ1200fは、クラウド内あるいはクラウド入り口に設置される、例えばクラウドサーバーで構成される。エッジ1200fには全体制御部1240が付属あるいは、ネットワークで接続されてもよい。各エッジ1200a~fの機能のデプロイは、例えば全体制御部1240を介して行うことができる。デプロイの手順は従来技術を踏襲してよい。
The
本システムに含まれる各エッジ1200a~fの予測計画部100と同時多接続パイプライン1100は、エッジ毎に必要な機能がデプロイされる。例えば、現場1210に近いエッジ1200a~cの予測計画部100a~cでは簡易な処理(例えば認識)を、クラウドのエッジ1200fの予測計画部100fでは複雑な処理(例えば理解や判断)を行う。同時多接続パイプライン1100は、予測計画部100が行う処理に適合したデータフローを形成する。
The prediction and
同時多接続パイプライン1100は、予測計画部100の処理に必要なデータの時間的順序を保証する。データの時間的順序は、例えば工業用ロボットの動作制御等では厳密に(例えばミリ秒単位)行うことが望ましい。また、マクロな人流の制御等ではそこまでの厳密性は要求されない(例えば分単位)。本実施例では、エッジ毎に予測計画部100と同時多接続パイプライン1100のスペックを最適化することができる。
The simultaneous multi-connection pipeline 1100 guarantees the time order of data required for processing by the prediction and
<エッジの詳細>
図13は、エッジ1200の詳細を示すブロック図である。図13では、エッジ1200がひとつだけ示されているが、図12のように全体制御部1240は、複数のエッジ1200を管理してもよい。エッジ1200は、同時多接続パイプライン1100と予測計画部100を備える。データの流れを太い矢印で示し、制御フローを一方向または双方向の細い矢印で示している。
<Edge details>
Fig. 13 is a block diagram showing details of an edge 1200. Although only one edge 1200 is shown in Fig. 13, the
予測計画部100は、既に説明した実施例のとおり、DNN101、リザーバー102、アニーリングマシン103から選ぶ任意の組み合わせを備える。また、予測計画部100は、AIオーケストレータ1045とフィードバックおよびフィードフォワード部1046を備える。AIオーケストレータ1045とフィードバックおよびフィードフォワード部1046は、サーバー104の機能の一部であり、記憶装置1044にプログラムとして格納される。
The prediction and
同時多接続パイプライン1100は、図11で説明したデータフローコントローラ1110と時間空間オーガナイザ1120を備える。また、同時多接続パイプライン1100は、同期通信計測部1101、位置速度計測部1102、制御フローコントローラ1103を備える。同時多接続パイプライン1100の機能は、サーバー104の機能の一部であり、記憶装置1044にプログラムとして格納される。この場合、図13で別個のブロックとされている、AIオーケストレータ1045、フィードバックおよびフィードフォワード部1046および同時多接続パイプライン1100は同一のサーバー104にソフトウェアで実装される。あるいは、サーバー104とは別のサーバー等で同時多接続パイプライン1100を構成して、予測計画部100に接続してもよい。
The simultaneous multi-connection pipeline 1100 includes the
全体制御部1240は、運用管理DB1241、複合AI1242、GUI(Graphical User Interface)を含むアセット制御部1243を備える。
The
例えば現場1210の管理者であるユーザが、エッジ1200に所望の機能を実装する場合には、ユーザは全体制御部1240を介して、予測計画部100と同時多接続パイプライン1100の設定を行うことができる。運用管理DB1241は、配下の予測計画部100a~fと同時多接続パイプライン1100a~fの構成を記憶する。予測計画部100と同時多接続パイプライン1100の構成は、AIオーケストレータ1045に送信される。
For example, when a user who is an administrator of the
AIオーケストレータ1045は、前記パターン1からパターン6の選択、それにもとづくDNN101、リザーバー102、アニーリングマシン103等の演算タイプの選択、各演算タイプに対する接続形態(ピアツーピア型接続かスター型接続か)の指定、使用する子デバイスの選択、子デバイス間の各接続に対する接続要、不要の指定などを行う。また、AIオーケストレータ1045は、パイプライン運用管理部1300に当該予測計画部100に入力するデータの順序を指示する。データの順序には、到達順、発信時間順、距離順等がある。これらの設定はアセット制御部1243、あるいはネットワークで接続されたユーザ端末1305から、DNN101、リザーバー102、アニーリングマシン103等の処理内容に応じて行う。また、運用管理DB1241は、エッジ1200のトラブル時の復旧用ミラーサイトとしてバックアップの機能も備える。DNN101、リザーバー102の学習は、全体制御部1240で行ってもよいし、エッジ1200で行ってもよい。
The
なお、複合AI1242は、エッジ1200で行う必要のない、あるいは、クラウドで行ったほうがよい計算を行う。エッジ1200で行う必要のない計算の一例は、所定以上の遅延が許されるケースである。例えば、ルーチン動作から逸脱のない動作は、クラウド内で処理すればよい。クラウドで行ったほうがよい計算の一例は、エッジに保存できない量のビッグデータを用いた予測などである。大量のデータはクラウド上に保存され、複合AI1242が処理することになる。取得したデータや計算結果もクラウドに保存されることにする。
The
DNN101、リザーバー102、アニーリングマシン103等が実装されたエッジ1200は、センサ部1220あるいは他のエッジ1200からのデータを処理することができる。
The edge 1200, which is equipped with the
パイプライン運用管理部1300は、エッジ管理DB1301、通信制御部1302、送信時間DB1303、時間空間DB1304を備える。 The pipeline operation management unit 1300 includes an edge management DB 1301, a communication control unit 1302, a transmission time DB 1303, and a time-space DB 1304.
エッジ管理DB1301は、当該エッジに接続された現場1210に配置された、人1211、ロボット1212、各種機器1213、交通機関1214などの基本情報を管理する。また同じく接続されたセンサ部1220の基本情報を管理する。また、接続に用いている通信回線の基本情報を管理する。基本的情報は各機器や回線の規格や仕様である。
The edge management DB 1301 manages basic information on
また、エッジ管理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の子デバイスの構成に依存する。
The edge management DB 1301 also manages the correspondence between the data flow sent from the
通信制御部1302は、センサ部1220から送信されるデータの測定や通知のタイミングを、制御フローコントローラ1103を介して公知の技術により制御する。また、エッジ1200が行う通信処理全体を統括するものとする。通信制御部1302の設定は、運用管理DB1241からAIオーケストレータ1045を介して、あるいは別途入力される。
The communication control unit 1302 controls the timing of measurement and notification of data sent from the
送信時間DB1303と時間空間DB1304は、後述のようにエッジ1200の運用に伴って収集されたデータを格納する。なお、バックアップ等のため、パイプライン運用管理部1300のデータは、適宜運用管理DB1241に複製を作成するものとする。 The transmission time DB 1303 and the time-space DB 1304 store data collected in association with the operation of the edge 1200, as described below. For backup purposes, etc., the data in the pipeline operation management unit 1300 is appropriately copied to the operation management DB 1241.
同期通信計測部1101は、水晶時計あるいは原子時計等の基準となる基準時計を備えている。同期通信計測部1101は、データ送信元になるセンサ部1220に基準時計の時刻をブロードキャストする。ブロードキャストするチャネルは例えば5Gの無線チャネルである。コスト増加要因になるが、各センサ部1220が原子時計等を備えるようにして、ブロードキャストを省略してもよい。かかる構成により、各センサ部1220は共通の時計を備えることができるので、送信データに、共通の時間軸によるタイムスタンプを付すことができる。同期通信計測部1101は、受信したデータのタイムスタンプとデータ受信時の自己の基準時計の時刻の差分から、各センサ部1220からのデータの送信遅延時間(送信にかかる時間)を計算することができる。各センサ部1220に対応するデータの送信遅延時間は、送信時間DB1303としてパイプライン運用管理部1300に記録される。
The synchronous
位置速度計測部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からの送信データに、送信元の正確な位置情報を付すことができる。また、送信データには、位置情報に代えて、あるいは位置情報に加えて、重量センサ、光学式センサ、画像データ、熱センサなど各種のセンサで取得したデータを含めることもできる。
The position and
時間空間オーガナイザ1120は、受信したデータに時間情報と位置情報その他のセンサ情報をラベリングする。具体的には、受信データの到着時間から遅延時間データテーブルの遅延時間を差し引くことにより、データの発信時間(データの生成時間に等しいとみなせる)を算出する。算出したデータ生成時間と位置情報を受信データにヘッダとして付与する。これにより、受信データ収集時間と位置の四次元座標化が可能になり、パイプライン運用管理部1300内に時間空間DB1304が生成できる。また、時間空間オーガナイザ1120は、同期通信計測部1101で測定したデータの送信遅延時間から、遅延やジッタのモニタリングを行うことができる。また、遅延やジッタに基づいてセンサ部1220を分類してスライシングすることができる。
The
データフローコントローラ1110は、予測計画部100でのリアルタイム処理のために、データ生成時間順に解析が行われるように受信データを並び替える。このため、データフローコントローラ1110は、時間空間オーガナイザ1120がデータに付与したラベリングに基づいて、受信データを並び替えるためのバッファの機能を有する。具体的な実装例としては、データバッファとしてDRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等のワークメモリへの一時記憶を行うことにより、データの並び替えを行う。データフローコントローラ1110はまた、エッジ管理DB1301の情報に従って並び替えたデータに宛先ヘッダを付し、複数のDNN101、リザーバー102、アニーリングマシン103へ送信してもよい。
The
また、データフローコントローラ1110は、上記の時間順にデータを並び替えるモードの他に、到着順にデータを予測計画部100に送ってもよい。このモードはデータの時間順が厳密に要求されない場合に適用でき、予測結果や行動計画結果を最短の時間で得ることができる。あるいは、送信元の特定の位置に注目した解析を行うため、特定のセンサのデータを優先的に予測計画部100に送ってもよい。例えば、工場などのフロア全体のロボットやドローンを監視中に、ある一台に変化が起こった場合、その一台の位置を特定、トレースして挙動を優先して解析したい場合である。
In addition to the above-mentioned mode of sorting data in chronological order, the
制御フローコントローラ1103は、通信制御部1302の指示により、現場1210の制御対象やセンサ部1220のセンサに対する制御信号を配信する。制御信号は、DNN101、リザーバー102、アニーリングマシン103の出力に基づき、フィードバックおよびフィードフォワード部1046で生成されたフィードバック信号、あるいはアセット制御部1243の指示によりフィードバックおよびフィードフォワード部1046で生成されたフィードフォワード信号である。
The
アセット制御部1243は、先に述べたようにエッジ1200の内容を設定するためのユーザインタフェースとなる他、エッジ1200が出力する予測結果に基づいて、ユーザが現場1210の制御対象やセンサ部1220のセンサを直接制御するインターフェースにもなる。アセット制御部1243は、ユーザ端末1305の入力により所望の制御をするように構成してもよい。
As described above, the asset control unit 1243 serves as a user interface for setting the contents of the edge 1200, and also serves as an interface for the user to directly control the control target of the
<AIの学習の詳細>
公知のようにDNN101、リザーバー102は、ニューロンのネットワークを構成しており、重みなどのパラメータについて学習が行われた後、推論、すなわち、AIの実行が可能になる。本実施例で採用できるいくつかの学習の方式を以下で説明する。
<Details of AI learning>
As is well known, the
第一の方式は、サーバー104の中で閉じた形で、DNN101やリザーバー102のニューロンネットワーク構成と同一の構成(レプリカ)をサーバー104内に形成して学習を行う。サーバー104内だけで学習が行われるため、学習を高速に行うことができる。レプリカは、AIオーケストレータ1045が、実際のDNN101やリザーバー102の構造を子デバイス間の接続も含めて模倣して、生成すればよい。
In the first method, a configuration (replica) identical to the neuron network configuration of the
リザーバー102の場合、サーバー104内にリザーバー層のネットワークのレプリカを準備するとともに、サーバー104内に持っている本来の入力層と出力層を用いて学習を行う(図8C参照)。教師データとしては、タスクに相当する入力教師信号と出力教師信号をサーバー104内で生成する。教師データの生成に必要な情報は、例えば運用管理DB1241に格納された過去データを読み出して使用する。学習するのは、出力層のパラメータ(重みなど)だけである。リザーバー層のニューロンのパラメータ(重みなど)と上記レプリカ構成内の対応するパラメータは、あらかじめランダムに設定された値に固定されている。サーバー104内の出力層のパラメータだけを学習するため、学習結果を各リザーバー102へ送信する必要はない。
In the case of the
DNN101の場合、リザーバーコンピューティングの場合と同様に、サーバー104内に別途備えた、DNNのレプリカ構成を用いて学習を行うことができる。DNNの学習では、すべての、あるいは一部のニューロンのパラメータ(重みなど)を学習する。リザーバーコンピューティングの場合と異なり、学習したパラメータを、該当するDNN101の該当するニューロンに反映させる必要があるので、学習したパラメータの情報を、サーバー104から例えば無線インターフェース105を用いて各DNN101に送信し、パラメータを設定する。
In the case of DNN101, as in the case of reservoir computing, learning can be performed using a DNN replica configuration separately provided in
なお、リザーバーコンピューティングの場合も、DNNと同じように、リザーバー層のニューロンのパラメータを学習させることがありうる。その場合は、DNNの場合と同様に、サーバー104から各リザーバー102に、学習したニューロンのパラメータを送信して設定すればよい。
In the case of reservoir computing, it is possible to learn the parameters of the neurons in the reservoir layer, just as in the case of DNN. In that case, just as in the case of DNN, the learned neuron parameters can be transmitted from the
第二の方式は、DNN101やリザーバー102のニューロンネットワークをそのまま用い、推論時と同じ構成で学習する。
The second method uses the neuron networks of
リザーバーコンピューティングの場合、入力教師信号と出力教師信号をサーバー104内で生成し、入力教師信号を無線インターフェース105で各リザーバー102にブロードキャストする。サーバーが各リザーバー102のニューロン出力を受信して、自分の持つ出力層で処理を行う。出力層の出力信号(すなわち、リザーバーコンピューティングとしての出力信号)と出力教師信号を比較して、その差がゼロに近づくように、サーバー104内の出力層のパラメータ(重みなど)を更新する。パラメータの更新は、サーバー104内だけで生じるため、更新の際、サーバー104から各リザーバー102への送信は不要であり、学習を高速に行うことができる。
In the case of reservoir computing, an input teacher signal and an output teacher signal are generated within the
DNNの場合(子デバイスが直列に接続された場合を想定)、入力教師信号と出力教師信号をサーバー104内で生成し、入力教師信号を、DNN初段を担うDNN101-1に送信する(図10A、図10B参照)。DNN最終段を担うDNN101-4の出力(すなわち、ディープラーニングとしての出力)をサーバー104が受信する。この出力信号と出力教師信号を比較して、その差がゼロに近づくように、各DNN101のパラメータ(ニューロンの重みなど)を更新する。パラメータを更新するために、サーバー104から各DNN101への送信が必要である。したがって、レプリカによる学習と比べて、学習は低速となる。
In the case of DNN (assuming child devices are connected in series), an input teacher signal and an output teacher signal are generated within the
第一のサーバー内レプリカを用いる方式では、子デバイスと親デバイス(サーバー)の回路構成が完全に同一ではない場合、特性にずれが生じるため、精度の点では第二の実際のデバイスを用いる方式に劣る。特に子デバイスを、低消費電力を志向したアナログ回路で実装している場合、アナログ回路の製造バラツキや、温度や電源電圧変動にともなう回路特性変動に起因して、サーバー内のレプリカと、子デバイス内の実物の特性(重みの値など)にずれが生じる。第二の方式により、実際の子デバイスを用いて定期的に学習を行うことで、特性変動に追従できるため、高い推論精度を維持できる。一方、レプリカを用いる方式は、前記の通り、高速な学習が可能という利点がある。 The first method, which uses a replica in the server, is inferior in terms of accuracy to the second method, which uses an actual device, because deviations in characteristics occur when the circuit configurations of the child device and the parent device (server) are not completely identical. In particular, when the child device is implemented with an analog circuit that aims for low power consumption, deviations occur between the replica in the server and the characteristics (weight values, etc.) of the actual child device due to manufacturing variations in the analog circuit and fluctuations in circuit characteristics due to fluctuations in temperature and power supply voltage. With the second method, regular learning is performed using the actual child device, making it possible to track characteristic fluctuations and maintain high inference accuracy. On the other hand, the method using a replica has the advantage of enabling high-speed learning, as mentioned above.
以上の学習は、あらかじめタスクを想定して、DNN101やリザーバー102を実運用する前に行うほか、新しいタスクに対応するために、実運用中の任意のタイミングで行ってもよい。また、上記方法で定期的に学習を繰り返し、追加学習とすることもできる。追加学習により、現場の状況変化やセンサの特性変化、あるいは、後述のデータフローコントローラの設定の変更等に対応が可能である。
The above learning can be performed before the
なお、上記では教師有り学習の例を説明したが、強化学習や公知の他の学習方法を採用してもよい。強化学習では、実際に推論を行いながら、サーバー104が何らかの指標で現在のAIの成果を評価し、評価結果にもとづいて、リザーバーの出力層の重みやDNNの重みを更新する。以上説明した学習機能は、AIオーケストレータ1045の機能の一部として持てばよい。
Note that, although an example of supervised learning has been described above, reinforcement learning or other known learning methods may also be adopted. In reinforcement learning, while actually performing inference, the
<段階的複合AI>
図14は、図12、図13のシステム構成による段階的複合AIの概念を示すブロック図である。先の実施例で説明したデータフローコントローラ1110は、データフローを実際のイベント発生順に並び替えるので、現実の時空間を正確に反映したデータを生成でき、精度の良い推論や予測が可能である。一方、データフローコントローラ1110は、一種のバッファなので、原理的にデータ遅延が生じる。そこで、精度と遅延時間はトレードオフの関係にある。また、運用の初期段階では、とにかく何らかの推論結果を得ることが優先される場合もある。そこで、本実施例では、データフローコントローラ1110が状況や段階に応じてデータフローの制御を可能とする例を示す。具体的な例としては、センサ側の送信タイミングに基づいてデータを並び替える際に、並び替えるデータの割合を変更し、並び替えるデータの割合を変更したことによる、処理の精度と速度を評価可能とする。
<Step-by-step compound AI>
FIG. 14 is a block diagram showing the concept of staged composite AI using the system configurations of FIG. 12 and FIG. 13. The
まず、データフローコントローラ1110は、データの並び替え制御をキャンセルして、到着順にデータを予測計画部100で処理させる(S1401)。この場合、原理的には低遅延で最高速の計算が可能である(S1402)。
First, the
次に、データフローコントローラ1110は、AIオーケストレータ1045の設定に従って、例えば、一つ、または複数の所定のセンサからのデータフローのみを発生順に並び替える(S1403)。どのセンサのデータフローを並び替えるかの設定は予め決めておいてもよいし、ユーザが動的に変更してもよい。具体例としては、並び替えるデータの割合を変更する際に、センサ側に複数種類のセンサがある場合、センサの種類ごとに並び替えるデータと、並び替えないデータに区別して制御する。センサ種類毎に制御する他、送信元毎、回線毎、あるいは任意のグルーピングを基に制御してもよい。これらは、データフロー中の送信元アドレスやフラグ等に基づいて識別することができる。
Next, the
この結果、制御の条件によっては、遅延が多少大きくなるが、精度が上がるかもしれない。遅延時間と精度は、例えば全体制御部1240で、あらかじめ決めた理想的な遅延時間と精度の条件と比較して評価する(S1404)。データフローコントローラ1110は、以上のように、コントロールするデータフローとコントロールしないデータフローの組み合わせを何通りか(あるいは全て)試行する。
As a result, depending on the control conditions, delays may increase slightly, but accuracy may improve. The delay time and accuracy are evaluated, for example, by the
一つの方法では、全ての組み合わせを試してみて、最も評価がよいものをデータフローコントローラ1110の設定とする。上記では、センサごとにデータフローのコントロールの有無を切り替える例を示したが、制御対象とする機器ごと、あるいは、現場の位置ごと等、他の組み合わせもあり得る。例えば、予め精度が重視される部分(あるいはセンサ)に優先度をつけて置き、優先度順に時間順のデータフローに並び替える等である。
In one method, all combinations are tried and the one with the best evaluation is set as the setting for the
上記の例では、実際の子デバイスに入力するデータフローの順序を変更しているが、実施例14で説明したレプリカを用いて学習を行う第二の方式を採用した場合、レプリカに変更したデータフローを入力して評価に用い、実際の子デバイスではレプリカで得られたもっともよい条件に切り替えて、データフローコントローラ1110を動作させるという方式もあり得る。この方式では、予測計画部100の出力は次第に目標とする遅延時間と精度の条件に近づいていくことになる。
In the above example, the order of the data flows input to the actual child device is changed, but if the second method of learning using a replica described in Example 14 is adopted, the changed data flows can be input to the replica and used for evaluation, and the actual child device can be switched to the best conditions obtained from the replica and the
別の方法では、次第にコントロールするデータフローの割合を増やしていき(たとえば単調増加)、遅延時間があらかじめ設定した上限に達したときにデータフローコントローラ1110の設定を固定することにしてもよい。この場合には、遅延時間の許容範囲内で、段階的に精度が向上していくことになる。
Another method is to gradually increase the proportion of data flow to be controlled (e.g., monotonically increase), and fix the settings of the
<未来予測フィードフォワードAI>
図15は、図12、図13のシステム構成による現状解析と未来予測の並行実施の概念を示すブロック図である。図12のような階層型のエッジ構成では、各階層のエッジの能力や仕様、さらにエッジに提供されるデータの量や転送速度が異なるので、各階層のエッジに適した処理を分担させることができる。
<Future prediction feedforward AI>
Fig. 15 is a block diagram showing the concept of parallel execution of current analysis and future prediction by the system configurations of Fig. 12 and Fig. 13. In the hierarchical edge configuration as shown in Fig. 12, the capabilities and specifications of the edges of each layer, as well as the amount and transfer speed of data provided to the edges, are different, so that it is possible to share processing suitable for the edges of each layer.
クラウドに近い全体制御部1240の複合AI1242(DNN、リザーバー、アニーリングマシン等で構成される)では、ビッグデータが利用可能でかつビッグデータを処理可能なリソースがあるが、現場から離れているのでリアルタイムデータの入手には不利である。そこで、複合AI1242では、リアルタイムのセンサデータでなく、DBの過去の履歴データを用いて、突発的な事象を考慮する必要のないルーチンの動作の大まかな未来予測を行う(S1501)。
The composite AI 1242 (consisting of a DNN, a reservoir, an annealing machine, etc.) of the
予測計画部100では、DNN101とリザーバー102、あるいはリザーバー102を用いて、100msec程度の未来の予測を行う(図3のパターン4と5)。また、DNN101またはリザーバー102、およびアニーリングマシン103を用いて行動・軌道計画等を行う(図3のパターン1~3,6、S1502)。この処理のための入力として、リアルタイムのセンサデータを用いる。
The
DNNの特徴抽出やリザーバーの特徴抽出、予測で得られた複数(例えば1万)時間ステップ分の時系列出力を使って、アニーリングマシンは一つの最適化問題の設定および求解を行う。この場合は、解法スループットが1万倍遅いが、より複雑な状態に対して、最適な行動を選択することができる。 The annealing machine uses the time series output for multiple (e.g. 10,000) time steps obtained from DNN feature extraction, reservoir feature extraction, and prediction to set up and solve a single optimization problem. In this case, the solution throughput is 10,000 times slower, but it is possible to select the optimal action for a more complex state.
例えば、都市の中の人流を5分間、DNN101やリザーバー102で特徴抽出し、その5分間の結果を用いて、次の5分間かけて、人流を均一化する最適化問題として、サーバー104が問題設定する(すなわち、アニーリングマシン103のスピン間の結合係数を決定)。さらに、アニーリングマシンに、上記結合係数を送信し(問題設定完了)、アニーリングマシンは、さらに次の5分間かけて、上記問題を解き、結果をサーバー104に返す。サーバー104は、その結果にもとづき、例えば、街角に置かれたディプレイに、推奨経路を表示する。上記15分の動作を周期的に繰り返すことで、都市の混雑を緩和することが考えられる。
For example,
しかし、上記説明から明らかなように、アニーリングマシンによる処理は、DNN101やリザーバー102のみで処理を行うより時間がかかる。DNN101やリザーバー102のみでの特徴抽出や予測によると、よりリアルタイムに処理、応答が可能である。
However, as is clear from the above explanation, processing using an annealing machine takes longer than processing using only
例えば、人がつぎにやりたいことを、人の動きの特徴抽出、あるいは、予測により推定し、事前に、アクチュエータで支援(あるいは指示)、または、ウェアラブルディスプレイ等で支援(必要な道具の場所を教示する等)することが考えられる。例えば、人が非定常作業を遠隔から行おうとする場合、支援が伝わるまでの時間に違和感が生じないようにするには、脳の感度である200msec以内の動作があらかじめ予測できるとよい。異常の前兆だけでなく、非定型作業の前兆を検知する予測を行ってもよい。さらに、世界の裏側や、人工衛星への通信で発生する通信遅延の隠蔽に、未来予測を使うことができる。 For example, it would be possible to estimate what a person will want to do next by extracting characteristics of their movements or by predicting it, and provide support (or instructions) in advance using actuators, or support using a wearable display (such as showing the location of necessary tools). For example, when a person is attempting to perform non-routine tasks remotely, it would be good to be able to predict movements within 200 msec, which is the sensitivity of the brain, in order to prevent any discomfort during the time it takes for the support to be transmitted. Predictions could be made to detect not only signs of abnormalities, but also signs of non-routine tasks. Furthermore, future predictions could be used to conceal communication delays that occur when communicating to the other side of the world or with artificial satellites.
さらにレスポンスを早くするためには、現場に近いエッジにおいてリアルタイムのセンサデータでDNN101やリザーバー102の特徴抽出のみを行い、機器の異常などを高速に認識して突発動作に対する緊急停止対応などを可能にする。
To further speed up the response, only feature extraction of the
以上説明した実施例1~16は、適宜組み合わせて実施することができる。
The above-described
予測計画部100、DNN101、リザーバー102、アニーリングマシン103、サーバー104、無線インターフェース105、センサ200、出力部300、同時多接続パイプライン1100、データフローコントローラ1110、時間空間オーガナイザ1120、エッジ1200、全体制御部1240
Prediction and
Claims (15)
センサ側から送信されるデータを受信し、前記処理部へ送信するデータフローコントローラを備え、
前記データフローコントローラは、前記処理部へ送信するデータを、前記センサ側の送信タイミングに基づいて並び替え、
前記データフローコントローラは、前記処理部へ送信するデータを、前記センサ側の送信タイミングに基づいて並び替える際に、並び替えるデータの割合を変更し、
並び替えるデータの割合を変更したことによる、前記処理部の処理の精度と速度を評価可能とする、
情報処理システム。 A processing unit including at least one processing device selected from a function approximator and an annealing machine;
A data flow controller is provided for receiving data transmitted from a sensor and transmitting the data to the processing unit.
The data flow controller rearranges the data to be transmitted to the processing unit based on a transmission timing on the sensor side;
the data flow controller changes a ratio of data to be rearranged when rearranging the data to be transmitted to the processing unit based on a transmission timing on the sensor side;
The accuracy and speed of the processing by the processing unit can be evaluated by changing the proportion of the data to be rearranged.
Information processing system.
請求項1記載の情報処理システム。 The data received by the data flow controller includes at least one of data obtained from different sensors, data passed through different paths, and data by different communication means.
2. The information processing system according to claim 1.
請求項2記載の情報処理システム。 an orchestrator that configures the data flow controller in response to the configuration of the processing device;
3. The information processing system according to claim 2.
請求項3記載の情報処理システム。 a first measurement unit that broadcasts the time of its own reference clock to the sensor side;
4. The information processing system according to claim 3.
請求項4記載の情報処理システム。 a second measurement unit that broadcasts its own location information to the sensor side;
5. The information processing system according to claim 4.
前記センサ側から送信されるデータの到着時間から前記遅延時間データテーブルの送信遅延時間を差し引くことにより、データの発信時間を算出して得た前記センサ側の送信タイミングと、前記センサ側から送信されるデータに付された位置情報に基づいて、該データに前記センサ側の送信タイミングと位置をラベリングする時間空間オーガナイザを備える、
請求項5記載の情報処理システム。 a delay time data table storing a transmission delay time from the sensor side;
a time-space organizer for labeling the data with the transmission timing and location of the sensor side based on the transmission timing of the sensor side obtained by subtracting the transmission delay time of the delay time data table from the arrival time of the data transmitted from the sensor side and the location information added to the data transmitted from the sensor side;
6. An information processing system according to claim 5.
請求項1記載の情報処理システム。2. The information processing system according to claim 1.
請求項1記載の情報処理システム。 The data flow controller controls whether to rearrange the data based on the sensor type, the source, the line, or an arbitrary grouping when changing the proportion of data to be rearranged.
2. The information processing system according to claim 1 .
請求項1記載の情報処理システム。 The data flow controller changes the ratio of data to be rearranged so that the ratio increases monotonically.
2. The information processing system according to claim 1 .
請求項1記載の情報処理システム。 Performing at least one of feature extraction using a DNN or a reservoir as the processing device and future prediction using a reservoir as the processing device;
2. The information processing system according to claim 1.
請求項10記載の情報処理システム。 The processing unit includes a server, which generates an optimization problem based on the output of the DNN or the reservoir, converts the optimization problem into a model that can be processed by the annealing machine, sets the problem to the annealing machine, and reads out the solution after the problem is solved by the annealing machine.
11. The information processing system according to claim 10.
前記子デバイスは、前記関数近似器および前記アニーリングマシンから選ばれる少なくとも一種のデバイスの少なくとも一部を構成し、
前記親デバイスと前記複数の子デバイスのそれぞれは、通信インターフェースを備え、
前記通信インターフェースは、無線通信インターフェースおよびアナログ回路を含む有線通信インターフェースから選ばれる少なくとも一つであり、
前記子デバイスで処理するデータは、前記親デバイスから前記複数の子デバイスの少なくとも一つに送信され、
前記子デバイスの少なくとも一つのノードの出力が、前記親デバイスおよび他の前記子デバイスの少なくとも一つに送信される、
請求項1記載の情報処理システム。 The processing unit includes a parent device and a plurality of child devices,
the child device constitutes at least a part of at least one type of device selected from the function approximator and the annealing machine;
each of the parent device and the plurality of child devices includes a communication interface;
The communication interface is at least one selected from a wireless communication interface and a wired communication interface including an analog circuit;
data to be processed by the child device is transmitted from the parent device to at least one of the plurality of child devices;
an output of at least one node of the child device is transmitted to the parent device and at least one of the other child devices;
2. The information processing system according to claim 1.
前記センサ側から順に、第1の情報処理システム、第2の情報処理システム、および第3の情報処理システムの階層構造を有する、
階層型エッジシステム。 A plurality of the information processing systems according to claim 1 are provided,
The information processing system has a hierarchical structure including, in order from the sensor side, a first information processing system, a second information processing system, and a third information processing system.
Hierarchical edge systems.
請求項13記載の階層型エッジシステム。 In the first information processing system, feature extraction is performed using a DNN or a reservoir as the processing device, and an emergency response is performed for a sudden operation.
The hierarchical edge system of claim 13.
前記センサ側から送信されるデータを受信し、前記処理部へ送信するデータフローコントローラを用い、
前記センサ側から送信されるデータは、異なるセンサから得られたデータ、異なる経路を経たデータ、および異なる通信手段によるデータの少なくとも一つを含み、
前記データフローコントローラは、前記処理部へ送信するデータを、前記センサ側の送信タイミングに基づいて並び替え、
前記データフローコントローラは、前記処理部へ送信するデータを、前記センサ側の送信タイミングに基づいて並び替える際に、並び替えるデータの割合を変更し、
並び替えるデータの割合を変更したことによる、前記処理部の処理の精度と速度を評価可能とする、
情報処理方法。 An information processing method for processing data transmitted from a sensor side by a processing unit including at least one processing device selected from a function approximator and an annealing machine,
A data flow controller receives data transmitted from the sensor side and transmits the data to the processing unit,
The data transmitted from the sensor side includes at least one of data obtained from different sensors, data via different routes, and data via different communication means;
The data flow controller rearranges the data to be transmitted to the processing unit based on a transmission timing on the sensor side;
the data flow controller changes a ratio of data to be rearranged when rearranging the data to be transmitted to the processing unit based on a transmission timing on the sensor side;
The accuracy and speed of the processing by the processing unit can be evaluated by changing the proportion of the data to be rearranged.
Information processing methods.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020163304A JP7514716B2 (en) | 2020-09-29 | 2020-09-29 | Information processing system, hierarchical edge system, and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020163304A JP7514716B2 (en) | 2020-09-29 | 2020-09-29 | Information processing system, hierarchical edge system, and information processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022055721A JP2022055721A (en) | 2022-04-08 |
JP7514716B2 true JP7514716B2 (en) | 2024-07-11 |
Family
ID=80998930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020163304A Active JP7514716B2 (en) | 2020-09-29 | 2020-09-29 | Information processing system, hierarchical edge system, and information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7514716B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018166273A (en) | 2017-03-28 | 2018-10-25 | Necプラットフォームズ株式会社 | Wireless device and timing synchronization method |
JP2018182661A (en) | 2017-04-20 | 2018-11-15 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Communication system, on-vehicle equipment and program |
JP2019161359A (en) | 2018-03-09 | 2019-09-19 | 横河電機株式会社 | Relay device |
JP2020057165A (en) | 2018-10-01 | 2020-04-09 | 株式会社椿本チエイン | Abnormality determination device, signal feature amount predictor, abnormality determination method, learning model generation method, and learning model |
WO2020115903A1 (en) | 2018-12-07 | 2020-06-11 | 日本電気株式会社 | Learning device, learning method, and learning program |
-
2020
- 2020-09-29 JP JP2020163304A patent/JP7514716B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018166273A (en) | 2017-03-28 | 2018-10-25 | Necプラットフォームズ株式会社 | Wireless device and timing synchronization method |
JP2018182661A (en) | 2017-04-20 | 2018-11-15 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Communication system, on-vehicle equipment and program |
JP2019161359A (en) | 2018-03-09 | 2019-09-19 | 横河電機株式会社 | Relay device |
JP2020057165A (en) | 2018-10-01 | 2020-04-09 | 株式会社椿本チエイン | Abnormality determination device, signal feature amount predictor, abnormality determination method, learning model generation method, and learning model |
WO2020115903A1 (en) | 2018-12-07 | 2020-06-11 | 日本電気株式会社 | Learning device, learning method, and learning program |
Also Published As
Publication number | Publication date |
---|---|
JP2022055721A (en) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | Digital twin networks: A survey | |
Yan et al. | Cloud robotics in smart manufacturing environments: Challenges and countermeasures | |
Yang et al. | Ultra-reliable communications for industrial internet of things: Design considerations and channel modeling | |
CN110390246A (en) | A kind of video analysis method in side cloud environment | |
Vaezi et al. | Digital twins from a networking perspective | |
CN111444014A (en) | Ocean observation network system and method based on EC-REST system structure | |
CN104049575A (en) | Collecting And Delivering Data To A Big Data Machine In A Process Control System | |
CN113610329B (en) | Short-time rainfall approaching forecasting method of double-current convolution long-short term memory network | |
CN111935124A (en) | Multi-source heterogeneous data compression method applied to smart city | |
Di | Geospatial sensor web and self-adaptive Earth predictive systems (SEPS) | |
Mohamed et al. | A service-oriented middleware for cloud of things and fog computing supporting smart city applications | |
CN112257846A (en) | Neuron model, topology, information processing method, and retinal neuron | |
Dyk et al. | Sensesim: An agent-based and discrete event simulator for wireless sensor networks and the internet of things | |
Yu et al. | Energy-aware dynamic computation offloading for video analytics in multi-UAV systems | |
da Silva et al. | Towards federated learning in edge computing for real-time traffic estimation in smart cities | |
JP7514716B2 (en) | Information processing system, hierarchical edge system, and information processing method | |
Moorthy et al. | A middleware for digital twin-enabled flying network simulations using ubsim and UB-ANC | |
Qadeer et al. | Deep-deterministic policy gradient based multi-resource allocation in edge-cloud system: a distributed approach | |
Chen et al. | A survey on resource management in joint communication and computing-embedded SAGIN | |
Carvalho et al. | Farming on the edge: Architectural Goals | |
US20220101099A1 (en) | Information processing system and information processing method | |
Kurniawan et al. | Mobile computing and communications-driven fog-assisted disaster evacuation techniques for context-aware guidance support: A survey | |
Sanislav et al. | Digital twins in the internet of things context | |
Ksentini et al. | Fog-enabled industrial IoT network slicing model based on ML-enabled multi-objective optimization | |
Zhang et al. | Application of artificial intelligence for space-air-ground-sea integrated network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230302 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240311 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240611 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240701 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7514716 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |