(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022027657
(43)【公開日】2022-02-10
(54)【発明の名称】マンホールポンプ異常検知方法
(51)【国際特許分類】
E03F 5/22 20060101AFI20220203BHJP
G06N 3/08 20060101ALI20220203BHJP
E03F 5/10 20060101ALI20220203BHJP
【FI】
E03F5/22
G06N3/08
E03F5/10 Z
【審査請求】未請求
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2021124835
(22)【出願日】2021-07-29
(31)【優先権主張番号】P 2020128192
(32)【優先日】2020-07-29
(33)【優先権主張国・地域又は機関】JP
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(令和元年度国土技術政策総合研究所「下水道革新的技術実証事業(B-DASHプロジェクト)」委託研究、産業技術力強化法17条の適用を受ける出願)}
(71)【出願人】
【識別番号】515195440
【氏名又は名称】株式会社新日本コンサルタント
(71)【出願人】
【識別番号】397028016
【氏名又は名称】株式会社日水コン
(71)【出願人】
【識別番号】509042518
【氏名又は名称】エコモット株式会社
(74)【代理人】
【識別番号】110002996
【氏名又は名称】特許業務法人宮田特許事務所
(72)【発明者】
【氏名】阿曽 克司
(72)【発明者】
【氏名】堀 孝成
(72)【発明者】
【氏名】中村 元紀
(72)【発明者】
【氏名】服部 貴彦
(72)【発明者】
【氏名】水谷 智彦
(72)【発明者】
【氏名】谷裏 弘晃
(72)【発明者】
【氏名】松永 崇
(72)【発明者】
【氏名】庄内 道博
(72)【発明者】
【氏名】吉村 貴志
(72)【発明者】
【氏名】岩本 卓三
(72)【発明者】
【氏名】田川 哲哉
【テーマコード(参考)】
2D063
【Fターム(参考)】
2D063DA00
2D063DC04
(57)【要約】
【課題】水道のマンホールポンプの異常を確実に検知できるマンホールポンプ異常検知方法の提供を目的とする。
【解決手段】1時間毎の運転回数と運転時間のデータを連続した24時間分をニューラルネットワークに入力し、復元誤差のうち、しきい値を超えた時間帯を通常と異なる運転として判断し、当該時間帯を自動的にポンプの異常として検知する方法である。
【選択図】
図1
【特許請求の範囲】
【請求項1】
1時間毎の運転回数と運転時間のデータのうち連続した24時間分をニューラルネットワークに入力し、復元誤差のうち、しきい値を超えた時間帯を通常と異なる運転として判断し、当該時間帯を自動的にポンプの異常として検知するマンホールポンプの異常検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マンホールポンプの異常を判別するための異常検知方法に関する。
【背景技術】
【0002】
汚水を流すマンホールポンプは、全国に約4万7千基設置されている。従来、「ポンプ過負荷」、「ポンプ長時間運転」、「ポンプ故障」等の場合には、各ポンプに付いているアラートが発報して、マンホールポンプの異常を知らせていた。
【0003】
しかしながら、各ポンプに付いたアラートの発報に頼ることなく、将来の早期異常発見につながる前段階として、今まで蓄積してきたデータを活かしつつ、異常を検知する識別方法を構築できないかと鋭意研究を重ねた結果、今般、異常検知方法を発明するに至ったものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-020264
【特許文献2】特開2016-018526
【特許文献3】特開2016-012158
【特許文献4】特開2012-038298
【発明の概要】
【発明が解決しようとする課題】
【0005】
そこで本発明は、上記事情に鑑みて、アラート発報機能の有無を問わず下水道のマンホールポンプの異常を確実に検知できるマンホールポンプ異常検知方法の提供を目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために本発明に係るマンホールポンプの異常検知方法は、1時間毎の運転回数と運転時間のデータのうち連続した24時間分をニューラルネットワークに入力し、復元誤差のうち、しきい値を超えた時間帯を通常と異なる運転として判断し、当該時間帯を自動的にポンプの異常として検知するものである。
【発明の効果】
【0007】
本発明によれば、毎時に得られる「運転回数と運転時間」のデータを連続した24時間分をニューラルネットワークに入力し、復元誤差を算出することによって、アラートの発報機能の有無を問わずマンホールポンプの異常を自動的に検知できる。
【図面の簡単な説明】
【0008】
【
図1】異常検知識別器のフローを示す説明図である。
【
図3】異常検知識別器による復元誤差と警報・緊急出動の関係を示すグラフである。
【発明を実施するための形態】
【0009】
以下、本発明の実施の形態を図面に基づいて説明する。本発明における異常検知方法を実行するには、異常検知識別器の構築が必要である。異常検知識別器は、電流値の異常時データと正常時データを自動的に峻別するためのものである。
図1は異常検知識別器のフローを示す説明図である。
【0010】
異常検知識別器を構築するためには、「異常」である状態の定義を行う必要がある。一般的には「異常」はあまり発生しておらず、リアルタイムモニタリングで得られる時系列データから「異常」の特徴を定義することは複雑で難しい。仮に「異常」が定義できたとしても、ほとんどの状態が「正常」に偏っていて、全状態に占める「異常」の割合(以下、異常確率とする)が非常に小さい。そのため、リアルタイムモニタリングで得られるデータから「正常」と「異常」を区別する識別器を作る場合、誤認する確率は異常確率よりも大きくなり、すべての出力を「正常」とする方がシステムとして高評価となってしまう可能性が高い。そこで、初めから無理にリアルタイムモニタリングで得られる時系列データから「異常」を定義せず、日報データまたはリアルタイムモニタリングで得られる時系列データから「正常」を定義して、その状態から逸脱した状態を「異常」と定義することでこれらの問題を回避する方法を採用した。「正常」を定義する方法として、入力データを再現するニューラルネットワーク(ノードを束ねた層や活性化関数の組み合わせによるネットワーク)であるオートエンコーダ(自己符号化器)を使用した。オートエンコーダは、正解データに入力データそのものを使うため教師なし学習に分類される。そして、オートエンコーダは、入力層及び出力層よりも小さい次元の中間層を有する3層以上のニューラルネットワークにおいて、入力特徴ベクトルと出力ベクトルとが同じ値になるように重み付けを決定する機械学習によって、入力データの特徴を次元圧縮により抽出する手法であって、ノイズ除去などデータの本質を獲得するために利用される。
【0011】
<運転回数4と運転時間5の選出、データセットの作成>
前記オートエンコーダの入力層に入力するデータの選定に当たり、既存の日報データに着目し収集を行った。しかしながら、日報データは、マンホールポンプの各施設においてポンプの属性等、記載項目が異なる等の理由により、すべてのデータを統一的に使用することはできない。例えば全国展開時に新たなポンプの形式や出力などの属性が発生すると、同じシステムが適用できず汎用性が確保できないことから、ポンプの属性等の汎用性を阻害する恐れのある項目を入力値に含めないこととした。そこで、マンホールポンプの一般的な運用で作成される各種日報の共通のデータ項目を割り出し、その中でポンプの正常又は異常に影響を及ぼすものとして、ポンプの毎時の「運転回数4」と「運転時間5」を選定し、この2つの指標を利用することにした。そして、オートエンコーダに入力するためのデータは、連続した24時間分の、1時間毎の運転回数4と運転時間5のデータとした。そして、対象時刻から1時間後までの状態が正常または異常のいずれであるかを推定するために、対象時刻から23時間前までの計24時間分の運転回数4と運転時間5のデータセットを作成した。なお、運転回数4と運転時間5の2つの指標のみによってオートエンコーダによる算出結果に汎用性を持たせるために、過去何年にも亘る日報データを収集整理した。このデータセットをオートエンコーダに入力し、入力の復元を行う。
【0012】
<オートエンコーダによる学習、復元誤差の算出>
オートエンコーダのネットワーク図を
図2に示す。このオートエンコーダは次の6つの部位からなっている。なお、運転回数4と運転時間5では数値の取りうる幅が2桁程度異なることから、それぞれの入力処理を分離した。
【0013】
<運転回数時系列の規格化部7>
運転回数入力ベクトルCIを48次元ベクトル{CI1_23, CI2_23, CI1_22, CI2_22, CI1_21, CI2_21, …, CI1_n, CI2_n, …, CI1_2, CI2_2, CI1_1, CI2_1, CI1_0, CI2_0}とする。ここで、CI1,CI2はそれぞれ同一ポンプ所におけるポンプNo.1、ポンプNo.2を、_nは復元対象時刻からn時間前を表している。例えば、復元対象時刻が21時台とすると、CI2_23は前日の22時台(21時の23時間前)のポンプNo.2の運転回数4(回)を、CI1_0は当日21時台のポンプNo.1の運転回数4(回)を表す。通常、同一ポンプ所におけるポンプNo.1とポンプNo.2は交互に運転しているため、通常均等な値になると考えられる。このようなことから、ポンプNo.1とポンプNo.2の区別なく、全体の平均運転回数(回)を各値から減じ偏差を求め、偏差の絶対値の最大値で除することで規格化した。これにより、規格化後の運転回数入力ベクトルCI’の各要素の値域は{-1≦CI’(1,2)_n≦1}となる。
【0014】
<運転時間時系列の規格化部8>
運転時間入力ベクトルTIを48次元ベクトル{TI1_23,TI2_23,TI1_22,TI2_22, TI1_21,TI2_21,…,TI1_n,TI2_n,…,TI1_2,TI2_2,TI1_1,TI2_1,TI1_0,TI2_0}とする。ここで、TI1,TI2はそれぞれポンプNo.1、ポンプNo.2を、_nは復元対象時刻からn時間前を表している。例えば、復元対象時刻が21時台とすると、TI2_23は前日の22時台(21時の23時間前)のポンプNo.2の運転時間5(秒)を、TI1_0は当日21時台のポンプNo.1の運転時間5(秒)を表す。通常、同一ポンプ所におけるポンプNo.1とポンプNo.2は交互に運転しているため、通常均等な値になると考えられる。このようなことから、ポンプNo.1とポンプNo.2の区別なく、全体の平均運転時間(秒)を各値から減じ偏差を求め、偏差の絶対値の最大値で除することで規格化した。これにより、規格化後の運転時間入力ベクトルTI’の値域は{-1≦TI’(1,2)_n≦1}となる。
【0015】
<エンコーダ部9>
規格化した運転回数入力ベクトルCI’と運転時間入力ベクトルTI’をconcatinate関数で結合し、2×48行列P’を作成し、4層の畳込み層(畳込み(カーネルサイズ:3,マップ数:32)と活性化関数(LeakyReLU,Alpha:0.1)のセット)と2層の畳込み層(畳込み(カーネルサイズ:3,マップ数:16)と活性化関数(LeakyReLU,Alpha:0.1)のセット)の計6層を通すことで、16×2行列に圧縮(エンコード)した(圧縮率は1/3)。
【0016】
<デコーダ部10>
エンコーダ部8の出力した16×2行列を2層の逆畳み込み層(逆畳み込み(カーネルサイズ:5、マップ数:16)と活性化関数(LeakyReLU、Alpha:0.1)のセット)、逆畳み込み層(逆畳み込み(カーネルサイズ:4、マップ数:32)と活性化関数(LeakyReLU、Alpha:0.1)のセット)、逆畳み込み層(逆畳み込み(カーネルサイズ:3、マップ数:32)と活性化関数(LeakyReLU、Alpha:0.1)のセット)、逆畳み込み層(逆畳み込み(カーネルサイズ:4、マップ数:32)と活性化関数(LeakyReLU、Alpha:0.1)のセット)及び逆畳み込み層(逆畳み込み(カーネルサイズ:6、マップ数:2))の計6層を通し、48×2行列を出力する。
【0017】
<運転回数時系列の復元部11>
デコーダ部10により生成した48×2行列の前半を48次元規格化運転回数出力ベクトルCO’として復元(規格化と逆の処理:残差の絶対値の最大値をかけて、平均値を足す)し、48次元運転回数出力ベクトルCOを得る。
【0018】
<運転時間時系列の復元部12>
デコーダ部10により生成した48×2行列の後半を48次元規格化運転時間出力ベクトルTO’として、復元(規格化と逆の処理:残差の絶対値の最大値をかけて、平均値を足す)し、48次元運転回数出力ベクトルTOを得る。
【0019】
以上のオートエンコーダのネットワークに損失関数(HuberLoss)を適用し、オプティマイザーはAdam(α=0.001,β1=0.9,β2=0.999,ε=1e-8)を用いた。訓練用データ(4,346,997)と評価用データ(711,258)で、バッチサイズ64,2000エポックの訓練を行った。学習には、Nvidia社製DGX-Staion(GPU:TeslaV100)、深層学習フレームワークはSONY社製Neural Network Console version 1.6.7263.14761及びNNabla(Version 1.1.0, Build 190820052242)を用いた。
【0020】
上記のようなオートエンコーダに対し、過去24時間分の運転回数4と運転時間5を入力し学習させると、オートエンコーダが、入力データと、オートエンコーダの出力(正常を表す)との差である復元誤差Aを算出し、その復元誤差Aがしきい値Dを超えた時間帯を正常と異なる運転である「異常」として定義し、当該時間帯を異常状態の時間帯データとして自動的に抽出した。なお、この異常を区別するための復元誤差Aのしきい値Dもハイパーパラメータである。しきい値Dの決定方法については、まず仮の「異常」を決めて、過去データ(緊急出動記録等)との突合せを行うことで、現実的なしきい値Dを決定した。
【0021】
ここで、オートエンコーダにIoT機能を有する電流計によるリアルタイムモニタリングで得られる時系列データ(運転回数4と運転時間5)を入力すると、リアルタイムモニタリングで得られる時系列データから、各時間帯について「正常」もしくは「異常」が出力される。すなわち、異常検知識別器によれば、日報データに限らず、リアルタイムモニタリングで得られる時系列データに対しても、復元誤差Aを算出し、復元誤差Aがしきい値Dを超えた時間帯を正常と異なる運転である「異常」として定義し、当該時間帯が異常状態の時間帯データとして自動的に抽出される。
【0022】
このように、オートエンコーダを用いて、2つの指標、すなわち、日報から容易に取得できる運転回数4と運転時間5のみの2つの指標で正常か異常かを簡単に判別できる異常検知識別器を構築した。過去の膨大なデータから、どのデータが正常か異常かを膨大な時間を掛けて人の手で突合しての判別は困難であるのに対し、上記のような異常検知識別器を構築すれば、オートエンコーダに前記2つの指標を入力するだけで、自動的に正常か異常の判別が可能になった。
【0023】
因みに、ポンプ異常による警報の代表的な例としては、定格電流の1~1.1倍を超えた値が3~5秒以上続いた場合の「ポンプ過負荷による発報」、ある一定時間(標準20分)以上連続運転した場合の「ポンプ長時間運転による発報」、ポンプ毎にモータブレーカーによって検出される「ポンプ故障による発報」がいわゆる3大警報と言われ、異常全体の95%を占めている。この過去の警報・緊急出動のデータを異常検知識別器に入力すると、
図3に示すように、復元誤差Aがしきい値Dとして設定した0.3を超過した部分が、警報・緊急出動に至った異常時に略合致しており、適時に異常検知がほぼ判定可能であることが分かった。ここで、
図3において、横軸は時間の経過を表し、縦軸は復元誤差Aを表している。図中の破線Aは復元誤差Aのしきい値Dを表している。また、黒丸Bは緊急出動した異常時を示し、白丸Cは緊急出動に至らなかった警報のみの異常時を示す。
なお、構築した異常検知識別器において緊急出動や警報に紐づかない異常を検知したのは、オートエンコーダが、通常のポンプの動きと異なる現象(例えば、不明水の流入、不定期排水等、従来見落とされていた異常)を捉えたものであると思料される。
【0024】
本発明は、上記の実施形態に限定されない。例えば、復元誤差Aは、オートエンコーダへの入力データとオートエンコーダの出力との差でなくともよく、比であってもよい。
【符号の説明】
【0025】
4 運転回数
5 運転時間
A 復元誤差
D しきい値