(57)【特許請求の範囲】
【請求項１】
パワー素子のスイッチング動作により直流電力を交流電力に変換して交流モータに供給するモータ駆動装置の、前記パワー素子の予測寿命を学習する機械学習装置であって、
前記パワー素子のスイッチング回数に関するデータと、前記パワー素子のジャンクション温度に関するデータと、前記パワー素子の故障の有無に関するデータと、から構成される状態変数を観測する状態観測部と、
前記状態変数に基づいて作成される訓練データセットに従って、前記パワー素子の予測寿命を学習する学習部と、
を備えることを特徴とする機械学習装置。
【請求項２】
前記パワー素子のジャンクション温度は、前記パワー素子を冷却するフィンの温度、前記モータ駆動装置の周囲温度、前記モータ駆動装置から前記交流モータに供給される電流の値、および前記モータ駆動装置から前記交流モータに印加される電圧の値に基づいて算出される請求項１に記載の機械学習装置。
【請求項３】
前記学習部は、
前記パワー素子のスイッチング回数および前記パワー素子の故障の有無に基づいて報酬を計算する報酬計算部と、
前記状態変数および前記報酬に基づいて、前記パワー素子の予測寿命を計算するための関数を更新する関数更新部と、
を備える請求項１に記載の機械学習装置。
【請求項４】
前記報酬計算部は、前記パワー素子のスイッチング回数が、前記規定回数を超えているとき報酬を減らす請求項３に記載の機械学習装置。
【請求項５】
前記報酬計算部は、前記パワー素子のスイッチング回数が前記規定回数を超えていないときにおいて、前記パワー素子の故障が発生したときは報酬を減らす請求項３に記載の機械学習装置。
【請求項６】
前記関数更新部は、前記状態変数および前記報酬に基づいて、ニューラルネットワークモデルに従って、前記パワー素子の予測寿命を計算するための関数を更新する請求項３〜５のいずれか一項に記載の機械学習装置。
【請求項７】
前記学習部は、
前記状態変数に基づいて誤差を計算する誤差計算部と、
前記状態変数および前記誤差に基づいて、前記パワー素子の予測寿命を計算するための学習モデルを更新する学習モデル更新部と、
を備える請求項１または２に記載の機械学習装置。
【請求項８】
前記学習部は、複数のモータ駆動装置に対して取得される前記訓練データセットに従って、前記条件を学習するように構成される請求項１〜７のいずれか一項に記載の機械学習装置。
【請求項９】
請求項１〜８のいずれか一項に記載の機械学習装置を備えた、モータ駆動装置内のパワー素子の寿命予測装置であって、
前記学習部が前記訓練データセットに従って学習した結果に基づいて、現在の前記状態変数の入力に応答して、前記パワー素子の予測寿命を計算する意思決定部をさらに備えることを特徴とする寿命予測装置。
【請求項１０】
前記意思決定部により計算された前記予測寿命を作業者に通知する通知部をさらに備える請求項９に記載の寿命予測装置。
【請求項１１】
前記意思決定部により計算された前記予測寿命に基づき、前記パワー素子の交換もしくは前記モータ駆動装置の交換を促す情報を作業者に通知する通知部をさらに備える請求項１０に記載の寿命予測装置。
【請求項１２】
前記学習部は、前記現在の状態変数によって構成される追加の訓練データセットに従って、前記パワー素子の予測寿命を再学習して更新するように構成される請求項９〜１１のいずれか一項に記載の寿命予測装置。
【請求項１３】
請求項９〜１２いずれか一項に記載の寿命予測装置と、
前記パワー素子のスイッチング動作により直流電力を交流電力に変換して交流モータに供給する電力供給部と、
前記パワー素子に対するスイッチング指令に基づいて、前記スイッチング回数に関するデータを取得するスイッチング回数取得部と、
前記パワー素子に対するスイッチング指令と前記電力供給部から出力される交流電力に基づいて、前記パワー素子の故障の有無に関するデータを取得する故障判定部と、
を備えることを特徴とするモータ駆動装置。
【請求項１４】
前記パワー素子を冷却するフィンの温度、前記モータ駆動装置の周囲温度、前記モータ駆動装置から前記交流モータに供給される電流の値、および前記モータ駆動装置から前記交流モータに印加される電圧の値に基づいて、前記パワー素子のジャンクション温度を算出する温度算出部をさらに備える請求項１３に記載のモータ駆動装置。
【請求項１５】
前記パワー素子のジャンクション温度を測定する温度センサをさらに備える請求項１３に記載のモータ駆動装置。
【請求項１６】
パワー素子のスイッチング動作により直流電力を交流電力に変換して交流モータに供給するモータ駆動装置の、前記パワー素子の予測寿命を学習する機械学習方法であって、
前記パワー素子のスイッチング回数に関するデータと、前記パワー素子のジャンクション温度に関するデータと、前記パワー素子の故障の有無に関するデータと、から構成される状態変数を観測する状態観測ステップと、
前記状態変数に基づいて作成される訓練データセットに従って、前記パワー素子の予測寿命を学習する学習ステップと、
を備えることを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パワー素子の予測寿命を学習する機械学習装置および方法ならびに該機械学習装置を備えた寿命予測装置およびモータ駆動装置に関する。
【背景技術】
【０００２】
工作機械、鍛圧機械、射出成形機、産業機械、あるいは各種ロボット内の交流モータを駆動するモータ駆動装置においては、逆変換器（インバータ）により直流電力を交流電力に変換して交流モータを駆動するための駆動電力を供給している。逆変換器は、例えばＰＷＭインバータなどのような、パワー素子（半導体スイッチング素子）およびこれに逆並列に接続されたダイオードを有するスイッチ部のブリッジ回路からなり、パワー素子がオンオフ駆動されることで直流電力を交流電力に変換して交流モータ側へ出力する。
【０００３】
このようなモータ駆動装置を用いる分野においては、作業効率の低下や深刻な事故の発生を防止するべく、パワー素子の寿命を予測し、この予測結果に基づき、寿命到来によりパワー素子が稼働不能になる前にパワー素子を交換することが行われている。
【０００４】
例えば、パワー半導体素子からなる半導体装置の全動作温度範囲を複数の温度領域に分割し、該温度領域内においてはそれぞれ設定した基準温度差におけるパワーサイクル数に重み付けした値を用いてサイクル数を算出し、該分割した温度領域間においては各算出したサイクル数を基にマイナー則を用いて累積ダメージを算出して寿命を予測する方法が公知である（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１９６７０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
モータ駆動装置内の逆変換器内のパワー素子の寿命は、モータ駆動装置の運転条件や周囲温度などの環境条件によって変化するので、正確に予測するのは容易ではない。パワー素子の寿命を正確に予測できなければ、パワー素子の交換のタイミングを逸して作業効率が低下したり深刻な事故の発生を招きかねない。また、まだ寿命のあるパワー素子を不必要に早く交換してしまう事態にもなりかねない。このため、パワー素子の寿命を正確に把握し寿命が到来したか否かを的確に判断できるようにすることが重要である。
【０００７】
従って本発明の目的は、上記問題に鑑み、パワー素子の予測寿命を正確かつ容易に予測することができる機械学習装置および方法ならびに該機械学習装置を備えた寿命予測装置およびモータ駆動装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を実現するために、本発明においては、パワー素子のスイッチング動作により直流電力を交流電力に変換して交流モータに供給するモータ駆動装置の、パワー素子の予測寿命を学習する機械学習装置は、パワー素子のスイッチング回数に関するデータと、パワー素子のジャンクション温度に関するデータと、パワー素子の故障の有無に関するデータと、から構成される状態変数を観測する状態観測部と、状態変数に基づいて作成される訓練データセットに従って、パワー素子の予測寿命を学習する学習部と、を備える。
【０００９】
ここで、パワー素子のジャンクション温度は、パワー素子を冷却するフィンの温度、モータ駆動装置の周囲温度、モータ駆動装置から交流モータに供給される電流の値、およびモータ駆動装置から交流モータに印加される電圧の値に基づいて算出されてもよい。
【００１０】
また、学習部は、パワー素子のスイッチング回数およびパワー素子の故障の有無に基づいて報酬を計算する報酬計算部と、状態変数および報酬に基づいて、パワー素子の予測寿命を計算するための関数を更新する関数更新部と、を備えてもよい。
【００１１】
また、報酬計算部は、パワー素子のスイッチング回数が、規定回数を超えているとき報酬を減らすようにしてもよい。
【００１２】
また、報酬計算部は、パワー素子のスイッチング回数が規定回数を超えていないときにおいて、パワー素子の故障が発生したときは報酬を減らすようにしてもよい。
【００１３】
また、関数更新部は、状態変数および報酬に基づいて、ニューラルネットワークモデルに従って、パワー素子の予測寿命を計算するための関数を更新するようにしてもよい。
【００１４】
また、学習部は、状態変数に基づいて誤差を計算する誤差計算部と、状態変数および上記誤差に基づいて、パワー素子の予測寿命を計算するための学習モデルを更新する学習モデル更新部と、を備えてもよい。
【００１５】
また、学習部は、複数のモータ駆動装置に対して取得される訓練データセットに従って、条件を学習するように構成されてもよい。
【００１６】
また、本発明においては、上述の機械学習装置を備えた、モータ駆動装置内のパワー素子の寿命予測装置は、学習部が訓練データセットに従って学習した結果に基づいて、現在の状態変数の入力に応答して、パワー素子の予測寿命を計算する意思決定部をさらに備える。
【００１７】
また、寿命予測装置は、意思決定部により計算された予測寿命を作業者に通知する通知部をさらに備えてもよい。
【００１８】
また、寿命予測装置は、意思決定部により計算された予測寿命に基づき、パワー素子の交換もしくはモータ駆動装置の交換を促す情報を作業者に通知する通知部をさらに備えてもよい。
【００１９】
学習部は、現在の状態変数によって構成される追加の訓練データセットに従って、パワー素子の予測寿命を再学習して更新するように構成されてもよい。
【００２０】
また、本発明においては、モータ駆動装置は、上述の寿命予測装置と、パワー素子のスイッチング動作により直流電力を交流電力に変換して交流モータに供給する電力供給部と、パワー素子に対するスイッチング指令に基づいて、スイッチング回数に関するデータを取得するスイッチング回数取得部と、パワー素子に対するスイッチング指令と電力供給部から出力される交流電力に基づいて、パワー素子の故障の有無に関するデータを取得する故障判定部と、を備える。
【００２１】
ここで、モータ駆動装置は、パワー素子を冷却するフィンの温度、モータ駆動装置の周囲温度、モータ駆動装置から交流モータに供給される電流の値、およびモータ駆動装置から交流モータに印加される電圧の値に基づいて、パワー素子のジャンクション温度を算出する温度算出部をさらに備えてもよい。
【００２２】
また、モータ駆動装置は、パワー素子のジャンクション温度を測定する温度センサをさらに備えてもよい。
【００２３】
また、本発明においては、パワー素子のスイッチング動作により直流電力を交流電力に変換して交流モータに供給するモータ駆動装置の、パワー素子の予測寿命を学習する機械学習方法は、パワー素子のスイッチング回数に関するデータと、パワー素子のジャンクション温度に関するデータと、パワー素子の故障の有無に関するデータと、から構成される状態変数を観測する状態観測ステップと、状態変数に基づいて作成される訓練データセットに従って、パワー素子の予測寿命を学習する学習ステップと、を備える。
【発明の効果】
【００２４】
本発明によれば、パワー素子の予測寿命を正確かつ容易に予測することができる機械学習装置および方法ならびに該機械学習装置を備えた寿命予測装置およびモータ駆動装置を実現することができる。
【００２５】
本発明による機械学習装置およびその方法によれば、モータ駆動装置を実際に動作させながらモータ駆動装置における電力供給部内のパワー素子の予測寿命を学習するので、実際の使用状況に応じた正確な予測寿命が学習される。また、本発明による機械学習装置を備えた寿命予測装置およびモータ駆動装置によれば、実際の使用状況に応じた正確な予測寿命を容易に計算することができる。これにより、作業者は、パワー素子の正確な予測寿命を知ることができるので、パワー素子が稼働不能になる前にパワー素子を交換することができ、パワー素子の交換のタイミングを逸することなく、パワー素子の故障や寿命到来に起因する深刻な事故の発生を未然に防ぐことができる。このようにパワー素子の交換を適切な時期に行うことができるようになることで、不要な設計マージンを削ることができるとともに、パワー素子の在庫を減らすこともできる。また、予測寿命の計算に際して得られた電動機の寿命に大きな影響を与える稼働状態を知ることができるので、パワー素子の寿命に影響を及ぼす稼働状態を変更する対応をとることができる。例えば、設計者は、パワー素子の寿命を延ばす適切な温度になるようモータ駆動装置の周辺環境を整えるといった対応や、出力電圧、出力電流、もしくはスイッチング周波数といった運転条件を変更するといった対応をとることができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施例による機械学習装置の原理ブロック図である。
【図２】本発明の実施例による機械学習方法の動作フローを示すフローチャートである。
【図３】本発明の実施例による、強化学習を適用した機械学習装置の原理ブロック図である。
【図４】本発明の実施例による、強化学習を適用した機械学習方法の動作フローを示すフローチャートである。
【図５】本発明の実施例による、強化学習を適用した機械学習装置を備える寿命予測装置およびこの寿命予測装置を備えるモータ駆動装置を示す原理ブロック図である。
【図６】あるモータ印加電圧時におけるパワー素子のジャンクション温度を算出する温度算出部を示すブロック図である。
【図７】本発明の実施例による、強化学習を適用した機械学習装置を備える寿命予測装置の動作フローを示すフローチャートである。
【図８】ニューロンのモデルを示す模式図である。
【図９】Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【図１０】本発明の実施例による、教師あり学習を適用した機械学習装置を備える寿命予測装置およびこの寿命予測装置を備えるモータ駆動装置を示す原理ブロック図である。
【発明を実施するための形態】
【００２７】
図１は、本発明の実施例による機械学習装置の原理ブロック図である。以降、異なる図面において同じ参照符号が付されたものは同じ機能を有する構成要素であることを意味するものとする。
【００２８】
交流モータを駆動するモータ駆動装置においては、逆変換器（インバータ）により直流電力を交流電力に変換して交流モータを駆動するための駆動電力を供給している。逆変換器は、例えばＰＷＭインバータなどのような、パワー素子（半導体スイッチング素子）およびこれに逆並列に接続されたダイオードを有するスイッチ部のブリッジ回路からなり、パワー素子がオンオフ駆動されることで直流電力を交流電力に変換して交流モータ側へ出力する。本発明の実施例による機械学習装置１は、パワー素子のスイッチング動作により直流電力を交流電力に変換して交流モータに供給するモータ駆動装置の、パワー素子の予測寿命を学習するものとして構成される。パワー素子の寿命（スイッチング回数）は、パワー素子の動作時のジャンクション温度とベース温度の差（パワーサイクル）で決まる。パワー素子のジャンクション温度とは、パワー素子内のパワー半導体チップとボンディング部との接合部分の温度である。また、ベース温度とは、パワー素子の冷却のために外部と熱的に接続する部分の温度であり、フィン温度とも称する。ジャンクション温度とベース温度の差は、モータ駆動装置の運転条件や周囲温度によって変化する。そこで、本発明では、機械学習装置１により、パワー素子のスイッチング回数、パワー素子のジャンクション温度、およびパワー素子の故障の有無を観測し、これらを行動価値テーブルとしてデータベース化することで、過去のジャンクション温度とベース温度の差に関するデータや故障データから、パワー素子の寿命を予測する。
【００２９】
機械学習装置１は、状態観測部１１および学習部１２を備える。ここで、機械学習装置１は、交流モータを駆動制御するモータ駆動装置に内蔵されてもよく、この場合は、当該モータ駆動装置のプロセッサを利用して機械学習を実行する。またあるいは、機械学習装置１は、ネットワークを介してモータ駆動装置に接続されるデジタルコンピュータとして構成されもよい。またあるいは、機械学習装置１は、クラウドサーバ上に設けられてもよく、この場合ネットワークを介してモータ駆動装置に接続される。
【００３０】
状態観測部１１は、パワー素子のスイッチング回数に関するデータと、パワー素子のジャンクション温度に関するデータと、パワー素子の故障の有無に関するデータと、から構成される状態変数を観測する。
【００３１】
パワー素子のスイッチング回数に関するデータは、モータ駆動装置により生成されるパワー素子をオンオフ駆動するためのスイッチング指令（例えばＰＷＭスイッチング信号）に基づいて生成される。
【００３２】
また、パワー素子のジャンクション温度に関するデータは、パワー素子を冷却するフィンの温度、モータ駆動装置の周囲温度、モータ駆動装置から交流モータに供給される電流の値、およびモータ駆動装置から交流モータに印加される電圧の値に基づいて計算により求める。パワー素子のジャンクション温度の算出方法については後述する。またあるいは、パワー素子のジャンクション温度に関するデータは、パワー素子の近傍に設置された温度センサによって取得してもよい。
【００３３】
また、パワー素子の故障の有無に関するデータは、例えば、モータ駆動装置により生成されるスイッチング指令がパワー素子に与えられた場合において、モータ駆動装置内の電力供給部から当該スイッチング指令に対応した交流電力が出力されたか否かを監視することによって取得することができる。例えば、モータ駆動装置内の電力供給部から交流モータへ流れ込む電流を電流検出部によって検出し、電流検出値がモータ駆動装置から出力されたスイッチング指令に対応するものであれば「パワー素子の故障は無し」と判定し、当該スイッチング指令にがあったにもかかわらず電流検出値がゼロに近い値であったときや当該スイッチング指令からは想定されないような異常に大きな値であったときは「パワー素子の故障は有り」と判定するようにすればよい。またあるいは、パワー素子の故障を発見しあるいは知得した作業者が自ら入力装置を操作することによって、状態観測部１１へパワー素子の故障発生を示すデータを入力するようにしてもよい。
【００３４】
このように、状態観測部１１は、パワー素子のスイッチング回数に関するデータと、パワー素子のジャンクション温度に関するデータと、パワー素子の故障の有無に関するデータと、から構成される状態変数を観測する。なお、機械学習装置１がネットワークを介してモータ駆動装置に接続される場合やクラウドサーバ上に設けられる場合は、状態観測部１１は、ネットワークを介して状態変数を観測する。またあるいは、機械学習装置１がモータ駆動装置に内蔵される場合は、当該モータ駆動装置に格納された制御ソフトウェアの内部データや当該モータ駆動装置に接続された各種センサから出力されるデータに基づいて状態変数を観測する。
【００３５】
学習部１２は、状態観測部１１によって観測された状態変数に基づいて作成される訓練データセットに従って、パワー素子の予測寿命を学習する。なお、訓練データセットを複数のモータ駆動装置に関して取得してもよくこの場合、学習部１２は、複数のモータ駆動装置に対して取得される訓練データセットに従って、パワー素子の予測寿命を学習する。
【００３６】
図２は、本発明の実施例による機械学習方法の動作フローを示すフローチャートである。パワー素子のスイッチング動作により直流電力を交流電力に変換して交流モータに供給するモータ駆動装置の、パワー素子の予測寿命を学習する機械学習方法は、状態観測ステップＳ１０１と、学習ステップＳ１０２とを備える。
【００３７】
状態観測ステップＳ１０１は、状態観測部１１により実行されるものであり、すなわち、パワー素子のスイッチング回数に関するデータと、パワー素子のジャンクション温度に関するデータと、パワー素子の故障の有無に関するデータと、から構成される状態変数を観測する。
【００３８】
学習ステップＳ１０２は、学習部１２によって実行されるものであり、すなわち、状態観測部１１によって観測された状態変数に基づいて作成される訓練データセットに従って、パワー素子の予測寿命を学習する。
【００３９】
学習部１２が用いる学習アルゴリズムはどのようなものを用いてもよい。機械学習装置１は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習（ディープラーニング：Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）」と呼ばれる手法がある。なお、これらの機械学習（機械学習装置１）は、例えば、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ−Ｐｕｒｐｏｓｅ ｃｏｍｐｕｔｉｎｇ ｏｎ Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔｓ）や大規模ＰＣクラスター等を適用することにより実現される。
【００４０】
以下、一例として、強化学習を用いた場合について図３および図４を参照して説明する。「教師あり学習」、「教師なし学習」等については、後述する。
【００４１】
図３は、本発明の実施例による、強化学習を適用した機械学習装置の原理ブロック図である。学習部１２は、報酬計算部２１と関数更新部２２とを備える。なお、報酬計算部２１および関数更新部２２以外の構成要素については図１に示す構成要素と同様であるので、同一の構成要素には同一符号を付して当該構成要素についての詳細な説明は省略する。
【００４２】
報酬計算部２１は、状態観測部１１によって観測されたパワー素子のスイッチング回数およびパワー素子の故障の有無に基づいて報酬を計算する。例えば、報酬計算部２１は、状態観測部１１によって観測されたパワー素子のスイッチング回数が、規定回数を超えているとき報酬を減らすようにすればよい。また例えば、報酬計算部２１は、パワー素子のスイッチング回数が上記規定回数を超えていないときにおいて、パワー素子の故障が発生したときは報酬を減らすようにすればよい。ここで、上記規定回数は、パワー素子の寿命に相当する「耐用スイッチング回数」であり、パワー素子ごとに規定されるものである。
【００４３】
関数更新部２２は、状態観測部１１によって観測された状態変数および報酬計算部２１によって計算された報酬に基づいて、パワー素子の予測寿命を計算するための関数（行動価値テーブル）を更新する。関数（行動価値テーブル）の更新方法については後述する。
【００４４】
学習部１２が、状態観測部１１で観測された状態変数を多層構造で演算し、関数（行動価値テーブル）をリアルタイムで更新してもよい。例えば、関数更新部２２は、状態観測部１１によって観測された状態変数および報酬計算部２１によって計算された報酬に基づいて、ニューラルネットワークモデルに従って、パワー素子の予測寿命を計算するための関数（行動価値テーブル）を更新するようにしてもよい。ここで、状態変数を多層構造で演算する方法として、例えば、後述する図９に示すような多層ニューラルネットワークを用いることができる。
【００４５】
図４は、本発明の実施例による、強化学習を適用した機械学習方法の動作フローを示すフローチャートである。
【００４６】
まず、状態観測ステップＳ１０１において、状態観測部１１は、パワー素子のスイッチング回数に関するデータと、パワー素子のジャンクション温度に関するデータと、パワー素子の故障の有無に関するデータと、から構成される状態変数を観測する。
【００４７】
次いで、報酬計算ステップＳ１０２−１において、報酬計算部２１は、状態観測部１１によって観測されたパワー素子のスイッチング回数およびパワー素子の故障の有無に基づいて報酬を計算する。
【００４８】
次いで、関数更新ステップＳ１０２−２において、関数更新部２２は、状態観測部１１によって観測された状態変数および報酬計算部２１によって計算された報酬に基づいて、パワー素子の予測寿命を計算するための関数（行動価値テーブル）を更新する。
【００４９】
続いて、上述の機械学習装置を備えるパワー素子の寿命予測装置およびこの寿命予測装置を備えるモータ駆動装置について説明する。
【００５０】
図５は、本発明の実施例による、強化学習を適用した機械学習装置を備える寿命予測装置およびこの寿命予測装置を備えるモータ駆動装置を示す原理ブロック図である。ここでは、交流モータ２をモータ駆動装置１０００で制御する場合について説明する。交流モータ２の種類は、本発明を限定するものではなく、誘導モータであっても同期モータであってもよい。
【００５１】
モータ駆動装置１０００内のパワー素子の寿命予測装置１００は、機械学習装置１と、意思決定部１３と、通知部１４とを備える。また、モータ駆動装置１０００は、寿命予測装置１００と、電力供給部３１と、スイッチング回数取得部３２と、故障判定部３３と、温度算出部３４と、モータ制御部５０とを備える。なお、ここでは図示しないが、意思決定部１３により決定された予測寿命に関するデータを出力するデータ出力部を別途設けてもよい。
【００５２】
モータ制御部５０は、その内部に格納された制御ソフトウェアに基づいて、所定の速度指令、交流モータ２のための動作プログラム、電力供給部３１から出力される交流電流および／または交流電圧、交流モータ２のロータ回転速度および／またはロータ位置などといった情報などを用いて、交流モータ２の速度、トルク、もしくは回転子の位置を制御するためのスイッチング指令を生成する。モータ制御部５０によるスイッチング指令の生成方法は、本発明を特に限定するものではなく、公知の生成方法でよく、例えば三角波比較ＰＷＭ方式などがある。
【００５３】
電力供給部３１は、モータ制御部５０において生成されたスイッチング指令に基づいて、パワー素子のスイッチング動作を制御し、直流電力を交流電力に変換して交流モータに供給する。電力供給部３１として、例えばＰＷＭインバータがある。ＰＷＭインバータでは、パワー素子およびこれに逆並列に接続されたダイオードのブリッジ回路からなり、モータ制御部５０において生成されたスイッチング指令に基づいてパワー素子のスイッチング動作がＰＷＭ制御される。なお、ＰＷＭインバータからなる電力供給部３１の直流側であるＤＣリンクには、ここでは図示しないが、交流電源側から供給された交流電力を直流電力に変換してＤＣリンクへ出力する整流器が設けられる。電力供給部３１内の逆変換器は、ＤＣリンク側から供給される直流電力を、モータ制御部５０から受信したスイッチング指令に基づき内部のパワー素子をスイッチング動作させ、交流モータ２を駆動するための所望の電圧および所望の周波数の三相交流電力に変換する。これにより、交流モータ２は、供給された電圧可変および周波数可変の三相交流電力に基づいて動作することになる。
【００５４】
スイッチング回数取得部３２は、モータ制御部５０により生成されるパワー素子をオンオフ駆動するためのスイッチング指令に基づいて、スイッチング回数に関するデータを取得する。
【００５５】
故障判定部３３は、モータ制御部５０により生成されるパワー素子に対するスイッチング指令と電力供給部３１から出力される交流電力に基づいて、パワー素子の故障の有無に関するデータを取得する。より具体的には、故障判定部３３は、電力供給部３１から当該スイッチング指令に対応した交流電力が出力されたか否かを監視することによってパワー素子の故障の有無を判定することができる。例えば、電力供給部３１から交流モータ２へ流れ込む電流を電流検出部（図示せず）によって検出し、電流検出値がモータ制御部５０から出力されたスイッチング指令に対応するものであれば「パワー素子の故障は無し」と判定し、当該スイッチング指令があったにもかかわらず電流検出値がゼロに近い値であったときや当該スイッチング指令からは想定されないような異常に大きな値であったときは「パワー素子の故障は有り」と判定するようにすればよい。またあるいは、パワー素子の故障を発見しあるいは知得した作業者が自ら入力装置を操作することによって、故障判定部３３を介さずに、状態観測部１１へパワー素子の故障発生を示すデータを直接入力するようにしてもよい。
【００５６】
温度算出部３４は、パワー素子を冷却するフィンの温度、モータ駆動装置１０００の周囲温度、モータ駆動装置１０００から交流モータ２に供給される電流の値、およびモータ駆動装置１０００から交流モータ２に印加される電圧の値に基づいて、パワー素子のジャンクション温度を算出するが、これについて、図６を参照して説明する。
【００５７】
図６は、あるモータ印加電圧時におけるパワー素子のジャンクション温度を算出する温度算出部を示すブロック図である。モータ駆動装置１０００から交流モータ２に印加される電圧（電力供給部３１からの出力電圧）が変わるとパワー素子の発熱（損失）が変わり、すなわち発熱係数が変わる。ここでは、交流モータ２にある電圧Ｖｘ［Ｖ］が印加された場合におけるジャンクション温度の算出法方法について説明する。
【００５８】
温度算出部３４は、チップ温度算出部３４−１と放熱器温度算出部３４−２とから構成される。モータ駆動装置から交流モータに供給される電流の値は、電流検出部（図示せず）によって検出され、これを電流フィードバック値Ｉｒ[Ａｒｍｓ]として表す。ここで「ｒｍｓ」は実効値を意味する。モータ駆動装置１０００の周囲温度Ｔaは、モータ駆動装置１０００近傍に設置された温度センサ（図示せず）により検出される。
【００５９】
温度算出部３４内のチップ温度算出部３４−１では、電流フィードバック値Ｉｒ[Ａｒｍｓ]に電源周波数係数Ｋωおよび発熱係数Ｋ1［℃／Ａｒｍｓ］をかけた値に、チップ側時定数をＴ1として積分することで、フィン（放熱器）に対するチップの上昇温度ＴUPC[℃]が得られる。ここで、電源周波数係数Ｋωは電源周波数に依存する固定値であり、一例を挙げると、「１．５５」〜「２．００」などといった値である。また、発熱係数Ｋ1［℃／Ａｒｍｓ］は、出力電流および出力電圧に依存する値であり、一例を挙げると、最大電流定格Ｉmaxあたり４０〜６０［℃］の上昇率である。また、チップ側時定数Ｔ1は、パワー素子に依存する値であり、一例を挙げると、１００〜３００［ｍｓ］である。
【００６０】
温度算出部３４内の放熱器温度算出部３４−２では、電流フィードバック値Ｉｒ[Ａｒｍｓ]に発熱係数Ｋ2［℃／Ａｒｍｓ］をかけた値に、フィン側時定数をＴ2として積分することで、外気に対するフィン（放熱器）の上昇温度ＴUPF[℃]が得られる。外気に対するフィン（放熱器）の上昇温度ＴUPF[℃]にモータ駆動装置１０００の周囲温度Ｔaを加算することで、フィン温度（放熱器の温度）ＴFIN［℃］が得られる。ここで、発熱係数Ｋ2［℃／Ａｒｍｓ］は、電力供給部３１を構成する逆変換器（アンプ）の形式やＰＷＭ周波数に依存する値であり、一例を挙げると、３０分電流定格Ｉ30あたり６５〜１００［℃］の上昇率である。フィン側時定数Ｔ2は、電力供給部３１内の逆変換器のアンプ構成に依存する値であり、一例を挙げると、７０〜１５０［ｓｅｃ］である。
【００６１】
そして、チップ温度算出部３４−１により算出されたフィン（放熱器）に対するチップの上昇温度ＴUPC[℃]と放熱器温度算出部３４−２により算出されたフィン温度（放熱器の温度）ＴFIN［℃］とを加算することで、パワー素子のジャンクション温度ＴCHIP［℃］が得られる。
【００６２】
このように本実施例では、パワー素子のジャンクション温度を温度算出部３４により算出する。この代替例として、パワー素子の近傍に設置された温度センサによって、パワー素子のジャンクション温度を直接測定してもよい。パワー素子のジャンクション温度を温度算出部３４により算出する方法によるとパワー素子の発熱係数やチップの熱時定数といった特性データについてパワー素子の各個体のバラつきを考慮できないが、パワー素子のジャンクション温度を温度センサにより直接測定すれば、より温度の精度は上がる。
【００６３】
機械学習装置１内の状態観測部１１は、スイッチング回数取得部３２から取得されるパワー素子のスイッチング回数に関するデータと、温度算出部３４から取得されるパワー素子のジャンクション温度に関するデータと、故障判定部３３から取得されるパワー素子の故障の有無に関するデータと、から構成される状態変数を観測する。
【００６４】
機械学習装置１内の学習部１２は、報酬計算部２１と関数更新部２２とを備え、状態観測部１１によって観測された状態変数に基づいて作成される訓練データセットに従って、パワー素子の予測寿命を学習する。
【００６５】
学習部１２内の報酬計算部２１は、状態観測部１１によって観測されたパワー素子のスイッチング回数およびパワー素子の故障の有無に基づいて報酬を計算する。例えば、報酬計算部２１は、状態観測部１１によって観測されたパワー素子のスイッチング回数が、規定回数を超えているときは、パワー素子が有する寿命に相当する「耐用スイッチング回数」を超えているということであるので、報酬を減らす。また、報酬計算部２１は、パワー素子のスイッチング回数が上記規定回数を超えていないときにおいて、パワー素子の故障が発生したときにも、報酬を減らす。
【００６６】
学習部１２内の関数更新部２２は、状態観測部１１によって観測された状態変数および報酬計算部２１によって計算された報酬に基づいて、パワー素子の予測寿命を計算するための関数（行動価値テーブル）を更新する。
【００６７】
意思決定部１３は、学習部１２が訓練データセットに従って学習した結果に基づいて、現在の状態変数の入力に応答して、パワー素子の予測寿命を計算する。上述のように、パワー素子の寿命（スイッチング回数）は、パワー素子の動作時のジャンクション温度とベース温度の差（パワーサイクル）で決まるものであり、このジャンクション温度とベース温度の差は、モータ駆動装置の運転条件や周囲温度によって変化する。そこで、状態観測部１１によって観測されたパワー素子のスイッチング回数、パワー素子のジャンクション温度、およびパワー素子の故障の有無に基づいて関数更新部２２において作成（更新）された関数（行動価値テーブル）から、意思決定部１３は、過去のジャンクション温度とベース温度の差に関するデータや故障データを参考にして、パワー素子の予測寿命を決定する。本実施例では、一例として学習アルゴリズムとして強化学習を用いているので、学習部１３内の報酬計算部２１によって算出された報酬に基づいて学習部１２内の関数更新部２２は予測寿命を計算するための関数を更新し、意思決定部１３は、更新された関数に基づき、報酬が最も多く得られる予測寿命を選択し、これを出力する。意思決定部１３によって決定された予測寿命は、通知部１４へ出力される。
【００６８】
通知部１４は、意思決定部１３により計算された予測寿命を作業者に通知する。またさらに、通知部１４は、意思決定部１３により計算された予測寿命に基づき、パワー素子の交換を促す情報を作業者に通知するようにしてもよい。通知部１４により、作業者は、パワー素子の予測寿命を知ることができるので、パワー素子が稼働不能になる前にパワー素子を交換することができる。パワー素子の交換を適切な時期に行うことができるようになることで、不要な設計マージンを削ることができるとともに、パワー素子の在庫を減らすこともできる。またあるいは、通知部１４の通知内容として、予測寿命の計算に際して得られたパワー素子の寿命に大きな影響を与える稼働状態を併せて通知するようにしてもよい。これにより、作業者は、パワー素子の寿命に影響を及ぼす稼働状態を変更する対応をとることができる。例えば、設計者は、パワー素子の寿命を延ばす適切な温度になるようモータ駆動装置１０００の周辺環境を整えるといった対応や、出力電圧、出力電流、もしくはスイッチング周波数といった運転条件を変更するといった対応をとることができる。
【００６９】
通知部１４として、例えば、パソコン、携帯端末、タッチパネルなどのディスプレイやモータ駆動装置１０００に付属のディスプレイなどがあり、例えば予測寿命を文字や絵柄でディスプレイに表示することができる。また例えば、通知部１４を、スピーカ、ブザー、チャイムなどのような音を発する音響機器にて実現してもよい。またあるいは、通知部１４について、プリンタを用いて紙面等にプリントアウトして表示させる形態をとってもよい。またあるいは、これらを適宜組み合わせて通知部１４を実現してもよい。
【００７０】
図７は、本発明の実施例による、強化学習を適用した機械学習装置を備える寿命予測装置の動作フローを示すフローチャートである。
【００７１】
一般に、強化学習では行動の初期値はランダムに選択される。本実施例では、ステップＳ２０１において、行動である予測寿命をランダムに選択する。
【００７２】
ステップＳ２０２では、モータ制御部５０は、その内部に格納された制御ソフトウェアに基づいて、所定の速度指令、交流モータ２のための動作プログラム、電力供給部３１から出力される交流電流および／または交流電圧、交流モータ２のロータ回転速度および／またはロータ位置などといった情報を用いて、交流モータの２の速度、トルク、もしくは回転子の位置を制御するためのスイッチング指令を生成する。電力供給部３１は、モータ制御部５０において生成されたスイッチング指令に基づいて、パワー素子のスイッチング動作を制御し、直流電力を交流電力に変換して交流モータに供給する。これにより、交流モータ２は、供給された電圧可変および周波数可変の三相交流電力に基づいて動作することになる。この間、スイッチング回数取得部３２は、モータ制御部５０により生成されるパワー素子をオンオフ駆動するためのスイッチング指令に基づいてスイッチング回数に関するデータを取得し、故障判定部３３は、モータ制御部５０により生成されるパワー素子に対するスイッチング指令と電力供給部３１から出力される交流電力に基づいてパワー素子の故障の有無に関するデータを取得する。また、温度算出部３４は、パワー素子を冷却するフィンの温度、モータ駆動装置１０００の周囲温度、モータ駆動装置１０００から交流モータ２に供給される電流の値、およびモータ駆動装置１０００から交流モータ２に印加される電圧の値に基づいて、パワー素子のジャンクション温度ＴCHIPを算出するが、この代替例として、温度センサによりパワー素子のジャンクション温度を測定してもよい。
【００７３】
ステップＳ２０３において、状態観測部１１は、スイッチング回数取得部３２から取得されるパワー素子のスイッチング回数に関するデータと、温度算出部３４から取得されるパワー素子のジャンクション温度に関するデータと、故障判定部３３から取得されるパワー素子の故障の有無に関するデータと、から構成される状態変数を観測する。
【００７４】
次いで、ステップＳ２０４において、状態観測部１１は、観測したパワー素子のスイッチング回数が規定回数αを超えているか否かを判別する。パワー素子のスイッチング回数が規定回数αを超えていると判定された場合は、ステップＳ２０７において報酬計算部２１は報酬を減らす。一方、パワー素子のスイッチング回数が規定回数αを超えていないと判定された場合は、ステップＳ２０５へ進む。
【００７５】
ステップＳ２０５では、状態観測部１１は、パワー素子の故障の有無に関するデータ基づき、パワー素子の故障が故障したか否かを判別する。パワー素子が故障していないと判定された場合は、ステップＳ２０６において報酬計算部２１は報酬を増やす。一方、パワー素子が故障したと判定された場合は、ステップＳ２０７において報酬計算部２１は報酬を減らす。
【００７６】
ステップＳ２０８では、関数更新部２２は、状態観測部１１によって観測された状態変数および報酬計算部２１によって計算された報酬に基づいて、パワー素子の予測寿命を計算するための関数（行動価値テーブル）を更新する。
【００７７】
続くステップＳ２０９では、意思決定部１３は、ステップＳ２０８において更新された関数に基づいて、報酬が最も多く得られるパワー素子の予測寿命を選択し、これを出力する。意思決定部１３によって決定された予測寿命は、通知部１４へ出力される。
【００７８】
ステップＳ２１０では、意思決定部１３により計算された予測寿命を作業者に通知する。またあるいは、通知部１４は、意思決定部１３により計算された予測寿命に基づき、パワー素子の交換を促す情報を作業者に通知する。
【００７９】
その後、ステップＳ２０２へ戻る。これ以降、作業者によりパワー素子が交換されるまで、ステップＳ２０２〜Ｓ２０９の処理が繰り返し実行される。これにより、機械学習装置１は、パワー素子の予測寿命を学習していく。なお、訓練データセットを、複数のモータ駆動装置から取得してもよく、この場合、学習部１２は、複数のモータ駆動装置に対して取得される訓練データセットに従って、ステップＳ２０１〜Ｓ２１０の処理を繰り返し実行し、予測寿命を学習していく。複数のモータ駆動装置に対して訓練データセットが取得されると機械学習装置１の学習精度は向上する。
【００８０】
次に、機械学習装置１についてより詳細に説明する。機械学習装置１は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。上述のように、機械学習装置１の学習アルゴリズムとして、大別すると「教師あり学習」、「教師なし学習」、「強化学習」がある。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。なお、これらの機械学習（機械学習装置１）は、例えば、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ−Ｐｕｒｐｏｓｅ ｃｏｍｐｕｔｉｎｇ ｏｎ Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔｓ）や大規模ＰＣクラスター等を適用することにより実現される。
【００８１】
「教師あり学習」とは、ある入力と結果（ラベル）のデータの組を大量に機械学習装置１に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、すなわち、その関係性を帰納的に獲得するものである。この教師あり学習を本実施形態に適用する場合、パワー素子の予測寿命を計算する部分などに用いることができる。後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
【００８２】
「教師なし学習」とは、入力データのみを大量に機械学習装置１に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。例えば、それらのデータセットにある特徴を似たものどうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。
【００８３】
また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータ（例えばシミュレーションのデータ）である場合がこれに当たる。本実施形態においては、実際にモータ駆動装置を動作させなくても取得することができるデータを教師なし学習で利用し、学習を効率的に行うことができる。
【００８４】
まず、機械学習装置１の学習アルゴリズムを強化学習とした例について説明する。
【００８５】
強化学習の問題設定として、次のように考える。
・モータ駆動装置は環境の状態を観測し、行動を決定する。
・環境は何らかの規則に従って変化し、さらに自分の行動が、環境に変化を与えることもある。
・行動するたびに報酬信号が帰ってくる。
・最大化したいのは将来にわたっての（割引）報酬の合計である。
・行動が引き起こす結果を全く知らない、または不完全にしか知らない状態から学習はスタートする。すなわち、モータ駆動装置は実際に動作して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように事前学習（前述の教師あり学習や、逆強化学習といった手法）した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００８６】
ここで、「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための学習する方法である。このことは、本実施形態において、パワー素子の予測寿命が正確に計算されるといった、未来に影響を及ぼすような行動を獲得できることを表している。例えばＱ学習の場合で説明を続けるが、それに限るものではない。
【００８７】
Ｑ学習は、ある環境状態ｓの下で、行動ａを選択する価値Ｑ（ｓ，ａ）を学習する方法である。つまり、ある状態ｓのとき、価値Ｑ（ｓ，ａ）の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は状態ｓと行動ａとの組合せについて、価値Ｑ（ｓ，ａ）の正しい値は全く分かっていない。そこで、エージェント（行動主体）は、ある状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Ｑ（ｓ，ａ）を学習していく。
【００８８】
さらに、行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ（ｓ，ａ）＝Ｅ［Σγtｒt］となるようにすることを目指す。ここで、期待値は、最適な行動に従って状態変化したときについてとるものとし、それは、それは分かっていないので、探索しながら学習することになる。そのような価値Ｑ（ｓ，ａ）の更新式は、例えば式１により表すことができる。
【００８９】
【数１】
0006010204.tif 000002
【００９０】
上記の式１において、ｓtは時刻ｔにおける環境の状態を表し、ａtは時刻ｔにおける行動を表す。行動ａtにより、状態はｓt+1に変化する。ｒt+1は、その状態の変化により貰える報酬を表している。また、ｍａｘの付いた項は、状態ｓt+1の下で、その時に分かっている最もＱ値の高い行動ａを選択した場合のＱ値にγを乗じたものになる。γは、０＜γ≦１のパラメータで、割引率と呼ばれる。αは学習係数で、０＜α≦１の範囲とする。
【００９１】
式１は、試行ａtの結果帰ってきた報酬ｒt+1を元に、状態ｓtにおける行動ａtの評価値Ｑ（ｓt，ａt）を更新する方法を表している。状態ｓにおける行動ａの評価値Ｑ（ｓt，ａt）よりも、報酬ｒt+1＋行動ａによる次の状態における最良の行動ｍａｘ ａの評価値Ｑ（ｓt+1，ｍａｘ ａt+1）の方が大きければ、Ｑ（ｓt，ａt）を大きくするし、反対に小さければ、Ｑ（ｓt，ａt）も小さくする事を示している。つまり、ある状態におけるある行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近づけるようにしている。
【００９２】
ここで、Ｑ（ｓ，ａ）の計算機上での表現方法は、すべての状態行動ペア（ｓ，ａ）に対して、その値をテーブル（行動価値テーブル）として保持しておく方法と、Ｑ（ｓ，ａ）を近似するような関数を用意する方法がある。後者の方法では、前述の更新式は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことで実現することができる。近似関数としては、後述のニューラルネットワークを用いることができる。
【００９３】
また、教師あり学習、教師なし学習、および強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。ニューラルネットワークは、たとえば図８に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置およびメモリ等で構成される。図８は、ニューロンのモデルを示す模式図である。
【００９４】
図８に示すように、ニューロンは、複数の入力ｘ（図８では、一例として、入力ｘ1〜入力ｘ3）に対する出力ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、式２により表現される出力ｙを出力する。なお、入力ｘ、出力ｙおよび重みｗは、すべてベクトルである。また、下記の式２において、θはバイアスであり、ｆkは活性化関数である。
【００９５】
【数２】
0006010204.tif 000003
【００９６】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図９を参照して説明する。図９は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【００９７】
図９に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００９８】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。
【００９９】
ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。図９において、これらｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。
【０１００】
ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。図９において、これらｚ２１、ｚ２２は、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
【０１０１】
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【０１０２】
ニューラルネットワークの動作には、学習モードと価値予測モードとがある。例えば、学習モードにおいて学習データセットを用いて重みｗを学習し、そのパラメータを用いて予測モードにおいてモータ駆動装置の行動判断を行う。なお、便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能なのはいうまでもない。
【０１０３】
ここで、予測モードで実際にモータ駆動装置を動かして得られたデータを即時学習し、次の行動に反映させる（オンライン学習）ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う（バッチ学習）こともできる。あるいは、その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【０１０４】
また、重みｗ１〜ｗ３は、誤差逆伝搬法（バックプロパゲーション：Ｂａｃｋｐｒｏｐａｇａｔｉｏｎ）により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【０１０５】
このようなニューラルネットワークは、３層以上にさらに層を増やすことも可能である（深層学習と称される）。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【０１０６】
そこで、本実施形態の機械学習装置１は、上述のＱ学習を実施すべく、例えば図５に示すように状態観測部１１、学習部１２、および意思決定部１３を備えている。ただし、本発明に適用される機械学習方法は、Ｑ学習に限定されるものではないのは前述したとおりである。すなわち、機械学習装置で用いることが出来る手法である「教師あり学習」、「教師なし学習」、「半教師あり学習」および「強化学習」等といった様々な手法が適用可能である。なお、これらの機械学習（機械学習装置１）は、例えば、ＧＰＧＰＵや大規模ＰＣクラスター等を適用することで実現可能である。例えば教師あり学習を適用する場合、価値関数は学習モデル、報酬は誤差に対応する。なお、この行動価値テーブルとして、前述のニューラルネットワークを用いて近似した関数を用いることも可能であり、これはｓおよびａの情報量が莫大であるときは特に有効である。
【０１０７】
続いて、機械学習装置１の学習アルゴリズムを教師あり学習とした例について説明する。
【０１０８】
図１０は、本発明の実施例による、教師あり学習を適用した機械学習装置を備える寿命予測装置およびこの寿命予測装置を備えるモータ駆動装置を示す原理ブロック図である。図１０と、上述した図５の比較から明らかなように、図１０に示す教師あり学習を適用した機械学習装置を備えるモータ制御装置を備えるモータ駆動装置は、図５に示すＱ学習（強化学習）を適用した機械学習装置を備えるモータ制御装置に対して、さらに、結果（ラベル）提供部４０を備える。また、図１０における機械学習装置１は、状態観測部１１、誤差計算部２３および学習モデル更新部２４を含む学習部１５、ならびに、意思決定部１６を備える。
【０１０９】
図１０に示す教師あり学習を適用した機械学習装置を備えるモータ制御装置において、誤差計算部２３および学習モデル更新部２４は、それぞれ、図５に示すＱ学習を適用したモータ制御装置における報酬計算部２１および関数更新部２２に対応する。ただし、誤差計算部２３には、結果提供部４０から結果（ラベル）が入力されるようになっている。なお、その他の構成は、上述した図５と同様であり、その説明は省略する。
【０１１０】
結果提供部４０は、ラベル付きデータ（結果）を学習部１５の誤差計算部２３に提供（入力）し、誤差計算部２３は、状態観測部１１からの信号とともに、結果提供部４０からのラベル付きデータを受け取って誤差計算を行い、さらに、学習モデル更新部２４は、学習モデルの更新を行う。ここで、結果提供部４０は、例えば、モータ駆動装置１０００による処理が同一の場合には、例えば、モータ駆動装置１０００を駆動させる所定日の前日までに得られたラベル付きデータを保持し、その所定日に、結果提供部４０に保持されたラベル付きデータを誤差計算部２３に提供することができる。
【０１１１】
あるいは、モータ駆動装置１０００の外部で行われたシミュレーション等により得られたデータ、または、他のモータ駆動装置のラベル付きデータを、メモリカードや通信回線により、そのモータ駆動装置１０００の誤差計算部２３に提供することも可能である。さらに、結果提供部４０をフラッシュメモリ（Ｆｌａｓｈ Ｍｅｍｏｒｙ）等の不揮発性メモリで構成し、結果提供部（不揮発性メモリ）４０を学習部１５に内蔵し、その結果提供部４０に保持されたラベル付きデータを、そのまま学習部１５で使用することもできる。
【０１１２】
図１０に示すモータ駆動装置１０００に備わる機械学習装置１の動作は、パワー素子の予測寿命を取得するために、例えば、誤差計算部２３が、結果提供部４０から入力された結果により、状態変数に基づいて誤差を計算し、学習モデル更新部２４における学習モデルを更新する。
【０１１３】
なお、本発明における機械学習装置１としては、上述した強化学習（例えば、Ｑ学習）または教師あり学習を適用したものに限定されず、様々な機械学習のアルゴリズムを適用することが可能である。
【０１１４】
なお、上述した状態観測部１１、学習部１２、１５、および意思決定部１３、１６は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。例えばこれらをソフトウェアプログラム形式で構築する場合は、モータ駆動装置１０００内にある演算処理装置をこのソフトウェアプログラムに従って動作させたり、クラウドサーバ上においてこのソフトウェアプログラムを動作させることで、上述の各部の機能を実現することができる。またあるいは、状態観測部１１および学習部１２、１５を備える機械学習装置１を、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。またあるいは、状態観測部１１および学習部１２、１５を備える機械学習装置１のみならず意思決定部１３、１６も含めた形で、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路を実現してもよい。
【０１１５】
また、機械学習処理１は、モータ駆動装置１０００が交流モータ２の駆動制御のために本来的に備えるセンサにより検出されるデータを用いて実行されるので、新たなハードウェア装置を別途設ける必要がないことから、既存のモータ駆動装置にも後付けで適用することも可能である。この場合、機械学習装置１や意思決定部１３、１６の各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路を当該既存のモータ駆動装置に組み込んだり、機械学習装置１や意思決定部１３、１６の各部の機能を実現するソフトウェアプログラムそのものを当該既存のモータ駆動装置内の演算処理装置に追加的にインストールすればよい。また、あるモータ駆動装置内のパワー素子に関して予測寿命を学習した機械学習装置１を、これとは別のモータ駆動装置に取り付け、当該別のモータ駆動装置内のパワー素子に関して予測寿命を再学習して更新するようにしてもよい。
【符号の説明】
【０１１６】
１    機械学習装置
１１    状態観測部
１２、１５    学習部
１３、１６    意思決定部
１４    通知部
２１    報酬計算部
２２    関数更新部
２３    誤差計算部
２４    学習モデル更新部
３１    電力供給部
３２    スイッチング回数取得部
３３    故障判定部
３４    温度算出部
３４−１    チップ温度算出部
３４−２    放熱器温度算出部
４０    結果（ラベル）提供部
５０    モータ制御部
１００    寿命予測装置
１０００    モータ駆動装置
【要約】      （修正有）【課題】パワー素子の予測寿命を正確かつ容易に予測できる機械学習装置及び方法並びに機械学習装置を備えた寿命予測装置及びモータ駆動装置を提供する。【解決手段】パワー素子のスイッチング動作により直流電力を交流電力に変換して交流モータに供給するモータ駆動装置の、パワー素子の予測寿命を学習する機械学習装置１は、パワー素子のスイッチング回数に関するデータと、パワー素子のジャンクション温度に関するデータと、パワー素子の故障の有無に関するデータと、から構成される状態変数を観測する状態観測部１１と、状態変数に基づいて作成される訓練データセットに従って、パワー素子の予測寿命を学習する学習部１２とを備える。【選択図】図１【図１】
0006010204.tif 000004
【図２】
0006010204.tif 000005
【図３】
0006010204.tif 000006
【図４】
0006010204.tif 000007
【図５】
0006010204.tif 000008
【図６】
0006010204.tif 000009
【図７】
0006010204.tif 000010
【図８】
0006010204.tif 000011
【図９】
0006010204.tif 000012
【図１０】
0006010204.tif 000013