(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明に係るモータ駆動装置について説明する。
【0011】
図1は、本発明の実施例に係るモータ駆動装置の構成図である。本発明の実施例に係るモータ駆動装置100は、機械学習器(エージェント)10と、ファンモータ制御部(環境)20と、を備えている。機械学習器10は、状態観測部1と、報酬計算部2と、人口知能(学習部)3と、意思決定部4と、を備えている。ファンモータ制御部20は、ファンモータ21と、ファンモータ21の交換時期を知らせる警報出力部22と、を備えている。
【0012】
状態観測部1は、ファンモータ21の回転速度、即ち単位時間当たりの回転数(以下、単に「回転数」という)を観測する。
図2は、本発明の実施例に係るモータ駆動装置を用いて、複数の過去の回転数の推移と故障のデータから、今後の回転数の推移を予想する方法を説明するためのグラフである。
【0013】
図2の上側の2つのグラフは、状態観測部1が観測した過去のデータであるファンモータ21の回転数の推移(時間的変化)を表している。例えば、データNo.1においては、時刻0[sec]から時刻t
1[sec]までは、ほぼ定格回転数で回転していたところ、時刻t
1[sec]から回転数が減少し始め、時刻t
2[sec]において回転が停止した例を示している。同様に、データNo.2においては、時刻0[sec]から時刻t
3[sec]までは、ほぼ定格回転数で回転していたところ、時刻t
3[sec]から回転数が減少し始め、時刻t
4[sec]において回転が停止した例を示している。なお、
図2には過去のデータとして2つのデータを示しているが、過去のデータは3つ以上であってもよい。
【0014】
警報出力部22は、ファンモータ21の回転数の推移に従ってファンモータ21の交換時期を知らせる警報を出力する。例えば、警報出力部22は、ファンモータ21の回転数が定格回転数のX[%]を下回った場合に警報を出力するようにしてもよい。あるいは、警報出力部22は、ファンモータ21の回転数が所定の回転数Y[min
-1]を下回った場合に警報を出力するようにしてもよい。あるいは、警報出力部22は、ファンモータ21が回転を開始してからの経過時間が所定の時間Z[hour]を超えた場合に警報を出力するようにしてもよい。ただし、これらの例は一例であって、他の基準に基づいて警報を出力するようにしてもよい。
【0015】
報酬計算部2は、警報出力部22が警報を出力した時期と実際にファンモータが故障した時期から報酬を計算する。報酬計算部2は、警報出力から実際にファンモータが故障するまでの時間が短いほど、高い報酬を算出するようにしてもよい。また、報酬計算部2は、警報を出力せずファンモータ21が故障せずに回転を続けた場合に、高い報酬を算出するようにしてもよい。さらに、報酬計算部2は、警報を出力する前にファンモータ21が故障した場合に、低い報酬を算出するようにしてもよい。
【0016】
人工知能(学習部)3は、状態観測部1が観測したファンモータ21の回転数等の観測結果、及び報酬計算部2での報酬に基づいて行動の価値を判断することができる。また、状態観測部1はモータ駆動装置100の周囲温度も観測し、人工知能3は周囲温度も考慮に入れて行動の価値を判断するようにしてもよい。あるいは、状態観測部1はファンモータ21の消費電流も観測し、人工知能3は消費電流も考慮に入れて行動の価値を判断するようにしてもよい。あるいは、状態観測部1は電源オン時、及び電源オフ時のファンモータ21の回転数の推移変化も観測し、人工知能3は回転数の推移変化も考慮に入れて行動の価値を判断するようにしてもよい。
【0017】
人工知能3は、状態観測部1で観測された状態変数を多層構造で演算し、行動の価値を判断するための行動価値テーブルをリアルタイムで更新することが好ましい。ここで、状態変数を多層構造で演算する方法として、例えば、
図4に示すような多層ニューラルネットワークを用いることができる。
【0018】
意思決定部4は、人工知能3での判断結果に基づいて、警報出力部22から警報を出力するか否かを決定する。意思決定部4は、過去の回転数の推移と故障のデータから、故障(回転停止)までの時間を学習し、今後の回転数の推移を予想して、警報出力の有無を判断する。例えば、
図2に示すように、データNo.1及びデータNo.2に基づいて、時刻t
5[sec]において警報を出力すべきか否かを判断する。その後、ファンモータ21は、時刻t
6[sec]において回転を停止する(故障)か、あるいは、故障せずに回転を継続する。時刻t
5[sec]において警報を出力すると判断した場合、報酬計算部2は、警報を出力してから実際にファンモータ21が故障するまでの時間が短いほど、高い報酬を算出する。時刻t
5[sec]において警報を出力しないと判断した場合、ファンモータ21が故障せずに回転を続けた場合に、高い報酬を算出する。また、警報出力部22が警報を出力する前にファンモータ21が故障した場合は、低い報酬を算出する。意思決定部4は、ファンモータ21が故障するまでの時間を出力するようにしてもよい。
【0019】
ここで、
図1に示される機械学習器10について詳細に説明する。機械学習器10は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、及び「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。
【0020】
「教師あり学習」は、ある入力と結果(ラベル)のデータの組を大量に学習装置(機械学習器)に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、即ち、その関係性を帰納的に獲得することができる。本実施形態においては、ファンモータ21の回転数等の状態観測部1での観測結果、並びに報酬計算部2での報酬に基づいて、ファンモータ21の交換時期の決定に用いることが出来る。上記学習は、後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
【0021】
「教師なし学習」とは、入力データのみを大量に学習装置(機械学習器)に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することができる。また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。本実施形態においては、実際にファンモータを動作させなくても取得することが出来るデータを教師なし学習で利用し、学習を効率的に行うことが出来る。
【0022】
強化学習の問題を以下のように設定する。
・ファンモータ制御部20は環境の状態を観測し、行動を決定する。
・環境は何らかの規則に従って変化し、さらに自分の行動が、環境に変化を与えることもある。
・行動するたびに報酬信号が帰ってくる。
・最大化したいのは将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または不完全にしか知らない状態から学習はスタートする。ファンモータ制御部20はファンモータ21を実際に動作して初めて、その結果をデータとして得ることが出来る。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【0023】
「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、即ち、将来的に得られる報酬を最大にするために学習する方法である。このことは、本実施形態において、未来に影響を及ぼすような行動を獲得できることを表している。例えば、Q学習の場合で説明を続けるが、それに限るものではない。
【0024】
Q学習は、或る環境状態sの下で、行動aを選択する価値Q(s,a)を学習する方法である。つまり、或る状態sのとき、価値Q(s,a)の最も高い行動aを最適な行動として選択すればよい。しかし、最初は状態sと行動aとの組合せについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、或る状態sの下で様々な行動aを選択し、その時の行動aに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Q(s,a)を学習していく。
【0025】
行動の結果、将来にわたって得られる報酬の合計を最大化したい。そこで、最終的に、Q(s,a)=E[Σγ
tr
t](報酬の割引期待値。γ:割引率)となるようにすることを目指す(期待値は最適な行動に従って状態変化したときについてとる。もちろん、それは分かっていないので、探索しながら学習しなければならない)。そのような価値Q(s,a)の更新式は、例えば次式により表すことができる。
【0027】
ここで、s
tは時刻tにおける環境の状態を表し、a
tは時刻tにおける行動を表す。行動a
tにより、状態はs
t+1に変化する。r
t+1は、その状態の変化により貰える報酬を表している。また、maxの付いた項は、状態s
t+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。γは、0<γ≦1のパラメータで、割引率と呼ばれる。αは学習係数で、0<α≦1の範囲とする。
【0028】
この式は、試行a
tの結果帰ってきた報酬r
t+1を元に、状態s
tにおける行動a
tの評価値Q(s
t,a
t)を更新する方法を表している。状態sにおける行動aの評価値Q(s
t,a
t)よりも、報酬r
t+1+行動aによる次の状態における最良の行動max aの評価値Q(s
t+1,max a
t+1)の方が大きければ、Q(s
t,a
t)を大きくするし、反対に小さければ、Q(s
t,a
t)も小さくする事を示している。つまり、或る状態における或る行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近付けるようにしている。
【0029】
Q(s,a)の計算機上での表現方法は、全ての状態行動ペア(s,a)に対して、その値をテーブル(行動価値テーブル)として保持しておく方法と、Q(s,a)を近似するような関数を用意する方法がある。後者の方法では、前述の更新式は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことで実現することが出来る。近似関数としては、後述のニューラルネットワークを用いることが出来る。
【0030】
教師あり学習、教師なし学習、及び強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。ニューラルネットワークは、例えば
図3に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置及びメモリ等で構成される。
【0031】
図3に示すように、ニューロンは、複数の入力x(ここでは一例として、入力x
1〜入力x
3)に対する出力yを出力するものである。各入力x
1〜x
3には、この入力xに対応する重みw(w
1〜w
3)が掛けられる。これにより、ニューロンは、次の式により表現される出力yを出力する。なお、入力x、出力y、及び重みwは、全てベクトルである。
【数2】
ここで、θはバイアスであり、f
kは活性化関数である。
【0032】
次に、上述したニューロンを組み合わせた3層の重みを有するニューラルネットワークについて、
図4を参照して説明する。
図4は、D1〜D3の3層の重みを有するニューラルネットワークを示す模式図である。
【0033】
図4に示すように、ニューラルネットワークの左側から複数の入力x(ここでは一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは一例として、結果y1〜結果y3)が出力される。
【0034】
具体的には、入力x1〜入力x3は、3つのニューロンN11〜N13の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みは、まとめてW1と標記されている。
【0035】
ニューロンN11〜N13は、それぞれ、Z11〜Z13を出力する。これらのZ11〜Z13はまとめて特徴ベクトルZ1と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルZ1は、重みW1と重みW2との間の特徴ベクトルである。
【0036】
Z11〜Z13は、2つのニューロンN21,N22の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてW2と標記されている。
【0037】
ニューロンN21,N22は、それぞれ、Z21,Z22を出力する。これらは、まとめて特徴ベクトルZ2と標記されている。この特徴ベクトルZ2は、重みW2と重みW3との間の特徴ベクトルである。
【0038】
特徴ベクトルZ21,Z22は、3つのニューロンN31〜N33の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてW3と標記されている。
【0039】
最後に、ニューロンN31〜N33は、それぞれ、結果y1〜結果y3を出力する。
【0040】
ニューラルネットワークの動作には、学習モードと価値予測モードとがあり、学習モードにおいて学習データセットを用いて重みWを学習し、そのパラメータを用いて予測モードにおいてファンモータの行動判断を行う(便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能である)。
【0041】
予測モードで実際にファンモータを動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)こともできる。また、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【0042】
重みW1〜W3は、誤差逆伝搬法(バックプロパゲーション)により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力xが入力されたときの出力yと真の出力y(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。
【0043】
このようなニューラルネットワークは、3層以上にさらに層を増やすことも可能である(深層学習と称される)。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【0044】
そこで、本実施形態の機械学習器10は、上述のQ学習を実施すべく、
図1に示されるように状態観測部1、人口知能3、及び意思決定部4を備えている。但し、本発明に適用される機械学習方法は、Q学習に限定されるものではない。例えば、教師あり学習を適用する場合において、価値関数は学習モデル、報酬は誤差にそれぞれ対応する。
【0045】
図1に示すように、ファンモータ制御部20における状態には、行動で間接的に変化する状態と、行動で直接的に変化する状態とがある。行動で間接的に変化する状態には、ファンモータの回転数が含まれる。行動で直接的に変化する状態には、ファンモータを交換するか、あるいは、交換しないという情報が含まれる。
【0046】
人工知能3は、更新式及び報酬に基づいて、行動価値テーブルの中から現在の状態変数及び取り得る行動に対応する行動価値を更新する。
【0047】
機械学習器10がネットワークを介してファンモータ制御部20に接続されるようにし、状態観測部1は、ネットワークを介して、現在の状態変数を取得するように構成してもよい。また、機械学習器10は、クラウドサーバに存在することが好ましい。
【0048】
また、
図1に示した例では、自己の機械学習器の人工知能で更新された行動価値テーブルを用いて自己の行動価値テーブルを更新する例を示したが、このような例には限られない。即ち、自己の機械学習器とは別の他の機械学習器の人工知能で更新された行動価値テーブルを用いて自己の行動価値テーブルを更新するようにしてもよい。例えば、複数のモータ駆動装置間でデータをやり取りするデータ交換部をさらに有し、他のモータ駆動装置の機械学習器での学習内容を自身の機械学習器での学習に活用するようにしてもよい。
【0049】
次に、本発明の実施例に係るモータ駆動装置の動作について説明する。
図5に本発明の実施例に係るモータ駆動装置の動作手順を説明するためのフローチャートを示す。
【0050】
まず、ステップS101において、ファンモータ21の各種状態を状態観測部1で観測する。即ち、状態観測部1は、ファンモータ21の回転数や、温度等を観測する。
【0051】
次に、ステップS102において、報酬計算部2が、観測した状態から報酬を計算する。例えば、報酬計算部2は、警報出力から実際にファンモータが故障するまでの時間が短いほど、高い報酬を算出し、警報を出力せずファンモータ21が故障せずに回転を続けた場合に、高い報酬を算出し、警報を出力する前にファンモータ21が故障した場合に、低い報酬を算出する。
【0052】
次に、ステップS103において、人工知能3が、状態観測部1が観測した状態と報酬から行動価値を学習する。具体的には、状態観測部1が観測したファンモータ21の回転数及び報酬計算部2での報酬に基づいて行動の価値を判断する。状態観測部1が、モータ駆動装置100の周囲温度も観測する場合には、人工知能3はファンモータ21の回転数に加えて、周囲温度も考慮に入れて行動の価値を判断するようにしてもよい。また、状態観測部1が、ファンモータ21の消費電流も観測する場合には、人工知能3はファンモータ21の回転数に加えて、消費電流も考慮に入れて行動の価値を判断するようにしてもよい。また、状態観測部1が、ファンモータ21の電源オン時、及び電源オフ時のファンモータ21の回転数の変化も観測する場合には、人工知能3はファンモータ21の回転数に加えて、回転数の変化も考慮に入れて行動の価値を判断するようにしてもよい。
【0053】
次に、ステップS104において、意思決定部4が、状態及び行動価値に基づいて、意思決定部4で最適なパラメータ(行動)を決定する。例えば、意思決定部4が、人工知能3での判断結果に基づいて、警報出力部22から警報を出力するか否かを決定する。
【0054】
次に、ステップS105において、パラメータ(行動)により状態が変化する。即ち、ファンモータ制御部20が、ファンモータ21を交換するか、あるいは、交換しないかを決定する。
【0055】
以上説明したように、本発明の実施例に係るモータ駆動装置によれば、最適なタイミングでファンモータを交換でき、ファンモータの周囲温度や消費電流などによって故障までの時間が変わる場合にも、適切に警告を出力することができる。