(57)【特許請求の範囲】
【請求項１】
モータを駆動するモータ駆動装置のアラーム要因を学習する機械学習装置であって、
前記モータ駆動装置から取得した、前記モータから検出された電流検出値、前記モータの回転速度を指定した速度指令値、前記モータに出力された出力電圧値、前記モータの推定された回転速度を示す速度推定値、および前記モータの検出された回転速度を示す速度検出値の少なくとも１つを含んだ特徴量を状態変数として取得し、前記特徴量に対応するアラーム要因をラベルデータとして取得する状態観測部と、
前記状態変数および前記ラベルデータの組合せに基づいて作成されるデータセットから新たな特徴量に対応する新たなアラーム要因を推定するための学習モデルを生成する学習部と、
新たな特徴量を取得すると、前記新たな特徴量に前記学習モデルを適用して、前記新たな特徴量に対応する新たなアラーム要因を推定するアラーム推定部と、
前記アラーム推定部が推定したアラーム要因を、前記モータ駆動装置に設定されるパラメータ設定値、前記モータ駆動装置の駆動状況、および前記モータ駆動装置から出力される電力を増幅するアンプの内部データの少なくとも１つを含んだ設計内データに基づいて補正する補正部と、
を備え、
前記設計内データには、前記パラメータ設定値のうち異常運転の前に変更されたパラメータ設定値を示す変更情報が含まれており、
前記補正部は、前記アラーム推定部が推定したアラーム要因を、前記変更情報に基づいて補正する、
ことを特徴とする機械学習装置。
【請求項２】
前記補正部による補正結果に基づいて、前記学習モデルを更新するモデル更新部を、
さらに備えることを特徴とする請求項１に記載の機械学習装置。
【請求項３】
前記状態観測部は、前記モータの制御方式に対応する特徴量を取得する、
ことを特徴とする請求項１または２に記載の機械学習装置。
【請求項４】
前記状態観測部は、
前記モータの制御方式がベクトル制御またはセンサレスベクトル制御である場合、前記速度検出値、前記速度推定値、および前記速度指令値の少なくとも１つを含む特徴量を取得し、
前記モータの制御方式が前記ベクトル制御および前記センサレスベクトル制御の何れでもない場合、前記出力電圧値および前記電流検出値の少なくとも１つを含む特徴量を取得する、
ことを特徴とする請求項３に記載の機械学習装置。
【請求項５】
前記学習部は、
前記変更情報のパラメータ設定値に対応するアラーム要因の重みを増加させて前記学習モデルを生成または更新する、
ことを特徴とする請求項１に記載の機械学習装置。
【請求項６】
前記学習部は、前記アラーム要因となった異常の発生後、前記パラメータ設定値の変更によって異常が解消された場合に、前記学習モデルを生成または更新する、
ことを特徴とする請求項５に記載の機械学習装置。
【請求項７】
モータを駆動するモータ駆動装置のアラーム要因を学習する機械学習方法であって、
前記モータ駆動装置から取得した、前記モータから検出された電流検出値、前記モータの回転速度を指定した速度指令値、前記モータに出力された出力電圧値、前記モータの推定された回転速度を示す速度推定値、および前記モータの検出された回転速度を示す速度検出値の少なくとも１つを含んだ特徴量を状態変数として取得し、前記特徴量に対応するアラーム要因をラベルデータとして取得する状態観測ステップと、
前記状態変数および前記ラベルデータの組合せに基づいて作成されるデータセットから新たな特徴量に対応する新たなアラーム要因を推定するための学習モデルを生成する学習ステップと、
新たな特徴量を取得すると、前記新たな特徴量に前記学習モデルを適用して、前記新たな特徴量に対応する新たなアラーム要因を推定するアラーム推定ステップと、
前記アラーム推定ステップで推定したアラーム要因を、前記モータ駆動装置に設定されるパラメータ設定値、前記モータ駆動装置の駆動状況、および前記モータ駆動装置から出力される電力を増幅するアンプの内部データの少なくとも１つを含んだ設計内データに基づいて補正する補正ステップと、
を含み、
前記設計内データには、前記パラメータ設定値のうち異常運転の前に変更されたパラメータ設定値を示す変更情報が含まれており、
前記補正ステップでは、前記アラーム推定ステップで推定したアラーム要因を、前記変更情報に基づいて補正する、
ことを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、モータを駆動するモータ駆動装置のアラーム要因を学習する機械学習装置および機械学習方法に関する。
【背景技術】
【０００２】
モータを駆動するモータ駆動装置が、アラーム状態となった場合には、アラーム要因が特定されたうえで、モータ駆動装置のパラメータの変更、モータ駆動装置を備えたシステムの調整などが行われる。【０００３】
特許文献１に記載の故障診断装置は、モータ駆動装置の故障時点のデータなどを状態変数として観測し、モータ駆動装置に対して修理された部品を示す修理部品データなどをラベルデータとして取得し、状態変数とラベルデータとの関連付けを学習している。この故障診断装置は、学習結果を用いて、モータ駆動装置の何れの箇所が故障しているかを推定している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１９−１４４１７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の技術では、部品が故障した場合の故障箇所を学習するので、部品が故障するような場合における故障要因を推定することはできるが、部品等の物理的な故障ではなく、使い方の問題によって発生するアラーム要因を推定することはできなかった。【０００６】
本開示は、上記に鑑みてなされたものであって、使い方の問題によって発生するアラーム要因を推定するための学習モデルを生成することができる機械学習装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本開示は、モータを駆動するモータ駆動装置のアラーム要因を学習する機械学習装置が、状態観測部と、学習部と、アラーム推定部と、補正部とを備える。状態観測部は、モータ駆動装置から取得した特徴量を状態変数として取得し、特徴量に対応するアラーム要因をラベルデータとして取得する。特徴量は、モータから検出された電流検出値、モータの回転速度を指定した速度指令値、モータに出力された出力電圧値、モータの推定された回転速度を示す速度推定値、およびモータの検出された回転速度を示す速度検出値の少なくとも１つを含んでいる。学習部は、状態変数およびラベルデータの組合せに基づいて作成されるデータセットから新たな特徴量に対応する新たなアラーム要因を推定するための学習モデルを生成する。アラーム推定部は、新たな特徴量を取得すると、新たな特徴量に学習モデルを適用して、新たな特徴量に対応する新たなアラーム要因を推定する。補正部は、アラーム推定部が推定したアラーム要因を、モータ駆動装置に設定されるパラメータ設定値、モータ駆動装置の駆動状況、およびモータ駆動装置から出力される電力を増幅するアンプの内部データの少なくとも１つを含んだ設計内データに基づいて補正する。設計内データには、パラメータ設定値のうち異常運転の前に変更されたパラメータ設定値を示す変更情報が含まれており、補正部は、アラーム推定部が推定したアラーム要因を、変更情報に基づいて補正する。
【発明の効果】
【０００８】
本開示にかかる機械学習装置は、使い方の問題によって発生するアラーム要因を推定するための学習モデルを生成することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態にかかる機械学習装置による学習段階の処理を説明するための図
【図２】実施の形態にかかる機械学習装置による推定段階の処理を説明するための図
【図３】実施の形態にかかる機械学習装置が用いる決定木の概略構成例を示す図
【図４】実施の形態にかかる機械学習装置が用いる勾配ブースティングを説明するための図
【図５】実施の形態にかかる機械学習装置が用いるランダムフォレストを説明するための図
【図６】実施の形態にかかる機械学習装置の構成を示す図
【図７】実施の形態にかかる機械学習装置が用いるアラーム要因の例を説明するための図
【図８】実施の形態にかかる機械学習装置によるアラーム要因の推定の処理手順を説明するためのフローチャート
【図９】実施の形態にかかる機械学習装置を実現するハードウェア構成例を示す図
【発明を実施するための形態】
【００１０】
以下に、本開示の実施の形態にかかる機械学習装置および機械学習方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの開示が限定されるものではない。
【００１１】
実施の形態．
図１は、実施の形態にかかる機械学習装置による学習段階の処理を説明するための図である。図２は、実施の形態にかかる機械学習装置による推定段階の処理を説明するための図である。
【００１２】
機械学習装置１は、モータを駆動するモータ駆動装置の状態を学習する。機械学習装置１は、人工知能（ＡＩ:Artificial  Intelligence）技術によって、モータ駆動装置が発生させるアラームの発生要因（以下、アラーム要因という）を推定し、アラーム要因、アラーム要因を解消するパラメータなどを作業者に通知するコンピュータである。
【００１３】
図１に示すように、機械学習装置１は、学習段階では、アラームを発生させたモータ駆動装置の状態を示す情報を取得する。アラームを発生させたモータ駆動装置の状態を示す情報は、アラーム要因３２Ａおよび駆動データ特徴量３１Ａである。
【００１４】
駆動データ特徴量３１Ａは、学習段階のアラーム発生時にモータ駆動装置が取得した物理量から、モータ駆動装置が抽出した特徴量である。アラーム要因３２Ａは、学習段階のアラーム要因であり、駆動データ特徴量３１Ａに対応している。アラーム要因３２Ａは、作業者などによって設定される。
【００１５】
機械学習装置１は、モータ駆動装置の状態として、アラーム要因３２Ａと駆動データ特徴量３１Ａとの関係を示す学習モデルを学習する。換言すると、機械学習装置１は、駆動データ特徴量３１Ａに対応するアラーム要因３２Ａを学習する。
【００１６】
図２に示すように、機械学習装置１は、推定段階では、学習モデルを用いて、アラームを発生させたモータ駆動装置の状態を示す駆動データ特徴量３１Ｂから、アラームを発生させたモータ駆動装置の状態を示すアラーム要因３２Ｂを推定する。また、機械学習装置１は、推定段階において、設計内データ３３を取得する。
【００１７】
駆動データ特徴量３１Ｂは、学習段階のアラーム発生時にモータ駆動装置が取得した物理量から、モータ駆動装置が抽出した特徴量である。アラーム要因３２Ｂは、推定段階のアラーム要因であり、駆動データ特徴量３１Ｂに対応している。アラーム要因３２Ｂは、学習モデルに駆動データ特徴量３１Ｂを適用することによって導出される。
【００１８】
なお、以下の説明では、駆動データ特徴量３１Ａ，３１Ｂを区別する必要が無い場合には、駆動データ特徴量３１Ａ，３１Ｂの少なくとも一方を特徴量または駆動データ特徴量という場合がある。また、アラーム要因３２Ａ，３２Ｂを区別する必要が無い場合には、アラーム要因３２Ａ，３２Ｂの少なくとも一方をアラーム要因という場合がある。
【００１９】
駆動データ特徴量３１Ａ，３１Ｂは、例えば、アラーム発生時にモータ駆動装置によって取得される。モータ駆動装置が取得する物理量には、電流検出値、速度指令値、出力電圧値、および速度推定値の少なくとも１つが含まれている。なお、モータ駆動装置は、速度推定値の代わりに、または速度推定値とともに速度検出値を取得してもよい。駆動データ特徴量３１Ａ，３１Ｂは、電流検出値の特徴量、速度指令値の特徴量、出力電圧値の特徴量、速度推定値の特徴量、および速度検出値の特徴量の少なくとも１つが含まれている。
【００２０】
各物理量の特徴量は、各物理量の最大値、最小値、ピーク値、平均値などである。モータ駆動装置が取得する物理量は、例えば波形データで示されている。
【００２１】
電流検出値は、モータを駆動する際にモータから検出された電流値であり、速度指令値は、モータの回転速度を指定した指令値である。出力電圧値は、モータを駆動する際にモータに出力された電圧値であり、速度推定値は、モータを駆動する際に推定されたモータの回転速度である。速度推定値は、種々の指令値、検出値などに基づいて推定される。速度検出値は、モータを駆動する際に検出されたモータの回転速度である。
【００２２】
設計内データ３３は、モータ駆動装置に設定されるパラメータ設定値、モータ駆動装置の駆動状況、およびモータ駆動装置から出力される電力を増幅するアンプの内部データの少なくとも１つを含んでいる。パラメータ設定値の例は、モータトルクのブースト設定値である。駆動状況の例は、モータの制御周期である。アンプの内部データの例は、スイッチングアームのアーム数である。
【００２３】
アラームには、過電流、過電圧、過速度、モータサーマル、インバータサーマル等がある。過電流は、モータに流れる電流が許容電流を超えることであり、過電圧は、アンプに印加される電圧が許容電圧を超えることである。過速度は、モータの回転速度が許容速度を超えることである。モータサーマルは、モータの温度が許容温度を超えることであり、インバータサーマルは、モータに電圧を与えるインバータ回路が許容温度を超えることである。
【００２４】
ここで、機械学習装置１が実行する機械学習について説明する。機械学習装置１は、機械学習装置１に入力されるデータの集合から、集合の中にある有用な規則、知識表現、判断基準などを解析によって抽出し、抽出結果を出力するとともに、知識の学習を行うことで機械学習を実現する。機械学習の方法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。
【００２５】
本実施の形態の機械学習装置１は、「教師あり学習」のアルゴリズムを採用する。機械学習装置１は、「教師あり学習」を実行する際に、ある入力と結果（後述するラベルデータ）とのデータセットを大量に取得し、これらのデータセットにある特徴を学習する。さらに、機械学習装置１は、入力から結果を推定するモデル（以下、学習モデルという）、すなわち、入力と結果との関係性を獲得する。機械学習装置１は、入力から結果を推定する学習モデルを、後述の高度勾配ブースティングなどのアルゴリズムを用いて実現する。
【００２６】
機械学習装置１は、明示されるデータに基づく学習が可能であり、学習結果に基づいてモータ駆動装置のアラーム要因を判定することができる教師あり学習を実行することで、特徴量とアラーム要因との相関性を学習する。
【００２７】
教師あり学習を行う機械学習装置１による処理は、学習段階と推定段階との２つの段階に分けることができる。機械学習装置１は、学習段階において、入力データとして用いられる状態変数の値と、出力データとして用いられる目的変数の値と、を含む教師データに基づいて、特徴量とアラーム要因との相関性を学習する。機械学習装置１は、教師データが与えられると、状態変数の値が入力されたときに、学習した相関性に基づいて目的変数の値を出力することを学習する。機械学習装置１は、教師データを大量に与えることにより、状態変数の値に対する目的変数の値を出力するための推定モデル、すなわち学習モデルを構築する。
【００２８】
状態変数は、駆動データ特徴量３１Ａまたは駆動データ特徴量３１Ｂであり、目的変数は、アラーム要因３２Ａまたはアラーム要因３２Ｂである。状態変数が駆動データ特徴量３１Ａである場合、目的変数はアラーム要因３２Ａであり、状態変数が駆動データ特徴量３１Ｂである場合、目的変数はアラーム要因３２Ｂである。
【００２９】
状態変数の例は、電流検出値の特徴量、速度指令値の特徴量などである。目的変数の値は、例えば、「モータの加速時間が負荷に対して短く設定された」ことを示す値である。
【００３０】
このように、学習段階の機械学習装置１は、教師データ（特徴量とアラーム要因との組）である状態変数が与えられると、特徴量とアラーム要因との相関性を表現する学習モデルを学習する。
【００３１】
推定段階の機械学習装置１は、新たに状態変数の値が入力されると、学習モデルを用いて、新たな状態変数に対応する目的変数の値を出力する。具体的には、図２に示すように、機械学習装置１は、新たな状態変数の値である新たな駆動データ特徴量３１Ｂを受け付ける（ｓｔ１）。そして、機械学習装置１は、新たな状態変数の値である新たな駆動データ特徴量３１Ｂと、学習済みの学習モデルとに基づいて、新たな目的変数の値である新たなアラーム要因３２Ｂを推定し（ｓｔ２）、表示装置（図示せず）などに出力する。
【００３２】
なお、特徴量には、正常時にモータ駆動装置が抽出した特徴量が含まれていてもよい。この場合において、正常時の特徴量に対応するアラーム要因は無いものとする。
【００３３】
また、機械学習装置１は、学習モデルの補正部である独自推論部１４を備えている。独自推論部１４は、教師あり学習によって得られた推定結果であるアラーム要因３２Ｂを学習モデルから受け付ける（ｓｔ３）。また、独自推論部１４は、モータ駆動装置のアラーム時の取得データである設計内データ３３を、モータ駆動装置などから受け付ける（ｓｔ４）。
【００３４】
独自推論部１４は、学習モデルから受け付けたアラーム要因３２Ｂと、モータ駆動装置から受け付けた設計内データ３３と、に基づいて、推定結果であるアラーム要因３２Ｂに補正を行うことで、機械学習による推定結果を高精度なものとする。具体的には、独自推論部１４は、アラーム要因３２Ｂと設計内データ３３とに基づいて、アラーム要因３２Ｂを補正し、補正後のアラーム要因であるアラーム要因３２Ｃを出力する（ｓｔ５）。
【００３５】
独自推論部１４が、推定結果であるアラーム要因３２Ｂを補正することによって、機械学習装置１は、状態変数に特徴が表れにくいアラーム要因についても、高精度に推定することが可能となる。状態変数に特徴が表れにくいアラーム要因３２Ｂの例は、パラメータ設定値の誤設定等である。
【００３６】
なお、設計内データ３３には、パラメータ設定値のうち、異常運転の前に変更されたパラメータ設定値を示す変更情報が含まれていてもよい。この場合、独自推論部１４は、学習モデルが推定したアラーム要因を、変更情報に基づいて補正する。
【００３７】
これにより、アラーム要因が、作業者による誤ったパラメータ設定値の設定である場合に、機械学習装置１は、アラーム要因を容易に特定することが可能となる。アラーム要因がパラメータ設定値の誤設定であっても、設計内データ３３に変更情報が含まれていれば、独自推論部１４は、何れのパラメータ設定値が異常運転の前に変更されたかを把握できるので、誤設定に対するアラーム要因の特定精度を高めることができる。
【００３８】
また、機械学習装置１は、変更情報のパラメータ設定値に対応するアラーム要因の重みを増加させたうえで学習モデルを生成または更新してもよい。また、機械学習装置１は、異常の発生後、パラメータ設定値の変更によって異常が解消された場合に、学習モデルを生成または更新してもよい。
【００３９】
また、機械学習装置１は、独自推論部１４が補正した推定結果の値を誤差変数として記憶しておき、この誤差変数に基づいて、学習モデルを補正してもよい。この場合、機械学習装置１は、独自推論部１４によって補正された後の推定結果と同様の推定結果を学習モデルが算出できるよう、学習モデルを補正する。換言すると、機械学習装置１は、独自推論部１４による補正が無い場合でも、独自推論部１４が補正を行う場合と同様の推定結果を学習モデルが算出できるよう、学習モデルを補正する。
【００４０】
機械学習装置１は、決定木の木構造を用いた分類によって、状態変数から目的変数を得る。図３は、実施の形態にかかる機械学習装置が用いる決定木の概略構成例を示す図である。機械学習装置１は、決定木４０Ａの木構造の深さを調整することによって学習結果を調整する。決定木４０Ａは、回帰木であり、入力された特徴量を、どのように条件分岐していけば、正解であるラベルデータに辿り着くかを示している。
【００４１】
決定木４０Ａでは、状態変数である入力データ４１に対し、第１層目の条件分岐でｘ１＞０であるか否かが判定される。第１層目において、入力データ４１が、ｘ１＞０であれば、第２層目の条件分岐でｘ２＞０であるか否かが判定され、入力データ４１が、ｘ１≦０であれば、第２層目の条件分岐でｘ３＞０であるか否かが判定される。
【００４２】
第２層目において、入力データ４１が、ｘ２＞０であれば、入力データ４１は、データｙ１に回帰し、入力データ４１が、ｘ２≦０であれば、入力データ４１は、データｙ２に回帰する。
【００４３】
第２層目において、入力データ４１が、ｘ３＞０であれば、入力データ４１は、データｙ３に回帰し、入力データ４１が、ｘ３≦０であれば、入力データ４１は、データｙ４に回帰する。
【００４４】
この場合において、例えば、データｙ２が出力データ４５であるとする。すなわち、データｙ２が、目的変数（ラベルデータ）であるとする。機械学習装置１は、状態変数を、データｙ２に回帰することができる決定木４０Ａを設定することで、学習モデルを生成する。
【００４５】
また、機械学習装置１は、教師あり学習に決定木を用いる方法の応用として、高度勾配ブースティング（XGBoost：eXtreme  Gradient  Boosting）という方法を用いてもよい。高度勾配ブースティングとは、勾配ブースティング（Gradient  Boosting）とランダムフォレスト（Random  Forests）とを組み合わせたアンサンブル学習である。
【００４６】
図４は、実施の形態にかかる機械学習装置が用いる勾配ブースティングを説明するための図である。勾配ブースティングは、弱学習器（層の浅い決定木等）の推定結果と、正解情報との誤差が最小になるように学習する手法である。決定木４０Ａといった弱学習器のみでは、決定木４０Ａによる推定結果である出力データ４５と、実際の正解情報（ラベルデータ）との間に誤差が発生する。
【００４７】
機械学習装置１は、勾配ブースティングを用いる場合、この時の誤差を目的変数として学習し、弱学習器を補正することで精度を向上させる。機械学習装置１は、例えば、決定木４０Ａを決定木４０Ｂに補正することで、出力データ４５と実際の正解情報との間の誤差を小さくする。
【００４８】
機械学習装置１は、例えば、決定木４０Ａにおける第１層目の条件分岐であるｘ１＞０をｘ４＞０に補正し、第２層目の条件分岐であるｘ２＞０をｘ５＞０に補正した決定木４０Ｂを設定することで、決定木４０Ａから決定木４０Ｂを生成する。この後、機械学習装置１は、決定木４０Ｂにおける第１層目の条件分岐であるｘ４＞０を別の分岐条件に補正し、第２層目の条件分岐であるｘ５＞０を別の分岐条件に補正した新たな決定木を生成する。
【００４９】
機械学習装置１は、出力データ４５と、実際の正解情報との間の誤差が小さくなるよう、分岐条件を補正した新たな決定木を生成する処理を繰り返す。これにより、機械学習装置１は、出力データ４５と、実際の正解情報との差が小さくなった決定木を得ることができる。
【００５０】
生成した決定木から出力される出力データ４５と、実際の正解情報との間の誤差が限りなく最小となるように、誤差の学習を複数回行い弱学習器の精度を向上させる手法が勾配ブースティングであり、決定木に関する勾配ブースティングは、勾配ブースティングツリー（Gradient  Tree  Boosting）と呼ばれる。
【００５１】
図５は、実施の形態にかかる機械学習装置が用いるランダムフォレストを説明するための図である。機械学習装置１は、ランダムフォレストを用いる場合、上述の決定木を複数個用い、多数決を取ることで、推定結果の精度向上を図る。図５では、機械学習装置１が決定木５１〜５４の４つを用いる場合について説明する。決定木５１〜５４は、決定木４０Ａと同様の決定木である。
【００５２】
機械学習装置１は、ランダムフォレストを用いる場合、入力データ４１をランダムに取得し、決定木を作成するという動作を複数回行うことで、決定木５１〜５４を作成する。これにより、機械学習装置１は、決定木５１〜５４を用いることで、様々なパターンの分類方法を選択できるので、単一の決定木で分類を行うよりも推定結果が高精度になる。機械学習装置１は、入力データ４１に決定木５１〜５４を適用し、決定木５１〜５４における多数決の結果を、出力データ４５として出力する。
【００５３】
なお、機械学習装置１は、教師あり学習のアルゴリズムとして、最小二乗法、ステップワイズ法、ＳＶＭ（サポートベクターマシーン：Support  Vector  Machine）、ニューラルネットワーク等の何れの教師あり学習アルゴリズムを用いてもよい。これらの他の教師あり学習、上述した決定木を用いる学習等、各教師あり学習アルゴリズムは周知なので、これらの各アルゴリズムの詳細な説明は省略する。
【００５４】
ここで、機械学習装置１の具体的な構成と、アラーム要因の推定処理手順について説明する。図６は、実施の形態にかかる機械学習装置の構成を示す図である。機械学習装置１は、モータ駆動装置２およびアラーム管理装置６に接続されている。機械学習装置１は、モータ駆動装置２から駆動データ特徴量を取得し、アラーム管理装置６からアラーム要因等の情報を取得する。
【００５５】
機械学習装置１は、例えば、モータ駆動装置２に接続されたコンピュータ等の情報処理装置として実装される。機械学習装置１は、状態観測部１０と、学習部１１と、学習結果記憶部１２と、アラーム推定部１３と、独自推論部１４と、モデル更新部１５と、推定結果出力部１６とを有する。
【００５６】
モータ駆動装置２は、図示しないモータを駆動する装置である。モータ駆動装置２は、データ取得部２１と、特徴量抽出部２２と、不揮発性メモリ２３とを備えている。アラーム管理装置６は、作業者によって入力されるアラーム要因を受け付ける装置である。アラーム管理装置６は、入力部６１と、記憶部６２と、出力部６３とを備えている。
【００５７】
モータ駆動装置２のデータ取得部２１は、電流検出値、速度指令値、出力電圧値、速度推定値等の物理量（物理量を示すデータ）をアンプなどから取得し、特徴量抽出部２２に送る。データ取得部２１は、アラーム発生時の物理量とともに、アラーム発生日時と、アラームの名称と、アラーム内容とを取得する。また、データ取得部２１は、設計内データを、モータ駆動装置２内から取得し、不揮発性メモリ２３に格納する。
【００５８】
特徴量抽出部２２は、データ取得部２１が取得した物理量から駆動データ特徴量を抽出する。特徴量抽出部２２は、一般的な統計的な手法を用いて駆動データ特徴量を数値化してもよいし、畳み込みで次元を落とすことによって駆動データ特徴量を抽出してもよい。
【００５９】
不揮発性メモリ２３は、特徴量抽出部２２が抽出した駆動データ特徴量を記憶する。具体的には、不揮発性メモリ２３は、駆動データ特徴量と、アラーム発生日時と、アラームの名称と、アラーム内容と、が対応付けされた特徴情報を記憶する。また、不揮発性メモリ２３は、設計内データと、アラーム発生日時と、アラームの名称と、アラーム内容と、が対応付けされた設計内情報を記憶する。
【００６０】
不揮発性メモリ２３は、駆動データ特徴量を含んだ特徴情報を機械学習装置１およびアラーム管理装置６に出力する機能を有している。また、不揮発性メモリ２３は、設計内データを含んだ設計内情報を機械学習装置１に出力する機能を有している。なお、不揮発性メモリ２３は、モータ駆動装置２の外部に配置されたクラウドサーバであってもよい。
【００６１】
アラーム管理装置６の入力部６１は、不揮発性メモリ２３から駆動データ特徴量を含んだ特徴情報を読み出す。なお、駆動データ特徴量は、不揮発性メモリ２３が入力部６１に送信してもよい。
【００６２】
また、アラーム管理装置６の入力部６１は、作業者によって入力される、アラーム要因およびアラーム要因解消パラメータを受け付ける。アラーム要因解消パラメータは、アラームを解消させる要因のパラメータである。換言すると、アラーム要因解消パラメータは、アラームを解消するために、作業者が実行すべき措置である。
【００６３】
作業者は、アラーム管理装置６が記憶している特徴情報を参照しながら、アラーム要因およびアラーム要因解消パラメータを入力部６１に入力する。入力部６１は、アラーム要因と、アラーム要因解消パラメータと、アラームを識別する情報とが対応付けされたアラーム情報を記憶部６２に記憶させる。アラームを識別する情報であるアラーム識別情報の例は、特徴情報に含まれるアラーム発生日時である。
【００６４】
記憶部６２は、アラーム情報を記憶するメモリなどである。出力部６３は、記憶部６２が記憶しているアラーム情報を、状態観測部１０に送る。なお、機械学習装置１が、記憶部６２からアラーム情報を読み出してもよい。
【００６５】
状態観測部１０は、不揮発性メモリ２３から駆動データ特徴量を含んだ特徴情報を読み出すことで、駆動データ特徴量を状態変数として観測する。なお、不揮発性メモリ２３が、特徴情報を状態観測部１０に送信してもよい。
【００６６】
また、状態観測部１０は、アラーム管理装置６から駆動データ特徴量に対応するアラーム情報を読み出す。このとき、状態観測部１０は、特徴情報に含まれるアラーム識別情報に対応するアラーム情報を、アラーム管理装置６から読み出す。これにより、状態観測部１０は、アラーム情報に含まれるアラーム要因を目的変数として観測する。状態観測部１０は、アラーム識別情報に基づいて、駆動データ特徴量とアラーム要因とを対応付ける。状態観測部１０は、駆動データ特徴量とアラーム要因とのデータセットを教師データとして学習部１１に送る。
【００６７】
状態観測部１０は、モータの制御方式毎に、取得する駆動データ特徴量を変えてもよい。すなわち、状態観測部１０は、モータの制御方式に対応する駆動データ特徴量を取得してもよい。モータの制御方式には、ベクトル制御、センサレスベクトル制御、Ｖ／ｆ（Voltage／frequency）（電圧／周波数）制御、ＡＤ（アドバンスト（Advanced）磁束ベクトル）磁束制御などがある。Ｖ／ｆ制御は、周波数に対応した電圧を出力する制御である。
【００６８】
状態観測部１０は、モータの制御方式がベクトル制御またはセンサレスベクトル制御である場合、速度検出値、速度推定値、および速度指令値の少なくとも１つを含む駆動データ特徴量を取得する。また、状態観測部１０は、モータの制御方式がベクトル制御およびセンサレスベクトル制御の何れでもない場合、出力電圧値および電流検出値の少なくとも１つを含む駆動データ特徴量を取得する。
【００６９】
学習部１１は、教師あり学習を実行する。学習部１１は、機械学習装置１が学習段階に設定されている場合に、教師あり学習を行い、学習結果である学習モデルを学習結果記憶部１２に記憶させる。本実施の形態の学習部１１は、状態変数である駆動データ特徴量、および目的変数であるアラーム要因を入力として教師あり学習を実行する。
【００７０】
学習部１１は、モータ駆動装置２にアラームが発生した際に取得した物理量から抽出された駆動データ特徴量を用いてアラーム要因を学習する。駆動データ特徴量は、不揮発性メモリ２３が記憶しておくので、学習部１１は、過去の駆動データ特徴量を用いてアラーム要因を学習してもよい。この場合、学習部１１は、過去の駆動データ特徴量に対応する過去のアラーム要因を用いてアラーム要因を学習する。
【００７１】
図７は、実施の形態にかかる機械学習装置が用いるアラーム要因の例を説明するための図である。図７では、アラーム発生日時と、発生アラームと、アラーム内容と、アラーム要因と、アラーム要因解消パラメータとが対応付けされた対応関係情報を示している。
【００７２】
アラーム発生日時は、アラームが発生した日時であり、発生アラームは、アラームの名称であり、アラーム内容は、アラームの内容である。
【００７３】
アラーム内容の例は、モータを加速させる際の過電流（加速時の過電流）である。アラーム要因の例は、モータの加速時間が負荷に対して短く設定されたことである。アラーム要因解消パラメータの例は、モータの加速時間である。例えば、モータの加速時間が負荷に対して短く設定されたことでモータを加速させる際に過電流が発生した場合、モータの加速時間を長くすることで、アラームを解消することができる。
【００７４】
モータ駆動装置２にアラームが発生した際、アラームに対して対応を行った作業者は、アラーム要因、アラーム要因解消パラメータを、アラーム管理装置６の入力部６１に入力する。なお、アラーム管理装置６は、機械学習装置１内またはモータ駆動装置２内に配置されていてもよい。作業者による、アラーム要因、アラーム要因解消パラメータなどのアラーム管理装置６への入力は、アラーム対応時に行なわれてもよいし、アラーム解析時などに事後入力されてもよい。対応関係情報は、状態観測部１０が作成してもよいし、学習部１１が作成してもよい。
【００７５】
学習部１１は、アラーム要因と、このアラーム要因に対応するアラームが発生した際に取得された物理量から生成された駆動データ特徴量と、を１つの組として学習モデルに入力する。より具体的には、学習部１１は、アラーム要因のアラーム発生をトリガとして取得された特定期間の物理量から抽出された駆動データ特徴量と、アラーム要因と、を１つの組として学習モデルに入力する。
【００７６】
このように、学習部１１は、駆動データ特徴量およびアラーム要因を入力する場合、教師あり学習方法を採用することができる。この場合、学習部１１は、高度勾配ブースティングを用いて、駆動データ特徴量に対するアラーム要因を推定する。学習部１１は、学習結果である学習モデルを学習結果記憶部１２に記憶させる。
【００７７】
学習結果記憶部１２は、学習部１１が教師データに基づいて学習した結果（学習モデル）を記憶するメモリなどである。学習結果記憶部１２が記憶している学習結果は、機械学習装置１以外の外部装置に実装されてもよいし、外部装置に送信されてもよい。外部装置が、学習部１１による学習結果に駆動データ特徴量を入力することで、外部装置は、アラーム要因を推定することが可能となる。学習結果記憶部１２は、図７に示した対応関係情報を記憶しておいてもよい。
【００７８】
アラーム推定部１３は、推定段階において、学習結果記憶部１２に記憶される学習結果に基づいて、駆動データ特徴量からアラーム要因を推定する。この場合において、アラーム推定部１３は、モータ駆動装置２から駆動データ特徴量を取得する。この駆動データ特徴量は、アラーム推定部１３が不揮発性メモリ２３から読み出してもよいし、不揮発性メモリ２３がアラーム推定部１３に送信してもよい。アラーム推定部１３は、推定したアラーム要因を独自推論部１４に出力する。
【００７９】
独自推論部１４へは、アラーム推定部１３が推定したアラーム要因と、不揮発性メモリ２３に保存された設計内情報とが入力される。独自推論部１４は、アラーム推定部１３で推定されたアラーム要因と、アラーム時のデータである設計内データとに基づいて、推定されたアラーム要因を補正する必要があるか否かを判定する。アラーム要因を補正する必要がある場合、独自推論部１４は、推定されたアラーム要因とアラーム時のデータである設計内データとに基づいて、推定されたアラーム要因を補正する。独自推論部１４は、補正したアラーム要因をモデル更新部１５に送る。
【００８０】
モデル更新部１５は、独自推論部１４によって補正されたアラーム要因の補正箇所を、推定の誤差として記憶する。モデル更新部１５は、推定の誤差を学習部１１にフィードバックし、学習部１１に学習モデルの更新を行わせる。
【００８１】
推定結果出力部１６は、独自推論部１４によって補正済みのアラーム要因（推定結果）を独自推論部１４から取得すると、取得したアラーム要因に対応するアラーム要因解消パラメータを、学習結果記憶部１２の対応関係情報から取得する。
【００８２】
推定結果出力部１６は、補正済みのアラーム要因と、アラーム要因解消パラメータとを表示装置等に出力する。これにより、アラーム要因およびアラーム要因解消パラメータが表示装置等に表示される。作業者は、表示されたアラーム要因解消パラメータを、モータ駆動装置２などに設定することにより、アラームを解消することができる。
【００８３】
状態観測部１０が取得するアラーム要因が、第１のアラーム要因であり、図１で説明したアラーム要因３２Ａに対応している。学習部１１が生成する学習モデルによって推定されるアラーム要因、すなわちアラーム推定部１３が推定するアラーム要因が、第２のアラーム要因であり、図２で説明したアラーム要因３２Ｂに対応している。アラーム推定部１３が推定するアラーム要因は、新たに発生したアラームの新たな特徴量に対応する新たなアラーム要因である。
【００８４】
独自推論部１４が変更情報に基づいて補正するアラーム要因が、第２のアラーム要因であり、補正後のアラーム要因が第３のアラーム要因である。第３のアラーム要因は、図２で説明したアラーム要因３２Ｃに対応している。
【００８５】
また、学習部１１が、変更情報のパラメータ設定値に対応するアラーム要因の重みを増加させたうえで学習モデルを生成または更新する場合、このアラーム要因が第３のアラーム要因であり、学習部１１は、この第３のアラーム要因を第１のアラーム要因として学習モデルを生成または更新する。また、学習部１１は、第３のアラーム要因となった異常の発生後、パラメータ設定値の変更によって異常が解消された場合に、学習モデルを生成または更新する。
【００８６】
つぎに、機械学習装置１によるアラーム要因の推定の処理手順について説明する。図８は、実施の形態にかかる機械学習装置によるアラーム要因の推定の処理手順を説明するためのフローチャートである。
【００８７】
アラームが発生すると、機械学習装置１の状態観測部１０が、アラームに対応する特徴量を状態変数として取得する（ステップＳ１０）。また、状態観測部１０が、アラームに対応するアラーム要因を目的変数として取得する（ステップＳ１５）。
【００８８】
学習部１１は、状態変数である特徴量、および目的変数であるアラーム要因を入力として教師あり学習を実行する。すなわち、学習部１１は、特徴量に対応するアラーム要因を学習する（ステップＳ２０）。具体的には、学習部１１は、特徴量とアラーム要因とのデータセットを教師データとして学習モデルに設定することで、アラーム要因を学習する。
【００８９】
学習モデルが学習された後に、新たなアラームが発生すると、アラーム推定部１３は、新たなアラームに対応する新たな特徴量を受け付ける（ステップＳ３０）。そして、アラーム推定部１３は、学習済みの学習モデルに、新たな特徴量を入力することで、新たな特徴量に対応するアラーム要因を推定する（ステップＳ４０）。機械学習装置１は、学習段階では、ステップＳ１０，Ｓ１５，Ｓ２０の処理を実行し、推定段階では、ステップＳ３０，Ｓ４０の処理を実行する。
【００９０】
このように、機械学習装置１は、物理量から抽出された特徴量と、アラーム要因とを取得しているので、故障が発生する前にアラーム要因を推定するための学習モデルを迅速に生成することが可能となる。すなわち、機械学習装置１は、部品等の物理的な故障ではなく、使い方の問題によって発生するアラーム要因を推定するための学習モデルを迅速に生成することが可能となる。これにより、機械学習装置１は、故障が発生する前にアラーム要因を推定することができる。すなわち、機械学習装置１は、使い方の問題によって発生するアラーム要因を推定することができる。したがって、作業者は、アラーム要因に基づいて、アラームへの対処を実行することができる。この結果、機械学習装置１は、アラーム発生時の設備のダウンタイムを短縮することが可能となる。
【００９１】
ところで、アラーム要因を推定する方法として、作業者が、モータ駆動装置の状態またはパラメータを確認する方法、作業者が、モータ駆動装置の入出力情報をモニタする方法などがある。この方法では、アラーム要因を推定する作業者の経験に頼っているので、作業者の経験等によって、アラーム要因を特定する速さまたは正確さに差が生じる。また、アラームが、モータ駆動装置への誤設定によるアラームなのか、高負荷、設備異常によるアラームなのかといった、アラーム要因を特定するためには、十分な入力データが必要となるので、相当量の時間を要することになる。
【００９２】
また、音、振動、電流値に基づいて、異常を推定する方法もある。この方法では、モータ駆動装置のような回転体の状況を判断するためには、十分な入力データを取得することが困難であるので、高精度な推定を行うことができない。また、異常が発生した時に得られた状態変数と、異常が発生しなかった時に得られた状態変数とを用いて機械学習を行なうことで、機械学習装置の内部パラメータを得る方法がある。この方法では、機械学習装置が、内部パラメータを用いて異常診断を行う。この方法でも、モータ駆動装置のような回転体の状況を判断するためには、十分な入力データを取得することが困難である。
【００９３】
ここで、機械学習装置１のハードウェア構成について説明する。図９は、実施の形態にかかる機械学習装置を実現するハードウェア構成例を示す図である。
【００９４】
機械学習装置１は、入力装置１５１、プロセッサ１５２、メモリ１５３、および出力装置１５４により実現することができる。プロセッサ１５２の例は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital  Signal  Processor）ともいう）またはシステムＬＳＩ（Large  Scale  Integration）である。メモリ１５３の例は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）である。
【００９５】
機械学習装置１は、プロセッサ１５２が、メモリ１５３で記憶されている機械学習装置１の動作を実行するための、コンピュータで実行可能な、学習プログラムを読み出して実行することにより実現される。機械学習装置１の動作を実行するためのプログラムである学習プログラムは、機械学習装置１の手順または方法をコンピュータに実行させるものであるともいえる。
【００９６】
機械学習装置１で実行される学習プログラムは、状態観測部１０と、学習部１１と、アラーム推定部１３と、独自推論部１４と、モデル更新部１５とを含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。
【００９７】
入力装置１５１は、駆動データ特徴量を含んだ特徴情報、アラーム要因を含んだアラーム情報、設計内情報などを受け付けてプロセッサ１５２に送る。メモリ１５３は、プロセッサ１５２が各種処理を実行する際の一時メモリに使用される。メモリ１５３は、学習モデル、対応関係情報などを記憶する。出力装置１５４は、アラームに対応する、アラーム要因およびアラーム要因解消パラメータを表示装置などの外部装置に出力する。
【００９８】
学習プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、学習プログラムは、インターネットなどのネットワーク経由で機械学習装置１に提供されてもよい。なお、機械学習装置１の機能について、一部を専用回路などの専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
【００９９】
なお、本実施の形態では、機械学習装置１が、便宜上１つのモータ駆動装置２にかかる物理量、特徴量、および教師データを用いて、学習および推定を行う処理について説明したが、本実施の形態は、このような処理に限定されるものでない。例えば、機械学習装置１は、工場内または複数の拠点内にある複数のモータ駆動装置２にかかる物理量、特徴量、および教師データを収集し、学習および推定を行うことで、効率的に学習および推定を進めることが可能となる。換言すると機械学習装置１は、複数のモータ駆動装置２を学習対象とすることで、効率良くアラーム要因を学習することができる。
【０１００】
また、本実施の形態では、機械学習装置１が学習部１１を備えている場合について説明したが、機械学習装置１は、他の機械学習装置が学習した学習結果を学習結果記憶部１２に格納している場合には、学習部１１を実装していなくてもよい。換言すると、学習部１１を備えた機械学習装置と、アラーム推定部１３を備えた機械学習装置とは、別々の機械学習装置であってもよい。
【０１０１】
このように、実施の形態では、状態観測部１０が、モータ駆動装置２から取得した電流検出値などの物理量の特徴量を状態変数として取得し、特徴量に対応するアラーム要因を目的変数として取得している。そして、学習部１１が、状態変数および目的変数（ラベルデータ）の組合せに基づいて作成されるデータセットからアラーム要因を推定するための学習モデルを生成している。したがって、機械学習装置１は、部品等の物理的な故障ではなく、使い方の問題によって発生するアラーム要因を推定するための学習モデルを生成することが可能となる。
【０１０２】
また、機械学習装置１が、アラーム推定部１３が推定したアラーム要因を、設計内データに基づいて補正する独自推論部１４を備えているので、駆動データ特徴量に対応するアラーム要因を高い精度で診断することが可能となる。
【０１０３】
また、アラームが発生した時の全ての特徴量を不揮発性メモリ２３に保存しておくと膨大になるので、モータの制御方式毎に取得する特徴量を限定することで不揮発性メモリ２３に保存できる教師データの数を増やすことが可能となり、その結果、機械学習装置１は、アラーム要因の推定精度を向上させることが可能となる。
【０１０４】
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１０５】
１  機械学習装置、２  モータ駆動装置、６  アラーム管理装置、１０  状態観測部、１１  学習部、１２  学習結果記憶部、１３  アラーム推定部、１４  独自推論部、１５  モデル更新部、１６  推定結果出力部、２１  データ取得部、２２  特徴量抽出部、２３  不揮発性メモリ、３１Ａ，３１Ｂ  駆動データ特徴量、３２Ａ，３２Ｂ，３２Ｃ  アラーム要因、３３  設計内データ、４０Ａ，４０Ｂ，５１〜５４  決定木、４１  入力データ、４５  出力データ、６１  入力部、６２  記憶部、６３  出力部、１５１  入力装置、１５２  プロセッサ、１５３  メモリ、１５４  出力装置。
【要約】
モータ駆動装置（２）のアラーム要因を学習する機械学習装置（１）であって、モータ駆動装置（２）から取得した、モータから検出された電流検出値、モータの回転速度を指定した速度指令値、モータに出力された出力電圧値、モータの速度推定値、およびモータの速度検出値の少なくとも１つを含んだ特徴量を状態変数として取得し、特徴量に対応するアラーム要因をラベルデータとして取得する状態観測部（１０）と、状態変数およびラベルデータの組合せに基づいて作成されるデータセットから新たな特徴量に対応する新たなアラーム要因を推定するための学習モデルを生成する学習部（１１）と、を備える。【図１】
0006765585.tif 000002
【図２】
0006765585.tif 000003
【図３】
0006765585.tif 000004
【図４】
0006765585.tif 000005
【図５】
0006765585.tif 000006
【図６】
0006765585.tif 000007
【図７】
0006765585.tif 000008
【図８】
0006765585.tif 000009
【図９】
0006765585.tif 000010