JP-2026077910-A - リザーバ計算機、及び設備状態検知システム
Abstract
【課題】 エコーステートネットワークをベースとしたリザーバ計算機をハードウェア上に効率よく実装し、実装可能な総ニューロン数と処理速度とのトレードオフの関係を解消する。 【解決手段】 リザーバ計算機のリザーバ層は、複数のサブリザーバに分割され、前記サブリザーバは、複数のリザーバニューロンを有し、前記リザーバニューロンは、セレクタと、乗算器と、積算器と、活性化関数演算器と、が順に配置されており、前記セレクタは、選択信号に従い、前記リザーバ入力信号、及び前記乗算器においてゼロではない重みが乗算される前記リザーバニューロンからの出力信号のいずれかを順に選択する。 【選択図】 図1
Inventors
- 大島 俊
- 小野 豪一
- 北山 晃
- 山根 慶大
Assignees
- 株式会社日立製作所
Dates
- Publication Date
- 20260513
- Application Date
- 20260305
Claims (9)
- エコーステートネットワークをベースとしたリザーバ計算機であって、 時系列信号がリザーバ入力信号として入力されるリザーバ層と、 読み出し層と、を備え、 前記リザーバ層は、複数のサブリザーバに分割され、 前記サブリザーバは、複数のリザーバニューロンを有し、 前記リザーバニューロンは、 前記リザーバ入力信号、及び複数の前記リザーバニューロンからの出力信号のいずれかを順に選択するセレクタと、 前記セレクタによる選択結果に重みを乗算する乗算器と、 前記乗算器の乗算結果を積算する積算器と、 前記積算器の積算結果を入力とした活性化関数の出力値を演算する活性化関数演算器と、が順に配置されており、 前記セレクタは、選択信号に従い、前記リザーバ入力信号、及び前記乗算器においてゼロではない前記重みが乗算される前記リザーバニューロンからの前記出力信号のいずれかを順に選択し、 前記読み出し層は、複数の前記サブリザーバがそれぞれ有する複数の前記リザーバニューロンからの前記出力信号に対して読み出し重みを用いた積和演算を実行し、演算結果を前記リザーバ計算機からの出力信号として出力する リザーバ計算機。
- 請求項1に記載のリザーバ計算機であって、 前記選択信号としての選択番号、及び前記ゼロではない前記重みが対応付けて格納されたメモリと、 プロセッサと、を備え、 前記プロセッサは、前記メモリから前記選択番号を読み出して前記セレクタに供給するとともに、前記ゼロではない前記重みを読み出して前記乗算器に供給する リザーバ計算機。
- 請求項1に記載のリザーバ計算機であって、 前記リザーバ層の前段に設けられ、前記リザーバ入力信号の帯域制限を行う帯域可変フィルタと、 プロセッサと、を備え、 前記プロセッサは、前記乗算器に供給する前記ゼロではない前記重みの割合を表すゼロ重み率を制御するとともに、前記ゼロ重み率に応じて前記帯域可変フィルタの通過帯域を制御する リザーバ計算機。
- 請求項3に記載のリザーバ計算機であって、 前記プロセッサは、学習期間において、学習用の前記リザーバ入力信号に基づく複数の前記リザーバニューロンからの前記出力信号、及び前記読み出し層によって演算された前記出力信号、並びに前記学習用の前記リザーバ入力信号に対応するアノテーションデータに基づいて、前記読み出し層における前記読み出し重みを学習して学習誤差を算出し、前記学習誤差に基づいて前記ゼロ重み率を更新する リザーバ計算機。
- 請求項3に記載のリザーバ計算機であって、 前記帯域可変フィルタと前記リザーバ層との間に、可変利得増幅器、及びアナログデジタル変換器を、備え、 前記可変利得増幅器は、前記帯域可変フィルタによって減衰された前記リザーバ入力信号を増幅し、 アナログデジタル変換器は、前記可変利得増幅器によって増幅された前記リザーバ入力信号をデジタル信号に変換する リザーバ計算機。
- 請求項1に記載のリザーバ計算機であって、 前記セレクタは、前記リザーバ入力信号、及び同一の前記サブリザーバに属する複数の前記リザーバニューロンからの前記出力信号のうち、前記乗算器において前記ゼロではない前記重みが乗算される前記出力信号のいずれかを順に選択する リザーバ計算機。
- 請求項1に記載のリザーバ計算機であって、 前記セレクタは、FPGA(Field Programmable Gate Array)内のルックアップテーブルにより実現され、 前記ルックアップテーブルには、前記リザーバ入力信号、及び複数の前記リザーバニューロンからの前記出力信号が書き込まれ、前記ルックアップテーブルに対する読み出しのアドレス信号として、前記セレクタに対する前記選択信号が供給される リザーバ計算機。
- 請求項1に記載のリザーバ計算機であって、 前記セレクタは、FPGA内のブロックRAMにより実現され、 前記ブロックRAMには、前記リザーバ入力信号、及び複数の前記リザーバニューロンからの前記出力信号が書き込まれ、前記ブロックRAMに対する読み出しのアドレス信号として、前記セレクタに対する前記選択信号が供給される リザーバ計算機。
- 設備と、前記設備、または前記設備の近傍に配置されたセンサと、エコーステートネットワークをベースとしたリザーバ計算機と、を備える設備状態検知システムであって、 前記リザーバ計算機は、 前記センサから入力された時系列センサ信号がリザーバ入力信号として入力されるリザーバ層と、 読み出し層と、を備え、 前記リザーバ層は、複数のサブリザーバに分割され、 前記サブリザーバは、複数のリザーバニューロンを有し、 前記リザーバニューロンは、 前記リザーバ入力信号、及び複数の前記リザーバニューロンからの出力信号のいずれかを順に選択するセレクタと、 前記セレクタによる選択結果に重みを乗算する乗算器と、 前記乗算器の乗算結果を積算する積算器と、 前記積算器の積算結果を入力とした活性化関数の出力値を演算する活性化関数演算器と、が順に配置されており、 前記セレクタは、選択信号に従い、前記リザーバ入力信号、及び前記乗算器においてゼロではない前記重みが乗算される前記リザーバニューロンからの前記出力信号のいずれかを順に選択し、 前記読み出し層は、複数の前記サブリザーバがそれぞれ有する複数の前記リザーバニューロンからの前記出力信号に対して読み出し重みを用いた積和演算を実行し、演算結果を前記設備の状態を表す前記リザーバ計算機からの出力信号として出力する 設備状態検知システム。
Description
本発明は、リザーバ計算機、及び設備状態検知システムに関する。 社会的インフラ(infrastructure)や産業用大型機械等の設備を保守、管理するため、当該設備、または、その近傍に配置されたセンサ(例えば、振動センサ等)が出力した時系列信号を解析することにより、設備の異常状態を検知できる設備状態検知システムの実用化が望まれている。 時系列信号を解析するアルゴリズムを確立するためには、時系列信号を予め学習する必要がある。当該学習に関しては、例えば、RNN(Recurrent Neural Network)やLTSM(Long Short-Term Memory)等のディープラーニングを用いる手法や、リザーバ計算(Reservoir Computing)を用いる手法が知られている。 ディープラーニングを用いる手法は、一般に、学習が容易でなく、多くの時間と労力を要する。リザーバ計算を用いる手法は、ディープラーニングに比べて、時系列信号を容易に学習できる。特に、エコーステートネットワーク(Echo State Network)をベースとしたリザーバ計算は、研究の蓄積があり、リザーバ計算の標準モデルとなっている。 ところで、計算機をハードウェア上に実装する技術に関し、例えば特許文献1には、中間層の中で、畳み込みを行う入力値Xiと、重みWiを受け取り、畳み込み演算を行う非ゼロ畳み込み演算回路21と、畳み込み演算された各演算値とバイアスW0との総和を取る総和回路22と、総和を取った信号Yを活性化関数f(u)で変換する活性化関数回路23と、を備える3状態ニューラルネットワーク回路200が記載されており、非ゼロ畳み込み演算回路21は、重みWiがゼロ(0)の重みをスキップし、ゼロ以外の重みと当該ゼロ以外の重みに対応する入力値Xiをもとに畳み込み演算を行うことが記載されている。 特開2019-200553号公報 図1は、本発明の第1の実施形態に係るリザーバ計算機の構成例を示す図である。図2は、サブリザーバの第1の構成例を示す図である。図3(A),(B)は、サブリザーバにてゼロスキップを行う場合と行わない場合との違いを説明するための図であり、図3(A)はゼロスキップを行う場合、図3(B)はゼロスキップを行わない場合のタイムチャートを示す図である。図4は、サブリザーバの第2の構成例を示す図である。図5は、重み格納用分割メモリに格納された選択信号の値、及び重みの一例を示す図である。図6は、本発明の第2の実施形態に係るリザーバ計算機の構成例を示す図である。図7は、サブリザーバにおける処理周期の一例を示す図である。図8は、帯域可変フィルタの特性の一例を示す図である。図9は、本発明の第3の実施形態に係るリザーバ計算機の構成例を示す図である。図10(A),(B)は、ゼロ重み率探索処理を説明するための図であり、図10(A)はゼロ重み率探索処理の一例を説明するフローチャート、図10(B)はゼロ重み率探索処理の一例を説明するタイミングチャートである。図11は、本発明の第4の実施形態に係るリザーバ計算機の構成例を示す図である。図12は、FPGAを用いたセレクタの動作を説明するための図である。図13(A),(B)は、FPGAを用いたセレクタの構成例であり、図13(A)は6入力LUT(Look Up Table)による構成例、図13(B)はBRAM(Block RAM)による構成例を示す図である。 以下、図面を参照して本発明の複数の実施形態を説明する。各実施形態は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。各種情報の例として、「テーブル」、「リスト」、「キュー」等の表現にて説明することがあるが、各種情報はこれら以外のデータ構造で表現されてもよい。例えば、「XXテーブル」、「XXリスト」、「XXキュー」等の各種情報は、「XX情報」としてもよい。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。実施形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、以下の実施形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合及び原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須ではない。また、「Aからなる」、「Aよりなる」、「Aを有する」、「Aを含む」と言うときは、特にその要素のみである旨明示した場合等を除き、それ以外の要素を排除しない。同様に、以下の実施形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合及び原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含む。 <本発明の第1の実施形態に係るリザーバ計算機101の構成例> 図1は、本発明の第1の実施形態に係る、エコーステートネットワークをベースとするリザーバ計算機101の構成例を示している。 リザーバ計算機101は、設備100の外観に異常が生じる前の段階の軽微な異常状態を検知する状態検出システムに採用される。設備100は、例えば、上下水道管、橋、道路等の社会的インフラや、エンジン、モータ等を備える産業用大型機械等を含み得る。 リザーバ計算機101は、設備100、または、その近傍に配置されたセンサ110からの時系列センサ信号をリザーバ入力信号SINとして受け付ける。なお、本実施形態において、時系列センサ信号はデジタル信号であるものとする。時系列センサ信号がアナログ信号である場合については後述する。また、リザーバ計算機101は、異常状態の検知結果を出力信号SOUTとして出力する。出力信号SOUTは、例えば、異常の有無を表す2値信号であってもよいし、異常状態をより詳細に表す信号であってもよい。センサ110は、例えば、振動センサ、音センサ、温度センサ等を含む。 リザーバ計算機101は、リザーバ層11、読み出し層13、及びプロセッサ15を備える。リザーバ層11、読み出し層13、及びプロセッサ15は、例えば、FPGA(Field Programmable Gate Array)等ハードウェア上に実装される。 リザーバ層11には、センサ110からの時系列センサ信号がリザーバ入力信号SINとして入力される。リザーバ層11は、複数(図1の場合、3)のサブリザーバ121,122,123に分割されている。以下、サブリザーバ121,122,123を個々に区別する必要がない場合、サブリザーバ12と称する。なお、リザーバ層11をサブリザーバ12に分割する数は3に限らず、2または4以上であってもよい。 サブリザーバ12は、重みWがゼロである場合の演算を省略するゼロスキップを行うようになされたゼロスキップサブリザーバである。サブリザーバ12は、複数のリザーバニューロン(詳細後述)を備え、複数のリザーバニューロン20(図2)からの出力信号NRを後段の読み出し層13に出力する。 読み出し層13は、各サブリザーバ12から入力された複数のリザーバニューロン20からの出力信号NRに対して読み出し重みを用いて積和演算を行い、その結果をリザーバ計算機101の出力信号SOUTとして出力する。なお、リザーバ入力信号SIN、及び出力信号SOUTの少なくとも一方は、複数の信号であってもよい。 プロセッサ15は、例えば、CPU等からなり、リザーバ計算機101の全体を制御する。 <サブリザーバ12の第1の構成例> 次に、図2は、サブリザーバ12の第1の構成例を示している。サブリザーバ12の第1の構成例は、複数の(図2の場合、63)のリザーバニューロン201~2063から構成される。以下、リザーバニューロン201,202,・・・2063の出力信号を出力信号NR1,NR2,・・・NR63と称する。また、リザーバニューロン201~2063やその出力信号NR1~NR63を個々に区別する必要がない場合、リザーバニューロン20、出力信号NRと称する。 リザーバニューロン20は、セレクタ21、及びリザーバニューロン部22を有する。セレクタ21は、リザーバ入力信号SIN、及び同一のサブリザーバ12を構成する全てのリザーバニューロン20の出力信号NRを入力として受け付ける。 セレクタ21は、プロセッサ15からの選択信号に従い、入力されたいずれかの信号を順次選択してリザーバニューロン部22に出力する。具体的には、セレクタ21は、初めにリザーバ入力信号SINを選択してリザーバニューロン部22に出力する。次に、セレクタ21は、全てのリザーバニューロン20の出力信号NRのうち、後段のリザーバニューロン部22における乗算器221で乗算される重みWj,k(j=1,2,・・・63,k=1,2,・・・63)がゼロではないものだけを順次選択してリザーバニューロン部22に出力する。なお、サブリザーバ12を構成する各リザーバニューロン20に供給されるゼロではない重みWj,kの数は統一されている。 リザーバニューロン部22は、乗算器221、積算器222、及び活性化関数演算器(af)223を順に備える。乗算器221は、セレクタ21から入力されたリザーバ入力信号SINに対し、プロセッサ15から供給された重みWj,0を乗算し、乗算結果を積算器222に出力する。また、乗算器221は、セレクタ21から順次入力された、リザーバニューロン20からの出力信号NRに対し、プロセッサ15から供給されたゼロではない重みWj,kを乗算し、乗算結果を積算器222に出力する。積算器222は、乗算器221から順次入力された乗算結果を積算し、積算結果を活性化関数演算器223に出力する。活性化関数演算器223は、積算器222から入力された積算結果を入力とした活性化関数の出力値を演算し、当該リザーバニューロン20の出力信号NRとして後段に出力する。 例えば、図2のリザーバニューロン201の場合、セレクタ21は、選択信号1に従い、初めにリザーバ入力信号SINを選択してリザーバニューロン部22に出力する。次に、セレクタ21は、リザーバニューロン部22における積和演算の重みWj,kがゼロではないW1,2,W1,24,W1,59にそれぞれ乗算するためのリザーバニューロン20の出力信号NR2,NR24,NR59を順次選択してリザーバニューロン部22に出力する。 そして、リザーバニューロン201のリザーバニューロン部22では、積和演算の結果であるW1,0・SIN+W1,2・NR2+W1,24・NR24+W1,59・NR59を入力とした活性化関数の出力値を演算し、当該リザーバニューロン201の出力信号NR1として後段に出力する。なお、リザーバ入力信号SINに対する積和処理は、上記以外のタイミングや方法で行ってもよい。 また例えば、図2のリザーバニューロン202の場合、セレクタ21は、選択信号2に従い、初めにリザーバ入力信号SINを選択してリザーバニューロン部22に出力する。次に、セレクタ21は、リザーバニューロン部22における積和演算の重みWj,kがゼロではないW2,1,W2,18,W2,45にそれぞれ乗算するためのリザーバニューロン20の出力信号NR1,NR18,NR45を順次選択してリザーバニューロン部22に出力する。 そして、リザーバニューロン202のリザーバニューロン部22では、積和演算の結果であるW