(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】故障診断装置、故障診断システム、及び故障診断プログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20240730BHJP
H01M 8/00 20160101ALI20240730BHJP
H01M 8/04664 20160101ALI20240730BHJP
H01M 8/04992 20160101ALI20240730BHJP
H01M 8/04 20160101ALI20240730BHJP
【FI】
G05B23/02 302Y
H01M8/00 Z
H01M8/04664
H01M8/04992
H01M8/04 Z
(21)【出願番号】P 2020217846
(22)【出願日】2020-12-25
【審査請求日】2023-05-26
(73)【特許権者】
【識別番号】000220262
【氏名又は名称】東京瓦斯株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】香田 淳也
(72)【発明者】
【氏名】木村 駿介
(72)【発明者】
【氏名】高須 俊樹
【審査官】田中 友章
(56)【参考文献】
【文献】特開2020-170596(JP,A)
【文献】特開平05-157668(JP,A)
【文献】特開2020-030757(JP,A)
【文献】国際公開第2018/159169(WO,A1)
【文献】国際公開第2018/230645(WO,A1)
【文献】特開2003-223917(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
H01M 8/00
H01M 8/04664
H01M 8/04992
H01M 8/04
(57)【特許請求の範囲】
【請求項1】
燃料電池コージェネレーションシステムが動作の異常を検知した場合に、前記燃料電池コージェネレーションシステムから、前記異常に対応する、前記燃料電池コージェネレーションシステムの動作履歴に関する動作履歴データを取得する取得部と、
過去に得られた動作履歴データ群を、前記燃料電池コージェネレーションシステムの機能部に対応付けて機械学習又は多変量解析することにより生成され、かつ、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を判定する故障診断モデルに対して、前記取得部により取得された動作履歴データ又は当該動作履歴データを加工して得られるデータを入力し、前記故障診断モデルから出力される判定結果を用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する推定部と、
前記故障診断モデルが予め定められた条件を満たす場合に、前記故障診断モデルを再学習することにより新たな故障診断モデルを生成する学習部と、
を備え
、
前記予め定められた条件は、前記故障診断モデルの性能が一定水準に到達しないという条件、前記故障診断モデルの性能が時系列的に劣化するという条件、前記故障診断モデルによって故障診断を行ったデータの数が一定値を超えるという条件、及び、前記故障診断モデルによって故障診断を行った期間が一定期間を超えるという条件の少なくとも1つを含む
故障診断装置。
【請求項2】
前記予め定められた条件は、前記故障診断モデルの性能が一定水準に到達しないという条件
であり、
前記学習部は、前記故障診断モデルの性能が一定水準に到達しない場合に、故障診断に用いた過去の動作履歴データ群を学習用データとして新たな故障診断モデルを生成し、前記新たな故障診断モデルの汎化性能が一定水準以上である場合に、前記故障診断モデルを、前記新たな故障診断モデルに更新する
請求項1に記載の故障診断装置。
【請求項3】
前記学習部は、前記新たな故障診断モデルの汎化性能が一定水準未満である場合に、前記故障診断モデル及び前記新たな故障診断モデルを破棄する
請求項2に記載の故障診断装置。
【請求項4】
前記予め定められた条件は、前記故障診断モデルの性能が時系列的に劣化するという条件
であり、
前記学習部は、前記故障診断モデルの性能が時系列的に劣化した場合に、故障診断に用いた直近の動作履歴データ群を学習用データとして新たな故障診断モデルを生成し、前記新たな故障診断モデルの汎化性能が一定水準以上である場合に、前記故障診断モデルを、前記新たな故障診断モデルに更新する
請求項1に記載の故障診断装置。
【請求項5】
前記学習部は、前記新たな故障診断モデルの汎化性能が一定水準未満である場合に、前記直近の動作履歴データ群に対して重み付けを行い、前記重み付けを行った直近の動作履歴データ群を学習用データとして第2の新たな故障診断モデルを生成し、前記第2の新たな故障診断モデルの汎化性能が一定水準以上である場合に、前記故障診断モデルを、前記第2の新たな故障診断モデルに更新する
請求項4に記載の故障診断装置。
【請求項6】
前記学習部は、前記第2の新たな故障診断モデルの汎化性能が一定水準未満である場合に、前記故障診断モデル、前記新たな故障診断モデル、及び前記第2の新たな故障診断モデルを破棄する
請求項5に記載の故障診断装置。
【請求項7】
前記予め定められた条件は、前記故障診断モデルによって故障診断を行ったデータの数が一定値を超えるという条件
であり、
前記学習部は、前記故障診断モデルによって故障診断を行ったデータの数が一定値を超えた場合に、故障診断に用いた過去の動作履歴データ群を学習用データとして新たな故障診断モデルを生成し、前記新たな故障診断モデルの汎化性能が前記故障診断モデルの汎化性能よりも高い場合に、前記故障診断モデルを、前記新たな故障診断モデルに更新する
請求項1に記載の故障診断装置。
【請求項8】
前記予め定められた条件は、前記故障診断モデルによって故障診断を行った期間が一定期間を超えるという条件
であり、
前記学習部は、前記故障診断モデルによって故障診断を行った期間が一定期間を超えた場合に、故障診断に用いた過去の動作履歴データ群を学習用データとして新たな故障診断モデルを生成し、前記新たな故障診断モデルの汎化性能が前記故障診断モデルの汎化性能よりも高い場合に、前記故障診断モデルを、前記新たな故障診断モデルに更新する
請求項1に記載の故障診断装置。
【請求項9】
前記学習部は、前記新たな故障診断モデルの汎化性能が前記故障診断モデルの汎化性能以下である場合に、前記新たな故障診断モデルを破棄する
請求項7又は請求項8に記載の故障診断装置。
【請求項10】
前記故障診断モデルの性能又は汎化性能を表す指標には、故障判定時の適合率及び故障検出の再現率の少なくとも一方が用いられる
請求項2~請求項9の何れか1項に記載の故障診断装置。
【請求項11】
燃料電池コージェネレーションシステムと、
前記燃料電池コージェネレーションシステムと接続された故障診断装置と、
を備え、
前記燃料電池コージェネレーションシステムは、
自システムの動作の異常を検知した場合に、前記故障診断装置に対して、前記異常に対応する、自システムの動作履歴に関する動作履歴データを送信し、
前記故障診断装置は、
前記燃料電池コージェネレーションシステムから送信された前記動作履歴データを取得する取得部と、
過去に得られた動作履歴データ群を、前記燃料電池コージェネレーションシステムの機能部に対応付けて機械学習又は多変量解析することにより生成され、かつ、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を判定する故障診断モデルに対して、前記取得部により取得された動作履歴データ又は当該動作履歴データを加工して得られるデータを入力し、前記故障診断モデルから出力される判定結果を用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する推定部と、
前記故障診断モデルが予め定められた条件を満たす場合に、前記故障診断モデルを再学習することにより新たな故障診断モデルを生成する学習部と、
を備え
、
前記予め定められた条件は、前記故障診断モデルの性能が一定水準に到達しないという条件、前記故障診断モデルの性能が時系列的に劣化するという条件、前記故障診断モデルによって故障診断を行ったデータの数が一定値を超えるという条件、及び、前記故障診断モデルによって故障診断を行った期間が一定期間を超えるという条件の少なくとも1つを含む
故障診断システム。
【請求項12】
コンピュータを、請求項1~請求項10の何れか1項に記載の故障診断装置が備える各部として機能させるための故障診断プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、故障診断装置、故障診断システム、及び故障診断プログラムに関し、詳しくは、燃料電池コージェネレーションシステムの故障を診断する故障診断装置、故障診断システム、及び故障診断プログラムに関する。
【背景技術】
【0002】
従来の設備機器故障診断システムには、運転データ取得手段で取得された運転データに欠損がある場合、その欠損データ部分を欠損データ補完手段で補完された補完データを用いて補完した上で、故障診断手段を用いて故障診断ルールに従って解析を行うものがある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1に記載された技術によれば、診断に必要なデータに欠損があった場合でも、既存の故障診断ルールを変更することなくそのまま適用して診断を行うことができる。しかしながら、上記特許文献1に記載された技術は、空気調和機等の設備機器を対象としたもので、燃料電池システムを対象としたものではない。
【0005】
燃料電池システムのメンテナンスにおいて、運転データから故障部品を特定する故障診断システムを使用する場合、部品の形状変更、制御変更等の要因で、当初作成した故障診断モデルの性能が劣化する場合がある。また、該当部品の故障発生数が少ない場合、モデル作成時に十分に性能を検証できない場合もある。このため、故障診断モデルの性能をモニタリングしつつ、必要に応じてモデルの更新を行い、モデル性能を一定水準以上に維持することが望まれている。ここでいう一定水準とは、例えば、燃料電池コージェネレーションシステムの性能を十分に担保できる水準を意味する。但し、担保できる水準は、1つでも故障部品を見逃したらシステムの性能を担保できていないというものではなく、メンテナンス運用に支障が出ない程度であればよい。
【0006】
本発明は、上記事情に鑑みてなされたものであって、燃料電池コージェネレーションシステムの故障診断に用いる故障診断モデルの性能を一定水準以上に維持することができる故障診断装置、故障診断システム、及び故障診断プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の一態様に係る故障診断装置は、燃料電池コージェネレーションシステムが動作の異常を検知した場合に、前記燃料電池コージェネレーションシステムから、前記異常に対応する、前記燃料電池コージェネレーションシステムの動作履歴に関する動作履歴データを取得する取得部と、過去に得られた動作履歴データ群を、前記燃料電池コージェネレーションシステムの機能部に対応付けて機械学習又は多変量解析することにより生成され、かつ、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を判定する故障診断モデルに対して、前記取得部により取得された動作履歴データ又は当該動作履歴データを加工して得られるデータを入力し、前記故障診断モデルから出力される判定結果を用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する推定部と、前記故障診断モデルが予め定められた条件を満たす場合に、前記故障診断モデルを再学習することにより新たな故障診断モデルを生成する学習部と、を備えている。
【0008】
また、本発明の一態様に係る故障診断システムは、燃料電池コージェネレーションシステムと、前記燃料電池コージェネレーションシステムと接続された故障診断装置と、を備え、前記燃料電池コージェネレーションシステムは、自システムの動作の異常を検知した場合に、前記故障診断装置に対して、前記異常に対応する、自システムの動作履歴に関する動作履歴データを送信し、前記故障診断装置は、前記燃料電池コージェネレーションシステムから送信された前記動作履歴データを取得する取得部と、過去に得られた動作履歴データ群を、前記燃料電池コージェネレーションシステムの機能部に対応付けて機械学習又は多変量解析することにより生成され、かつ、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を判定する故障診断モデルに対して、前記取得部により取得された動作履歴データ又は当該動作履歴データを加工して得られるデータを入力し、前記故障診断モデルから出力される判定結果を用いて、前記燃料電池コージェネレーションシステムの機能部毎に故障の有無を推定する推定部と、前記故障診断モデルが予め定められた条件を満たす場合に、前記故障診断モデルを再学習することにより新たな故障診断モデルを生成する学習部と、を備えている。
【0009】
また、本発明の一態様に係る故障診断プログラムは、コンピュータを、上記故障診断装置が備える各部として機能させる。
【発明の効果】
【0010】
以上詳述したように、本発明によれば、燃料電池コージェネレーションシステムの故障診断に用いる故障診断モデルの性能を一定水準以上に維持することができる。
【図面の簡単な説明】
【0011】
【
図1】第1の実施形態に係る故障診断システムの構成の一例を示す図である。
【
図2】第1の実施形態に係るCGSの構成の一例を示すブロック図である。
【
図3】第1の実施形態に係る制御プログラムによる処理の流れの一例を示すフローチャートである。
【
図4】第1の実施形態に係る故障診断装置の電気的な構成の一例を示すブロック図である。
【
図5】第1の実施形態に係る故障診断装置の機能的な構成の一例を示すブロック図である。
【
図6】第1の実施形態に係る故障診断プログラムによる処理の流れの一例を示すフローチャートである。
【
図7】第1の実施形態に係る故障診断プログラムによる学習処理の流れの一例を示すフローチャートである。
【
図8】第1の実施形態に係る故障診断プログラムによるモデル更新処理の流れの一例を示すフローチャートである。
【
図9】実施形態に係る適合率及び再現率の説明に供する図である。
【
図10】実施形態に係るPRAUC法の概念を説明するための図である。
【
図11】第2の実施形態に係る故障診断プログラムによるモデル更新処理の流れの一例を示すフローチャートである。
【
図12】第3の実施形態に係る故障診断プログラムによるモデル更新処理の流れの一例を示すフローチャートである。
【
図13】第4の実施形態に係る故障診断プログラムによるモデル更新処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明を実施するための形態の一例について詳細に説明する。
【0013】
[第1の実施形態]
図1は、第1の実施形態に係る故障診断システム100の構成の一例を示す図である。
【0014】
図1に示すように、本実施形態に係る故障診断システム100は、燃料電池コージェネレーションシステム(以下、単に「CGS」という。)40と、故障診断装置10と、メンテナンス用端末70と、を備えている。故障診断システム100は、CGS40の故障を診断するためのシステムとして構成される。
【0015】
CGS40は、例えば、エネファーム(登録商標)であり、ユーザ宅30に設置されている。故障診断装置10は、CGS40の故障を診断するための装置であり、CGS40とネットワークNを介して接続されている。故障診断装置10には、例えば、サーバコンピュータ、パーソナルコンピュータ(PC)等の汎用的なコンピュータ装置が適用される。ネットワークNには、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等のネットワークが適用される。
【0016】
メンテナンス用端末70は、CGS40のメンテナンス作業を行う作業担当者60が所有する端末である。メンテナンス用端末70は、ネットワークNを介して故障診断装置10と接続されている。メンテナンス用端末70には、例えば、携帯可能なタブレット端末、スマートフォン、ノート型PC等が適用される。
【0017】
本実施形態に係る故障診断装置10は、CGS40が動作の異常(以下、「エラー」という。)を検知した場合に、故障診断モデルに対して、エラー検知時の動作履歴データを入力して故障診断を行う。
【0018】
具体的には、
図1において、CGS40は、エラーを検知した場合に、エラーを発報する。このとき、CGS40は、自動的に故障診断装置10に対して、自システムの動作履歴データを送信する。動作履歴データとは、例えば、エラー検知時、エラー検知前数秒間(例えば、10秒以下)、及び、エラー検知後数秒間(例えば、10秒以下)の少なくとも1つの動作履歴に関するデータである。動作履歴データは、例えば、各種センサの検出値、補機類(例えば、弁、ポンプ等)の動作状態を表すデータ、エラーコード等が含まれる。
【0019】
故障診断装置10は、記憶部に、CGS40が備える複数の機能部の各々について故障診断モデルを予め格納している。故障診断モデルは、CGS40の機能部毎に故障を診断するための数理モデルである。機能部は、少なくとも1つの部品(例えば、ポンプ、弁、配管、タンク等)を含んでいる。CGS40の故障診断モデルは、過去に得られた動作履歴データ群を、機能部に対応付けて機械学習することにより生成されるモデルである。機械学習には、一例として、ランダムフォレスト、ニューラルネットワーク、サポートベクターマシン等が挙げられる。なお、故障診断モデルには多変量解析を適用してもよい。多変量解析には、一例として、ロジスティック回帰等が挙げられる。故障診断モデルには、例えば、機能部毎に故障の有無を判定する2クラス分類あるいは多クラス分類が用いられる。故障診断装置10は、CGS40から取得した動作履歴データをそのまま、あるいは、故障診断モデルに入力可能なデータに加工し、加工したデータを故障診断モデルの各々に入力する。故障診断モデルの各々は、機能部毎に、例えば、「故障有り(故障)」又は「故障なし(健全)」を出力する。具体的に、データが示す指標値が閾値以上の場合に「故障有り」を出力し、データが示す指標値が閾値未満の場合に「故障なし」を出力する。故障診断装置10は、故障診断モデルの各々から出力される判定結果を用いて、機能部毎に故障の有無を推定し、推定により得られた故障診断の診断結果を保持する。
【0020】
作業担当者(メンテナンス員)60は、メンテナンス用端末70から故障診断装置10にアクセスし、診断結果が示す故障個所を確認する。そして、作業担当者60は、故障診断装置10から得られる診断結果に基づいて、現場にて部品交換作業等を実施する。
【0021】
図2は、第1の実施形態に係るCGS40の構成の一例を示すブロック図である。
【0022】
図2に示すように、本実施形態に係るCGS40は、大きく分けて、制御装置41と、CGS本体部49と、を備えている。制御装置41は、CGS本体部49と一体的に構成されてもよいし、CGS本体部49とは別体で構成されてもよい。
【0023】
制御装置41は、CGS40のコントローラとして機能する。制御装置41は、CPU(Central Processing Unit)42と、ROM(Read Only Memory)43と、RAM(Random Access Memory)44と、入出力インターフェース(I/O)45と、記憶部46と、通信部47と、機器インターフェース(以下、「機器I/F」という。)48と、を備えている。
【0024】
CPU42、ROM43、RAM44、及びI/O45は、バスを介して各々接続されている。I/O45には、記憶部46と、通信部47と、機器I/F48と、を含む各機能部が接続されている。これらの各機能部は、I/O45を介して、CPU42と相互に通信可能とされる。
【0025】
記憶部46としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等が用いられる。記憶部46には、CGS本体部49の動作を制御するための制御プログラム46Aが記憶される。なお、この制御プログラム46Aは、ROM43に記憶されていてもよい。
【0026】
制御プログラム46Aは、例えば、制御装置41に予めインストールされていてもよい。制御プログラム46Aは、不揮発性の記憶媒体に記憶して、又はネットワークNを介して配布して、制御装置41に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が想定される。
【0027】
通信部47は、インターネット、LAN、WAN等のネットワークNに接続されており、外部の故障診断装置10との間でネットワークNを介して通信が可能とされる。
【0028】
機器I/F48には、CGS本体部49が接続されている。すなわち、CGS本体部49に含まれる各種電装部品は、機器I/F48を介して、CPU42と通信可能に接続される。
【0029】
CGS本体部49は、公知の構成である。具体的に、CGS本体部49は、燃料電池ユニット50を備える。燃料電池ユニット50には、燃料電池モジュール51、燃料電池モジュール51に接続されたガス経路52、改質水経路53、及び空気経路54が設けられている。CGS本体部49は、上述したように、複数の機能部を備える。この機能部は、少なくとも1つの部品を含んでいる。この機能部は、例えば、ガス経路52を構成する複数の部品、改質水経路53を構成する複数の部品、又は、空気経路54を構成する複数の部品としてもよい。この機能部は、CGS本体部49を構成する個々の部品としてもよい。この部品には、例えば、ポンプ、弁、配管、タンク等が含まれる。
【0030】
燃料電池モジュール51は、燃料電池スタック51A及び改質器51Bを備える。改質器51Bは、炭化水素原料を含むガス(例えば、都市ガス)を改質する。燃料電池スタック51Aは、電解質層、燃料極、及び空気極を有する複数の燃料電池セルが積層されている。燃料電池スタック51Aは、改質器51Bにより都市ガスから改質された改質ガス中の水素と、空気中の酸素とを反応させて電気及び水を発生させるように構成されている。燃料電池ユニット50は、改質ガス及び空気の供給量を調整するための弁及びポンプ等の補機類と、燃料電池スタック51Aによる発電で発生した熱を伝熱媒体(例えば、水等)との間で熱交換するための熱交換器と、を備えている。
【0031】
CGS本体部49は、貯湯タンクを備える。CGS本体部49では、貯湯タンクに給水されると、貯湯タンクから燃料電池ユニット50の熱交換器に水が供給され、この熱交換器で水が燃料電池スタック51Aの熱で加熱される。熱交換器で水が加熱されると、水が湯となる。この湯は、貯湯タンクに供給され、この貯湯タンクに貯められる。貯湯タンクは、燃料電池ユニット50との間で水及び湯を行き来させるための弁及びポンプや、貯湯タンクに貯めた湯を排湯させるための弁及びポンプ等の補機類を備える。
【0032】
また、ガス経路52は、都市ガスが流れる経路である。ガス経路52には、都市ガスの供給量を調整するための弁及びポンプ等の補機類が含まれる。改質水経路53は、改質水が流れる経路である。改質水経路53には、改質水の供給量を調整するための弁及びポンプ等の補機類が含まれる。空気経路54は、空気が流れる経路である。空気経路54には、空気の供給量を調整するための弁及びポンプ等の補機類が含まれる。
【0033】
制御装置41は、CGS本体部49に備えられた補機類を制御するコントローラである。制御装置41は、CGS本体部49に対して、補機類を制御するための制御信号をそれぞれ出力する。また、CGS本体部49は、制御装置41に対して、CGS本体部49の運転状況を表す運転データを出力する。この運転データには、特徴量として、補機類の動作状態を表すデータ(例えば、電圧値、電流値等)、CGS本体部49に設けられた各種センサの検出値等が含まれる。具体的に、補機類の動作状態を表すデータとは、例えば、ポンプの場合にはポンプの操作量を表すデータであり、弁の場合には弁の開閉状態を表すデータである。また、各種センサの検出値とは、例えば、配管の場合には都市ガス、改質水、及び空気のそれぞれの流量を表す値であり、タンクの場合には水位を表す値である。
【0034】
制御装置41は、CGS本体部49から取得した時系列の運転データを記憶部46に記憶する。制御装置41は、CGS本体部49から取得した運転データに基づいて、CGS本体部49のエラーを検知する機能を有する。なお、エラーの検知は、例えば、運転データから得られる特徴量と対応する閾値との比較により行われる。
【0035】
ここで、
図3を参照して、本実施形態に係る制御装置41によるエラー発報処理について具体的に説明する。なお、このエラー発報処理は、制御装置41が備える制御プログラム46Aによって実行される。
【0036】
図3は、第1の実施形態に係る制御プログラム46Aによる処理の流れの一例を示すフローチャートである。
【0037】
まず、CPU42により記憶部46に記憶されている制御プログラム46Aが起動され、以下に示す各ステップが実行される。
【0038】
図3のステップS101では、CPU42が、CGS本体部49から時系列で取得した運転データを記憶部46に記憶すると共に、取得した運転データに基づいて、エラーの発生を示す異常値を検知したか否かを判定する。異常値を検知したと判定した場合(肯定判定の場合)、ステップS102に移行し、異常値を検知しないと判定した場合(否定判定の場合)、ステップS101で待機となる。
【0039】
ステップS102では、CPU42が、記憶部46に記憶した時系列の運転データの中から、エラー検知時、エラー検知前数秒間(例えば、10秒以下)、及び、エラー検知後数秒間(例えば、10秒以下)の少なくとも1つの運転データを動作履歴データとして抽出し、抽出した動作履歴データを記憶部46に保持する。この動作履歴データには、上述したように、例えば、各種センサの検出値、補機類の動作状態を表すデータ、エラーコード等が含まれる。記憶部46に保持した動作履歴データを「データ1」と称する。
【0040】
ステップS103では、CPU42が、ステップS102でのデータ1の保持をもってエラーを確定する。
【0041】
ステップS104では、CPU42が、通信部47を介して、ステップS102で保持したデータ1を故障診断装置10に送信し、本制御プログラム46Aによる一連の処理を終了する。
【0042】
図4は、第1の実施形態に係る故障診断装置10の電気的な構成の一例を示すブロック図である。
【0043】
図4に示すように、本実施形態に係る故障診断装置10は、CPU11と、ROM12と、RAM13と、I/O14と、記憶部15と、表示部16と、操作部17と、通信部18と、を備えている。
【0044】
CPU11、ROM12、RAM13、及びI/O14は、バスを介して各々接続されている。I/O14には、記憶部15と、表示部16と、操作部17と、通信部18と、を含む各機能部が接続されている。これらの各機能部は、I/O14を介して、CPU11と相互に通信可能とされる。
【0045】
記憶部15としては、例えば、HDD、SSD、フラッシュメモリ等が用いられる。記憶部15には、CGS40の故障を診断するための故障診断プログラム15Aが記憶される。なお、この故障診断プログラム15Aは、ROM12に記憶されていてもよい。
【0046】
故障診断プログラム15Aは、例えば、故障診断装置10に予めインストールされていてもよい。故障診断プログラム15Aは、不揮発性の記憶媒体に記憶して、又はネットワークNを介して配布して、故障診断装置10に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM、光磁気ディスク、HDD、DVD-ROM、フラッシュメモリ、メモリカード等が想定される。
【0047】
表示部16には、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ等が用いられる。表示部16は、タッチパネルを一体的に有していてもよい。操作部17には、例えば、キーボード、マウス等の操作入力用のデバイスが設けられている。表示部16及び操作部17は、故障診断装置10のユーザから各種の指示を受け付ける。表示部16は、ユーザから受け付けた指示に応じて実行された処理の結果や、処理に対する通知等の各種の情報を表示する。
【0048】
通信部18は、インターネット、LAN、WAN等のネットワークNに接続されており、CGS40、メンテナンス用端末70との間でネットワークNを介して通信が可能とされる。
【0049】
本実施形態に係る故障診断装置10のCPU11は、記憶部15に記憶されている故障診断プログラム15AをRAM13に書き込んで実行することにより、
図5に示す各部として機能する。
【0050】
図5は、第1の実施形態に係る故障診断装置10の機能的な構成の一例を示すブロック図である。
【0051】
図5に示すように、本実施形態に係る故障診断装置10のCPU11は、取得部11A、推定部11B、学習部11C、第1出力部11D、及び第2出力部11Eとして機能する。
【0052】
また、記憶部15には、上述したように、機能部毎に故障診断モデル15Bが予め格納されている。つまり、1つの機能部(又は部品)に対して1つの故障診断モデル15Bが対応している。故障診断モデル15Bは、上述したように、例えば、機械学習により得られる、CGS40の機能部毎に故障を診断するための数理モデルである。
【0053】
取得部11Aは、上述のCGS40から送信された動作履歴データを取得する。例えば、動作履歴データとしてデータ1を取得する。
【0054】
推定部11Bは、取得部11Aにより取得された動作履歴データを、故障診断モデル15Bに入力可能なデータに加工し、加工して得られたデータを、故障診断モデル15Bに対して入力する。なお、動作履歴データを加工することなくそのまま故障診断モデル15Bに対して入力してもよい。そして、推定部11Bは、故障診断モデル15Bから出力される判定結果を用いて、CGS40の機能部毎に故障の有無を推定する。なお、故障診断モデル15Bは、判定結果として、故障又は健全を出力する2クラス分類を行うモデルでもよいし、あるいは、判定結果として、故障、健全、及び故障疑いのいずれかを出力する3クラス分類を行うモデルでもよい。
【0055】
学習部11Cは、過去に得られた動作履歴データ群を学習用データとして機械学習を行うことにより故障診断モデル15Bを生成する。学習部11Cにより生成された故障診断モデル15Bが記憶部15に格納される。なお、故障診断モデル15Bの格納場所は、記憶部15に限定されない。例えば、外部の記憶装置に格納されていてもよい。また、本実施形態では、自装置で機械学習する構成としているが、外部装置で機械学習を行う構成としてもよい。また、機械学習に代えて、多変量解析を用いて故障診断モデル15Bを生成してもよい。
【0056】
第1出力部11Dは、推定部11Bにより推定された機能部毎の最終的な診断結果を、例えば、記憶部15に出力して保持する。また、第1出力部11Dは、メンテナンス用端末70からのアクセスに応じて、記憶部15に保持した最終的な診断結果をメンテナンス用端末70に送信する。なお、この最終的な診断結果には、機能部毎(あるいは部品毎)に、診断結果(故障、健全、故障疑い)及び取るべき対応等が含まれている。例えば、データ1の判定結果が「故障」であれば、作業担当者60が取るべき対応は「部品交換」となる。また、データ1の判定結果が「故障疑い」であれば、作業担当者60が取るべき対応は「部品動作確認」となる。また、データ1の判定結果が「健全」であれば、作業担当者60が取るべき対応は「なし」となる。また、第2出力部11Eは、学習部11Cにより生成された故障診断モデル15Bを、例えば、記憶部15に出力して保持する。
【0057】
次に、
図6を参照して、第1の実施形態に係る故障診断装置10の作用を説明する。
【0058】
図6は、第1の実施形態に係る故障診断プログラム15Aによる処理の流れの一例を示すフローチャートである。なお、本実施形態における機能部は1つの部品として表されるものとする。
【0059】
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。
【0060】
図6のステップS111では、CPU11が、CGS40の制御装置41から送信された動作履歴データ(ここではデータ1)を取得する。
【0061】
ステップS112では、CPU11が、ステップS111で取得したデータ1を、機能部毎(ここでは部品毎)の故障診断モデル15Bに入力可能なデータに加工する。ここでいう加工とは、データ1に対して、データの一部を削除、データの一部を抽出、新規データの追加等を行うことを意味する。また、加工には、データ1のデータ形式を、個々の故障診断モデルに適した形式に加工することも含まれる。なお、動作履歴データをそのまま用いる場合には加工は省略される。
【0062】
ステップS113では、CPU11が、ステップS112で加工したデータ1を、故障診断モデル15Bに入力する。
【0063】
ステップS114では、CPU11が、故障診断モデル15Bから出力される判定結果を記憶部15に保持する。
【0064】
ステップS115では、CPU11が、全ての部品の判定結果を記憶部15に保持したか否かを判定する。全ての部品の判定結果を記憶部15に保持したと判定した場合(肯定判定の場合)、ステップS116に移行し、全ての部品の判定結果を記憶部15に保持していないと判定した場合(否定判定の場合)、ステップS113に戻り処理を繰り返す、つまり、データ1を、部品Aの故障診断モデル15B、部品Bの故障診断モデル15B、部品Cの故障診断モデル15B、・・・に入力して、部品A、B、C、・・・についての判定結果を得る処理を繰り返す。
【0065】
ステップS116では、CPU11が、ステップS115で保持した、全ての部品についての故障診断モデル15Bの判定結果から得られる最終的な診断結果を、例えば、記憶部15に出力し、本故障診断プログラム15Aによる一連の処理を終了する。本実施形態では、データ1に対する故障診断処理が予め定められた複数の機能部の数だけ繰り返し行われる。
【0066】
次に、
図7を参照して、第1の実施形態に係る故障診断装置10による学習処理について具体的に説明する。
【0067】
図7は、第1の実施形態に係る故障診断プログラム15Aによる学習処理の流れの一例を示すフローチャートである。
【0068】
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。
【0069】
図7のステップS121では、CPU11が、過去の動作履歴データを学習用データとして取得する。
【0070】
ステップS122では、CPU11が、ステップS121で学習用データとして取得した動作履歴データを学習モデルに入力可能なデータに加工する。なお、動作履歴データをそのまま用いる場合には加工は省略される。
【0071】
ステップS123では、CPU11が、ステップS122で加工して得られたデータを正解データ(例えば、故障、健全、故障疑い)と共に入力として与え、機能部毎の故障診断モデルを作成する。故障診断モデル15Bを作成する過程として、例えば、サポートベクターマシン、ランダムフォレスト、ニューラルネットワーク等のアルゴリズムを用いて学習を実行し、特定の機能部(例えば、部品)についての故障、健全、故障疑いを判定させる故障診断モデル15Bを作成する。なお、各アルゴリズムのパラメータの最適化についても本ステップにおいて行う。
【0072】
ステップS124では、CPU11が、所定の機械学習が終了したか否かを判定する。所定の機械学習が終了したと判定した場合(肯定判定の場合)、ステップS125に移行し、所定の機械学習が終了していないと判定した場合(否定判定の場合)、ステップS121に戻り処理を繰り返す。
【0073】
ステップS125では、CPU11が、機械学習により生成された学習済みモデルを故障診断モデル15Bとして記憶部15に格納し、本故障診断プログラム15Aによる一連の処理を終了する。
【0074】
ここで、本実施形態に係る故障診断装置10は、故障診断モデル15Bが予め定められた条件を満たす場合に、故障診断モデルを再学習することにより新たな故障診断モデルを生成する機能を備える。具体的に、当該機能は学習部11Cによって実行される。なお、予め定められた条件には、例えば、故障診断モデル15Bの性能が一定水準に到達しないという条件、故障診断モデル15Bの性能が時系列的に劣化するという条件、故障診断モデル15Bによって故障診断を行ったデータの数が一定値を超えるという条件、及び、故障診断モデル15Bによって故障診断を行った期間が一定期間を超えるという条件、の少なくとも1つが含まれる。
【0075】
本実施形態では、予め定められた条件として、故障診断モデル15Bの性能が一定水準に到達しないという条件が適用される。
【0076】
学習部11Cは、故障診断モデル15Bの性能が一定水準に到達しない場合に、故障診断に用いた過去の動作履歴データ群を学習用データとして新たな故障診断モデルを生成する。ここでいう性能を表す指標には、例えば、故障判定時の適合率及び故障検出の再現率の少なくとも一方が用いられる。そして、学習部11Cは、新たな故障診断モデルの汎化性能が一定水準以上である場合に、故障診断モデル15Bを、新たな故障診断モデルに更新する。ここでいう汎化性能は、未知のデータに対する性能のことを意味する。汎化性能の評価方法としては、例えば、ホールドアウト法、k交差検証法等の公知の手法が挙げられる。また、汎化性能を表す指標には、上記と同様に、例えば、故障判定時の適合率及び故障検出の再現率の少なくとも一方が用いられる。
【0077】
また、学習部11Cは、新たな故障診断モデルの汎化性能が一定水準未満である場合に、故障診断モデル15B及び新たな故障診断モデルを破棄する。
【0078】
つまり、本実施形態では、故障診断モデル15Bの性能(例えば、適合率、再現率等)をモニタリングし、故障診断モデル15Bが一定の性能以上の汎用性を持つことを確認する。故障診断モデル15Bの性能が一定の性能に未達の場合は、故障診断モデル15Bの再学習を実行する。再学習により得られた新たな故障診断モデルの過去データに対する汎化性能が一定水準以上の場合は、新モデルに更新、つまり、新モデルを採用、配置(デプロイ)する。新モデルの汎化性能が一定未満の場合は、一定水準を満たす故障診断モデルが存在しないため、当該部品を故障診断システムの対象外とする。
【0079】
次に、
図8を参照して、第1の実施形態に係る故障診断装置10によるモデル更新処理について具体的に説明する。
【0080】
図8は、第1の実施形態に係る故障診断プログラム15Aによるモデル更新処理の流れの一例を示すフローチャートである。
【0081】
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。本実施形態では、故障診断モデル15Bの性能が一定水準に到達しない場合に、故障診断モデル15Bを再学習する。
【0082】
図8のステップS131では、CPU11が、任意の部品に対する故障診断モデル15B(現故障診断モデル)の診断結果(例えば、故障又は健全)を取得し、取得した診断結果をメンテナンス用端末70に送信する。そして、メンテナンス用端末70を所有する作業担当者60は、診断結果が故障である場合、現場にて対象部品の故障診断作業を行い、対象部品が故障であるか健全であるかの確認を行う。そして、作業担当者60は、メンテナンス用端末70を介して、対象部品の故障又は健全の確認結果を入力する。
【0083】
ステップS132では、CPU11が、作業担当者60から、メンテナンス用端末70を介して、対象部品の故障又は健全の確認結果の入力を受け付ける。
【0084】
ステップS133では、CPU11が、対象部品の故障診断に用いた動作履歴データ及び対象部品の確認結果をセットにして、記憶部15に記憶する。
【0085】
ステップS134では、CPU11が、ステップS133で記憶部15に記憶した動作履歴データ及び確認結果を用いて、故障診断モデル15Bの性能を更新する。
【0086】
ステップS135では、CPU11が、ステップS134で性能を更新した故障診断モデル15Bの性能が一定水準に未達であるか否かを判定する。故障診断モデル15Bの性能が一定水準に未達であると判定した場合(肯定判定の場合)、ステップS136に移行し、故障診断モデル15Bの性能が一定水準に未達ではない、つまり、一定水準に到達していると判定した場合(否定判定の場合)、ステップS131に戻り処理を繰り返す。
【0087】
ここで、故障診断装置10は、故障診断モデル15Bの性能をモニタリングする機能を備える。故障診断モデル15Bの性能を表す指標には、上述したように、例えば、故障判定時の適合率及び故障検出の再現率の少なくとも一方が用いられる。
【0088】
図9を参照して、上述の適合率及び再現率について具体的に説明する。
【0089】
図9は、本実施形態に係る適合率及び再現率の説明に供する図である。
【0090】
図9に示す表は、部品Aの故障診断モデルについて、予測と実態との対応関係を示している。枠内はデータ数を示す。つまり、予測が健全、実態が健全である場合のデータ数は28(=A)である。予測が故障、実態が健全である場合のデータ数は1(=B)である。予測が健全、実態が故障である場合のデータ数は12(=C)である。予測が故障、実態が故障である場合のデータ数は9(=D)である。
【0091】
図9の例では、故障判定時の適合率=D/(B+D)=9/10=90%、と求まる。つまり、この場合、適合率とは、故障と予測された全データ数に対する実態が故障であったデータ数の割合とされる。
【0092】
また、故障検出の再現率は、故障を見つける割合を表し、
図9の例では、再現率=D/(C+D)、と表される。つまり、再現率とは、実態が故障であった全データ数に対する故障と予測されたデータ数の割合とされる。
【0093】
また、健全判定時の適合率を採用してもよい。
図9の例では、健全判定時の適合率=A/(A+C)、と表される。つまり、この場合、適合率とは、健全と予測された全データ数に対する実態が健全であったデータ数の割合とされる。なお、健全判定時の適合率を採用する場合、作業担当者60は、故障診断モデル15Bによる診断結果が健全である場合でも、現場に出向いて対象部品が実際に故障であるか健全であるかの確認を行い、その確認結果を、メンテナンス用端末70を介して入力する。
【0094】
また、故障診断モデル15Bの性能を表す指標には、正解率を用いてもよい。この正解率とは、予測した全データ数に対する正解したデータ数の割合とされる。
【0095】
上記において、適合率が0以上1以下の範囲で高いほど、モデルの性能が高いとされる。この場合、適合率が閾値以上である場合に、故障診断モデル15Bの性能が一定水準に到達していると判定される。また、再現率が0以上1以下の範囲で高いほど、モデルの性能が高いとされる。この場合、再現率が閾値以上である場合に、故障診断モデル15Bの性能が一定水準に到達していると判定される。また、正解率が0以上1以下の範囲で高いほど、モデルの性能が高いとされる。この場合、正解率が閾値以上である場合に、故障診断モデル15Bの性能が一定水準に到達していると判定される。
【0096】
また、適合率及び再現率の両方を用いてもよい。具体的には、一例として、
図10に示すPRAUC(Precision Recall Area Under Curve)法を適用して、故障診断モデル15Bの性能を評価してもよい。
【0097】
図10は、本実施形態に係るPRAUC法の概念を説明するための図である。
【0098】
図10において、縦軸は故障判定時の適合率(Precision)を示し、横軸は故障検出の再現率(Recall)を示す。故障診断モデル15Bの故障/健全を判定する閾値を変化させたときの再現率及び適合率をプロットし、PR曲線を作成する。PR曲線の下に位置する領域の面積をAUC(Area Under Curve)という。PRAUC法では、面積AUCが0以上1以下の範囲で大きいほど、モデルの性能が高いとされる。つまり、面積AUCが1のときのPR曲線が理想的なPR曲線とされる。例えば、いずれかの動作点(閾値)における適合率又は再現率が、事前に設定したメンテナンス運用上要求される設定値以上である場合には、故障診断モデル15Bの性能が一定水準に到達していると判定される。なお、適合率の設定値と、再現率の設定値とは異なるものとする。
【0099】
図8に戻り、ステップS136では、CPU11が、故障診断モデル15Bを再学習し、新たな故障診断モデルを生成する。再学習に用いる学習用データは、故障診断モデル15Bによる故障診断に用いられた過去の動作履歴データ及びその正解データのセットである。
【0100】
ステップS137では、CPU11が、ステップS136で生成した新たな故障診断モデルの汎化性能が過去データに対して一定水準以上であるか否かを判定する。新たな故障診断モデルの汎化性能が過去データに対して一定水準以上であると判定した場合(肯定判定の場合)、ステップS138に移行し、新たな故障診断モデルの汎化性能が過去データに対して一定水準未満であると判定した場合(否定判定の場合)、ステップS139に移行する。
【0101】
ステップS138では、CPU11が、故障診断モデル15Bを、ステップS136で生成した新たな故障診断モデルに更新、つまり、新モデルを採用、配置(デプロイ)し、本故障診断プログラム15Aによる一連の処理を終了する。
【0102】
一方、ステップS139では、CPU11が、現故障診断モデルである故障診断モデル15Bを破棄する。
【0103】
ステップS140では、CPU11が、ステップS136で生成した新たな故障診断モデルを破棄する。
【0104】
ステップS141では、CPU11が、対象部品に対して一定水準を満たす故障診断モデルが存在しないため、対象部品を故障診断システムの対象外に設定し、本故障診断プログラム15Aによる一連の処理を終了する。
【0105】
なお、本実施形態では、故障診断装置10を外部のサーバ装置として実現した場合について説明したが、これに限定されない。故障診断装置10はCGS40の制御装置41として実現してもよい。
【0106】
このように本実施形態によれば、燃料電池コージェネレーションシステムの故障診断に用いる故障診断モデルの性能が一定水準に到達しない場合に、故障診断モデルが再学習され更新可能とされる。このため、故障診断モデルの性能を一定水準以上に維持することができる。
【0107】
[第2の実施形態]
第2の実施形態では、故障診断モデルの性能が時系列的に劣化した場合に、故障診断モデルを再学習する形態について説明する。
【0108】
なお、第2の実施形態に係る故障診断装置は、上記第1の実施形態に係る故障診断装置10と同一の構成要素を有しているため、上述の
図5を参照して説明する。
【0109】
本実施形態では、予め定められた条件として、故障診断モデル15Bの性能が時系列的に劣化するという条件が適用される。通常、燃料電池システムは、同一機種であってもハード・制御のランニングチェンジを行うことが多く、時間の経過によって故障診断モデルの汎化性能を失いやすい機器であるといえる。
【0110】
学習部11Cは、故障診断モデル15Bの性能が時系列的に劣化した場合に、故障診断に用いた直近の動作履歴データ群を学習用データとして新たな故障診断モデルを生成する。なお、直近データとは、例えば、直近の一定データ数、一定期間のデータ、又は、性能劣化の起点(性能低下の傾きが一定以上)以降のデータのいずれかのデータとされる。そして、学習部11Cは、新たな故障診断モデルの汎化性能が一定水準以上である場合に、故障診断モデル15Bを、新たな故障診断モデルに更新する。なお、直近データ数が学習・検証に対して十分に確保できているときは、直近データのみで再学習、汎化性能評価を実施しても良い。
【0111】
また、学習部11Cは、新たな故障診断モデルの汎化性能が一定水準未満である場合に、直近の動作履歴データ群に対して重み付けを行い、重み付けを行った直近の動作履歴データ群を学習用データとして第2の新たな故障診断モデルを生成する。そして、学習部11Cは、第2の新たな故障診断モデルの汎化性能が一定水準以上である場合に、故障診断モデル15Bを、第2の新たな故障診断モデルに更新する。なお、重み付けの具体的な方法として、例えば、時系列的にデータ1、2、3、・・・、N(直近)で並べ、データ番号を重みとして利用する方法A及び方法Bが考えられる。例えば、適合率が評価対象の場合、従来方法では、適合率=故障判定で実際に故障していた数/故障判定数、但し、各データの重みは1、となる。これに対して、方法Aでは、下記のようになる。
【0112】
適合率=Σ{(故障判定で実際に故障×データ番号n)/(故障判定×データ番号n)}、但し、重みは比例増加である。「故障判定で実際に故障」及び「故障判定」は0又は1のデータである。
【0113】
また、方法Bでは、下記のようになる。
【0114】
適合率=Σ{(係数C(n)×故障判定で実際に故障×データ番号n)/(係数C(n)×故障判定×データ番号n)}、但し、係数C(n)は直近データの重みを比例以外で調整するための係数である。係数C(n)はデータ番号nの関数で、連続関数あるいは不連続関数(ステップ関数等)のどちらでもよい。「故障判定で実際に故障」及び「故障判定」は0又は1のデータである。
【0115】
また、学習部11Cは、第2の新たな故障診断モデルの汎化性能が一定水準未満である場合に、故障診断モデル15B、新たな故障診断モデル、及び第2の新たな故障診断モデルを破棄する。
【0116】
つまり、本実施形態では、故障診断モデル15Bの性能(例えば、適合率、再現率等)を時系列(例えば、時間-データ数)でモニタリングし、一定のデータ数あるいは一定の期間において、顕著な性能劣化が認められる場合は、再学習を実行する。なお、本実施形態では、時系列的な性能劣化が再学習の要因であるため、再学習時のテストデータ(モデルの性能評価に使用)は直近データで行うことが望ましい。また、再学習を行っても性能が出ない場合には、直近データに重み付けを行うことで、直近データにより適合したモデリングを行うことができる。重み付けを行っても性能が満たない場合には、誤った故障診断を防ぐために、故障診断モデル15B及び新たな故障診断モデルを破棄し、対象部品を故障診断システムの対象外とする。
【0117】
次に、
図11を参照して、第2の実施形態に係る故障診断装置10によるモデル更新処理について具体的に説明する。
【0118】
図11は、第2の実施形態に係る故障診断プログラム15Aによるモデル更新処理の流れの一例を示すフローチャートである。
【0119】
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。本実施形態では、故障診断モデル15Bの性能が時系列的に劣化した場合に、故障診断モデル15Bを再学習する。
【0120】
図11のステップS151では、CPU11が、任意の部品に対する故障診断モデル15B(現故障診断モデル)の診断結果(例えば、故障又は健全)を取得し、取得した診断結果をメンテナンス用端末70に送信する。そして、メンテナンス用端末70を所有する作業担当者60は、診断結果が故障である場合、現場にて対象部品の故障診断作業を行い、対象部品が故障であるか健全であるかの確認を行う。そして、作業担当者60は、メンテナンス用端末70を介して、対象部品の故障又は健全の確認結果を入力する。
【0121】
ステップS152では、CPU11が、作業担当者60から、メンテナンス用端末70を介して、対象部品の故障又は健全の確認結果の入力を受け付ける。
【0122】
ステップS153では、CPU11が、対象部品の故障診断に用いた動作履歴データ及び対象部品の確認結果をセットにして、記憶部15に記憶する。
【0123】
ステップS154では、CPU11が、ステップS153で記憶部15に記憶した動作履歴データ及び確認結果を用いて、故障診断モデル15Bの性能を更新する。
【0124】
ステップS155では、CPU11が、ステップS154で性能を更新した故障診断モデル15Bの性能が時系列的に劣化したか否かを判定する。故障診断モデル15Bの性能が時系列的に劣化したと判定した場合(肯定判定の場合)、ステップS156に移行し、故障診断モデル15Bの性能が時系列的に劣化していないと判定した場合(否定判定の場合)、ステップS151に戻り処理を繰り返す。
【0125】
ステップS156では、CPU11が、故障診断モデル15Bを再学習し、新たな故障診断モデルを生成する。再学習に用いる学習用データは、故障診断モデル15Bによる故障診断に用いられた直近の動作履歴データ及びその正解データのセットである。
【0126】
ステップS157では、CPU11が、ステップS156で生成した新たな故障診断モデルの汎化性能が直近データに対して一定水準以上であるか否かを判定する。新たな故障診断モデルの汎化性能が直近データに対して一定水準以上であると判定した場合(肯定判定の場合)、ステップS158に移行し、新たな故障診断モデルの汎化性能が直近データに対して一定水準未満であると判定した場合(否定判定の場合)、ステップS159に移行する。
【0127】
ステップS158では、CPU11が、故障診断モデル15Bを、ステップS156で生成した新たな故障診断モデルに更新、つまり、新モデルを採用、配置(デプロイ)し、本故障診断プログラム15Aによる一連の処理を終了する。
【0128】
一方、ステップS159では、CPU11が、再学習時のテストデータである直近データに重み付けを行う。
【0129】
ステップS160では、CPU11が、ステップS159で重み付けした直近データで故障診断モデル15Bを再学習し、第2の新たな故障診断モデルを生成する。
【0130】
ステップS161では、CPU11が、ステップS160で生成した第2の新たな故障診断モデルの汎化性能が重み付け直近データに対して一定水準以上であるか否かを判定する。第2の新たな故障診断モデルの汎化性能が重み付け直近データに対して一定水準以上であると判定した場合(肯定判定の場合)、ステップS158に移行し、第2の新たな故障診断モデルの汎化性能が重み付け直近データに対して一定水準未満であると判定した場合(否定判定の場合)、ステップS162に移行する。
【0131】
ステップS162では、CPU11が、現故障診断モデルである故障診断モデル15Bを破棄する。
【0132】
ステップS163では、CPU11が、ステップS156で生成した新たな故障診断モデル及びステップS160で生成した第2の新たな故障診断モデルを破棄する。
【0133】
ステップS164では、CPU11が、対象部品に対して一定水準を満たす故障診断モデルが存在しないため、対象部品を故障診断システムの対象外に設定し、本故障診断プログラム15Aによる一連の処理を終了する。
【0134】
なお、本実施形態では、故障診断装置10を外部のサーバ装置として実現した場合について説明したが、これに限定されない。故障診断装置10はCGS40の制御装置41として実現してもよい。
【0135】
このように本実施形態によれば、燃料電池コージェネレーションシステムの故障診断に用いる故障診断モデルの性能が時系列的に劣化した場合に、故障診断モデルが再学習され更新可能とされる。このため、故障診断モデルの性能を一定水準以上に維持することができる。
【0136】
[第3の実施形態]
第3の実施形態では、故障診断モデルによって故障診断を行ったデータ数が一定値を超えた場合に、故障診断モデルを再学習する形態について説明する。
【0137】
なお、第3の実施形態に係る故障診断装置は、上記第1の実施形態に係る故障診断装置10と同一の構成要素を有しているため、上述の
図5を参照して説明する。
【0138】
本実施形態では、予め定められた条件として、故障診断モデル15Bによって故障診断を行ったデータの数が一定値を超えるという条件が適用される。
【0139】
学習部11Cは、故障診断モデル15Bによって故障診断を行ったデータの数が一定値を超えた場合に、故障診断に用いた過去の動作履歴データ群を学習用データとして新たな故障診断モデルを生成する。そして、学習部11Cは、新たな故障診断モデルの汎化性能が故障診断モデル15Bの汎化性能よりも高い場合に、故障診断モデル15Bを、新たな故障診断モデルに更新する。
【0140】
また、学習部11Cは、新たな故障診断モデルの汎化性能が故障診断モデル15Bの汎化性能以下である場合に、新たな故障診断モデルを破棄する。
【0141】
本実施形態では、基本的な処理は、上記第1の実施形態で説明した処理(
図8参照)と同じだが、上記第1、第2の実施形態で説明した少なくとも1つの処理と同時に実装する場合、新たな故障診断モデルの汎化性能が故障診断モデル15B(現故障診断モデル)の汎化性能以下のときは新たな故障診断モデルを破棄し、故障診断モデル15Bをそのまま使用し続ける。従って、対象部品が故障診断システムの対象外になることはない。一方、上記第1、第2の実施形態と同時に実装しない場合、故障診断モデル15Bと新たな故障診断モデルの両方の汎化性能が一定水準未満になる可能性がある。このため、基準となる汎化性能との比較処理、及び性能未達時における両方の故障診断モデルの破棄処理が追加される。
【0142】
次に、
図12を参照して、第3の実施形態に係る故障診断装置10によるモデル更新処理について具体的に説明する。
【0143】
図12は、第3の実施形態に係る故障診断プログラム15Aによるモデル更新処理の流れの一例を示すフローチャートである。
【0144】
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。本実施形態では、故障診断モデル15Bの性能が一定水準に到達しない場合に、故障診断モデル15Bを再学習する。
【0145】
図12のステップS171では、CPU11が、任意の部品に対する故障診断モデル15B(現故障診断モデル)の診断結果(例えば、故障又は健全)を取得し、取得した診断結果をメンテナンス用端末70に送信する。そして、メンテナンス用端末70を所有する作業担当者60は、診断結果が故障である場合、現場にて対象部品の故障診断作業を行い、対象部品が故障であるか健全であるかの確認を行う。そして、作業担当者60は、メンテナンス用端末70を介して、対象部品の故障又は健全の確認結果を入力する。
【0146】
ステップS172では、CPU11が、作業担当者60から、メンテナンス用端末70を介して、対象部品の故障又は健全の確認結果の入力を受け付ける。
【0147】
ステップS173では、CPU11が、対象部品の故障診断に用いた動作履歴データ及び対象部品の確認結果をセットにして、記憶部15に記憶する。
【0148】
ステップS174では、CPU11が、ステップS173で記憶部15に記憶した動作履歴データ及び確認結果を用いて、故障診断モデル15Bの性能を更新する。
【0149】
ステップS175では、CPU11が、データ数のカウンタをインクリメントする。
【0150】
ステップS176では、CPU11が、ステップS175でインクリメントしたカウンタの値がnより大きいか否かを判定する。カウンタの値がnより大きいと判定した場合(肯定判定の場合)、ステップS177に移行し、カウンタの値がn以下と判定した場合(否定判定の場合)、ステップS171に戻り処理を繰り返す。
【0151】
ステップS177では、CPU11が、故障診断モデル15Bを再学習し、新たな故障診断モデルを生成する。再学習に用いる学習用データは、故障診断モデル15Bによる故障診断に用いられた過去の動作履歴データ及びその正解データのセットである。
【0152】
ステップS178では、CPU11が、ステップS177で生成した新たな故障診断モデルの汎化性能が故障診断モデル15Bの汎化性能よりも高いか否かを判定する。新たな故障診断モデルの汎化性能が故障診断モデル15Bの汎化性能よりも高いと判定した場合(肯定判定の場合)、ステップS179に移行し、新たな故障診断モデルの汎化性能が故障診断モデル15Bの汎化性能以下であると判定した場合(否定判定の場合)、ステップS180に移行する。
【0153】
ステップS179では、CPU11が、故障診断モデル15Bを、ステップS177で生成した新たな故障診断モデルに更新、つまり、新モデルを採用、配置(デプロイ)し、ステップS181に移行する。
【0154】
一方、ステップS180では、CPU11が、ステップS177で生成した新たな故障診断モデルを破棄し、ステップS181に移行する。なお、現故障診断モデル及び新故障診断モデルの両方が一定水準未満の場合、両方のモデルを破棄して、故障診断システムの対象外としてもよい。
【0155】
ステップS181では、CPU11が、カウンタを初期化し、本故障診断プログラム15Aによる一連の処理を終了する。
【0156】
なお、本実施形態では、故障診断装置10を外部のサーバ装置として実現した場合について説明したが、これに限定されない。故障診断装置10はCGS40の制御装置41として実現してもよい。
【0157】
このように本実施形態によれば、燃料電池コージェネレーションシステムの故障診断に用いる故障診断モデルによって故障診断を行ったデータの数が一定値を超えた場合に、故障診断モデルが再学習され更新可能とされる。このため、故障診断モデルの性能を一定水準以上に維持することができる。
【0158】
[第4の実施形態]
第4の実施形態では、故障診断モデルによって故障診断を行った期間が一定期間を超えた場合に、故障診断モデルを再学習する形態について説明する。
【0159】
なお、第4の実施形態に係る故障診断装置は、上記第1の実施形態に係る故障診断装置10と同一の構成要素を有しているため、上述の
図5を参照して説明する。
【0160】
本実施形態では、予め定められた条件として、故障診断モデル15Bによって故障診断を行った期間が一定期間を超えるという条件が適用される。
【0161】
学習部11Cは、故障診断モデル15Bによって故障診断を行った期間が一定期間を超えた場合に、故障診断に用いた過去の動作履歴データ群を学習用データとして新たな故障診断モデルを生成する。そして、学習部11Cは、新たな故障診断モデルの汎化性能が故障診断モデル15Bの汎化性能よりも高い場合に、故障診断モデル15Bを、新たな故障診断モデルに更新する。
【0162】
また、学習部11Cは、新たな故障診断モデルの汎化性能が故障診断モデル15Bの汎化性能以下である場合に、新たな故障診断モデルを破棄する。
【0163】
本実施形態では、基本的な処理は、上記第1の実施形態で説明した処理(
図8参照)と同じだが、上記第1、第2の実施形態で説明した少なくとも1つの処理と同時に実装する場合、新たな故障診断モデルの汎化性能が故障診断モデル15B(現故障診断モデル)の汎化性能以下のときは新たな故障診断モデルを破棄し、故障診断モデル15Bをそのまま使用し続ける。従って、対象部品が故障診断システムの対象外になることはない。一方、上記第1、第2の実施形態と同時に実装しない場合、故障診断モデル15Bと新たな故障診断モデルの両方の汎化性能が一定水準未満になる可能性がある。このため、基準となる汎化性能との比較処理、及び性能未達時における両方の故障診断モデルの破棄処理が追加される。
【0164】
次に、
図13を参照して、第4の実施形態に係る故障診断装置10によるモデル更新処理について具体的に説明する。
【0165】
図13は、第4の実施形態に係る故障診断プログラム15Aによるモデル更新処理の流れの一例を示すフローチャートである。
【0166】
まず、CPU11により記憶部15に記憶されている故障診断プログラム15Aが起動され、以下に示す各ステップが実行される。本実施形態では、故障診断モデル15Bの性能が一定水準に到達しない場合に、故障診断モデル15Bを再学習する。
【0167】
図13のステップS191では、CPU11が、任意の部品に対する故障診断モデル15B(現故障診断モデル)の診断結果(例えば、故障又は健全)を取得し、取得した診断結果をメンテナンス用端末70に送信する。そして、メンテナンス用端末70を所有する作業担当者60は、診断結果が故障である場合、現場にて対象部品の故障診断作業を行い、対象部品が故障であるか健全であるかの確認を行う。そして、作業担当者60は、メンテナンス用端末70を介して、対象部品の故障又は健全の確認結果を入力する。
【0168】
ステップS192では、CPU11が、作業担当者60から、メンテナンス用端末70を介して、対象部品の故障又は健全の確認結果の入力を受け付ける。
【0169】
ステップS193では、CPU11が、対象部品の故障診断に用いた動作履歴データ及び対象部品の確認結果をセットにして、記憶部15に記憶する。
【0170】
ステップS194では、CPU11が、ステップS193で記憶部15に記憶した動作履歴データ及び確認結果を用いて、故障診断モデル15Bの性能を更新する。
【0171】
ステップS195では、CPU11が、ステップS194で性能を更新した故障診断モデル15Bの適用期間がmより長いか否かを判定する。適用期間がmより長いと判定した場合(肯定判定の場合)、ステップS196に移行し、適用期間がm以下と判定した場合(否定判定の場合)、ステップS191に戻り処理を繰り返す。
【0172】
ステップS196では、CPU11が、故障診断モデル15Bを再学習し、新たな故障診断モデルを生成する。再学習に用いる学習用データは、故障診断モデル15Bによる故障診断に用いられた過去の動作履歴データ及びその正解データのセットである。
【0173】
ステップS197では、CPU11が、ステップS196で生成した新たな故障診断モデルの汎化性能が故障診断モデル15Bの汎化性能よりも高いか否かを判定する。新たな故障診断モデルの汎化性能が故障診断モデル15Bの汎化性能よりも高いと判定した場合(肯定判定の場合)、ステップS198に移行し、新たな故障診断モデルの汎化性能が故障診断モデル15Bの汎化性能以下であると判定した場合(否定判定の場合)、ステップS199に移行する。
【0174】
ステップS198では、CPU11が、故障診断モデル15Bを、ステップS196で生成した新たな故障診断モデルに更新、つまり、新モデルを採用、配置(デプロイ)し、本故障診断プログラム15Aによる一連の処理を終了する。
【0175】
一方、ステップS199では、CPU11が、ステップS196で生成した新たな故障診断モデルを破棄し、本故障診断プログラム15Aによる一連の処理を終了する。なお、現故障診断モデル及び新故障診断モデルの両方が一定水準未満の場合、両方のモデルを破棄して、故障診断システムの対象外としてもよい。
【0176】
なお、本実施形態では、故障診断装置10を外部のサーバ装置として実現した場合について説明したが、これに限定されない。故障診断装置10はCGS40の制御装置41として実現してもよい。
【0177】
このように本実施形態によれば、燃料電池コージェネレーションシステムの故障診断に用いる故障診断モデルによって故障診断を行った期間が一定期間を超えた場合に、故障診断モデルが再学習され更新可能とされる。このため、故障診断モデルの性能を一定水準以上に維持することができる。
【0178】
以上、上記各実施形態として、故障診断装置及び故障診断システムを例示して説明したが、各実施形態は、故障診断装置が備える各部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。各実施形態は、このプログラムを記憶したコンピュータが読み取り可能な記憶媒体の形態としてもよい。
【0179】
その他、上記各実施形態で説明した故障診断装置及び故障診断システムの構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
【0180】
また、上記各実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【0181】
また、上記各実施形態では、プログラムを実行することにより、各実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。各実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
【符号の説明】
【0182】
10 故障診断装置
11、42 CPU
11A 取得部
11B 推定部
11C 学習部
11D 第1出力部
11E 第2出力部
12、43 ROM
13、44 RAM
14、45 I/O
15、46 記憶部
15A 故障診断プログラム
15B 故障診断モデル
16 表示部
17 操作部
18、47 通信部
30 ユーザ宅
40 CGS
41 制御装置
46A 制御プログラム
48 機器I/F
49 CGS本体部
50 燃料電池ユニット
51 燃料電池モジュール
51A 燃料電池スタック
51B 改質器
52 ガス経路
53 改質水経路
54 空気経路
60 作業担当者
70 メンテナンス用端末
100 故障診断システム