(57)【要約】【課題】学習器の再学習を効率的に行うことができる、学習支援装置、これを備えた処理装置、学習支援方法、及び学習支援プログラムを提供する。【解決手段】本発明に係る学習支援装置は、所定の入力から所定の出力を行うための学習を行った学習済みの学習器を有する処理部に対し、再学習を行うための学習支援装置であって、前記入力の異常を所定の基準に基づいて判定する判定部と、前記判定部が、前記入力を異常入力と判定した場合、所定の条件下で、当該異常入力を追加の学習データとして、前記学習器の再学習を行う再学習部と、を備えている。【選択図】図１
2019159957.tif 000002
【特許請求の範囲】
【請求項１】
所定の入力から所定の出力を行うための学習を行った学習済みの学習器を有する処理部に対し、再学習を行うための学習支援装置であって、
前記入力の異常を所定の基準に基づいて判定する判定部と、
前記判定部が前記入力を異常入力と判定した場合、所定の条件下で、当該異常入力を追加の学習データとして、前記学習器の再学習を行う再学習部と、
を備えている、学習支援装置。
【請求項２】
前記再学習部は、前記判定部が前記入力を異常入力と判定したことを条件として、前記再学習を行うように構成されている、請求項１に記載の学習支援装置。
【請求項３】
前記判定部が前記入力を異常入力と判定した場合、当該異常入力の発生を報知する報知部をさらに備えている、請求項１または２に記載の学習支援装置。
【請求項４】
前記判定部が前記入力を異常入力と判定した場合、当該異常入力の発生を報知する報知部をさらに備え、
前記報知部により前記異常入力の発生が報知された場合において、再学習の指令がなされたときに、前記再学習部が再学習を行うように構成されている、請求項１に記載の学習支援装置。
【請求項５】
前記再学習部は、
前記異常入力からの前記処理部による出力に対し、フィードバック制御を行うことで、前記異常入力に対する理想出力を生成し、
前記異常入力及び前記理想出力を前記追加の学習データとして、前記再学習を行うように構成されている、請求項１から４のいずれかに記載の学習支援装置。
【請求項６】
前記処理部による前記入力からの前記出力が、所定の物理モデルに基づくものであり、
前記再学習部は、
前記物理モデルに基づいて、前記異常入力に対する理想出力を生成し、
前記異常入力及び前記理想出力を前記追加の学習データとして、前記再学習を行うように構成されている、請求項１から４のいずれかに記載の学習支援装置。
【請求項７】
所定の入力から所定の出力を行う処理システムであって、
前記所定の入力から前記所定の出力を行うための学習を行った学習済みの学習器を有する処理部と、
請求項１から６のいずれかに記載の学習支援装置と、
を備えている、処理システム。
【請求項８】
所定の入力から所定の出力を行うための学習を行った学習済みの学習器を有する処理部に対し、再学習を行うための学習支援方法であって、
前記入力の異常を所定の基準に基づいて判定するステップと、
前記入力が異常入力であると判定された場合、所定の条件下で、当該異常入力を追加の学習データとして、前記学習器の再学習を行うステップと、
を備えている、学習支援方法。
【請求項９】
前記入力が異常入力であると判定された場合、前記再学習を行うように構成されている、請求項８に記載の学習支援方法。
【請求項１０】
前記入力が異常入力である判定された場合、当該異常入力の発生を報知するステップをさらに備えている、請求項８または９に記載の学習支援方法。
【請求項１１】
前記異常入力の発生が報知された場合、前記再学習が必要か否かを判断するステップをさらに備え、
前記再学習が必要と判断された場合に、前記再学習が行われる、請求項１０に記載の学習支援方法。
【請求項１２】
所定の入力から所定の出力を行うための学習を行った学習済みの学習器を有する処理部に対し、再学習を行うための学習支援プログラムであって、
コンピュータに、
前記入力の異常を所定の基準に基づいて判定するステップと、
前記入力が異常入力である判定された場合、所定の条件下で、当該異常入力を追加の学習データとして、前記学習器の再学習を行うステップと、
を実行させる、学習支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習支援装置、これを備えた処理装置、学習支援方法、及び学習支援プログラムに関する。
【背景技術】
【０００２】
近年、所定の入力から適切な出力を行う制御のために、学習器を用いた制御装置が多数開示されている（例えば、特許文献１）。このような学習器は、事前に与えた学習データによって学習を行うが、学習器の出力精度が下がった場合には、追加学習データを加えた学習器の再学習を行う必要がある。このような再学習のタイミングは、ユーザが任意に判断していた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−０１４８３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、再学習のタイミングをユーザの判断で行う場合、再学習の基準が明確でないと、再学習を行うことができない。そして、再学習が遅れた場合には、不適切な出力が続くおそれがある。
【０００５】
本発明は、この問題を解決するためになされたものであり、学習器の再学習を効率的に行うことができる、学習支援装置、これを備えた処理装置、学習支援方法、及び学習支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示に係る学習支援装置は、所定の入力から所定の出力を行うための学習を行った学習済みの学習器を有する処理部に対し、再学習を行うための学習支援装置であって、前記入力の異常を所定の基準に基づいて判定する判定部と、前記判定部が前記入力を異常入力と判定した場合、所定の条件下で、当該異常入力を追加の学習データとして、前記学習器の再学習を行う再学習部と、を備えている。
【０００７】
この構成によれば、異常入力があったと判定されたときに、学習器の再学習を行うことで、異常入力に対しても理想的な出力が行えるように学習器を学習することができる。すなわち、本発明においては、学習器の再学習を異常入力の発生を契機として行うようにしているため、ユーザが学習器の再学習のタイミングを任意に設定することなく、自動的に学習器の再学習を行うことができる。また、異常入力に対する学習器の更新を遅延なく行うことができるため、学習器の出力の精度を高めることができる。
【０００８】
上記学習支援装置において、再学習部は、前記判定部が前記入力を異常入力と判定したことを条件として、前記再学習を行うように構成することができる。すなわち、判定部が異常入力と判定した場合には、ユーザの判断によらず、つまり、ユーザからの指示を受けることなく、再学習を行うように構成することができる。
【０００９】
上記学習支援装置においては、前記判定部が前記入力を異常入力と判定した場合、当該異常入力の発生を報知する報知部をさらに備えることができる。
【００１０】
上記学習支援装置においては、前記判定部が前記入力を異常入力と判定した場合、当該異常入力の発生を報知する報知部をさらに備え、前記報知部により前記異常入力の発生が報知された場合において、再学習の指令がなされたときに、前記再学習部が再学習を行うように構成することができる。
【００１１】
上記学習支援装置において、前記再学習部は、前記異常入力からの前記処理部による出力に対し、フィードバック制御を行うことで、前記異常入力に対する理想出力を生成し、前記異常入力及び前記理想出力を前記追加の学習データとして、前記再学習を行うように構成することができる。
【００１２】
上記学習支援装置においては、前記処理部による前記入力からの前記出力が、所定の物理モデルに基づくものである場合、前記再学習部は、前記物理モデルに基づいて、前記異常入力に対する理想出力を生成し、前記異常入力及び前記理想出力を前記追加の学習データとして、前記再学習を行うように構成することができる。
【００１３】
本開示は、所定の入力から所定の出力を行う処理システムであって、前記所定の入力から前記所定の出力を行うための学習を行った学習済みの学習器を有する処理部と、上述したいずれかの学習支援装置と、を備えている。
【００１４】
本開示は、所定の入力から所定の出力を行うための学習を行った学習済みの学習器を有する処理部に対し、再学習を行うための学習支援方法であって、前記入力の異常を所定の基準に基づいて判定するステップと、前記入力が異常入力であると判定された場合、所定の条件下で、当該異常入力を追加の学習データとして、前記学習器の再学習を行うステップと、を備えている。
【００１５】
上記学習支援方法においては、前記入力が異常入力であると判定された場合、前記再学習を行うように構成することができる。
【００１６】
上記学習支援方法においては、前記入力が異常入力である判定された場合、当該異常入力の発生を報知するステップをさらに備えることができる。
【００１７】
そして、前記異常入力の発生が報知された場合、前記再学習が必要か否かを判断するステップをさらに備えることができ、前記再学習が必要と判断された場合に、前記再学習が行わせることができる。
【００１８】
本開示は、所定の入力から所定の出力を行うための学習を行った学習済みの学習器を有する処理部に対し、再学習を行うための学習支援プログラムであって、コンピュータに、
前記入力の異常を所定の基準に基づいて判定するステップと、前記入力が異常入力である判定された場合、所定の条件下で、当該異常入力を追加の学習データとして、前記学習器の再学習を行うステップと、を実行させる。
【発明の効果】
【００１９】
本発明によれば、学習器の再学習を効率的に行うことができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の処理装置の一実施形態一実施形態の概要を示すブロック図である。
【図２】本発明に係る処理装置をモータ制御システムに適用した例を示すブロック図である。
【図３】図２のモータ制御システムのハードウェア構成を示すブロック図である。
【図４】図２のモータ制御システムで用いられるニューラルネットワークの一例を示す図である。
【図５Ａ】トルク値の正常な入力の例を示すグラフである。
【図５Ｂ】トルク値の異常な入力の例を示すグラフである。
【図６】トルク値の異常を判定するモデル図である。
【図７】図２のモータ制御システムの学習器の学習の一例を示す図である。
【図８】図２のモータ制御システムの処理のモデルの例を示す図である。
【図９】図２のモータ制御システムにおける学習器の更新の処理手順の一例を例示するフローチャートである。
【図１０】本発明に係る学習支援装置とモータ制御システムの構成の他の例を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、本発明に係る学習支援装置、学習支援方法、及び学習支援プログラムの一実施形態について、図面を参照しつつ説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００２２】
＜１．適用例＞
以下、本実施形態に係る学習支援装置について図１を参照しつつ説明する。図１は、本実施形態に係る学習支援装置を含む処理システムの機能構成を示すブロック図である。
【００２３】
図１に示すように、この処理システム１０は、入力に対して何らかの出力を行う処理部１１を備えている。この処理部１１は、入力に対して所定の出力を行うように学習された学習済み学習器１４を備えている。また、この処理システムは、処理部１１と同様に入力を受ける判定部１２を備えており、この判定部１２によって、入力が異常入力であるか否かを判定する。例えば、何らかの理由で通常の入力から外れた異常入力があった場合、学習器１４はそのような異常入力に対して適切な出力をできないおそれがある。そこで、本実施形態に係る処理システムは、異常入力があった場合には、それを判定するために判定部１２を有している。判定部１２は、異常入力を判定するために、通常の入力パターンを含む異常検出モデル１５を有しており、このモデル１５を参照することで、入力が異常であるか否かを判定するようになっている。なお、ここでいう異常入力とは、ユーザが見て明らかに通常とは異なる入力も含むが、例えば、一見、正常に見えるが、予め想定されていた入力とは異なる入力、あるいは予め決められていた基準を満たさないような入力を指す。すなわち、明らかな異常は、学習対象から外れる可能性があるが、上記のような一見正常に見えるものは、学習器にとって初めて現れた入力になる可能性があり、そのような入力こそ、再学習すべきものとなり得る。
【００２４】
また、判定部１２で異常入力であることを判定した場合には、処理システムにある表示装置（報知部）１６に、異常入力を送信する。この表示装置１６に異常入力があったことが表示されることで、ユーザが異常入力を知ることができる。
【００２５】
そして、この処理システムは、判定部１２が異常入力であるとの判定を行った場合には、その異常入力を用いて学習器１４の再学習を行うための再学習部１３を有している。再学習部１３は、異常入力を入力とし、この入力に対応した理想的な出力、具体的には、再学習部１３で算出した、あるいは再学習部１３が有する理想的な出力を出力とした追加学習データを生成し、これを現在の学習器１４の学習データに加えて、学習器１４の再学習を行う。これにより、異常入力であることの判断を自動的に行うことができ、即座に学習器１４の再学習を行うことができる。したがって、学習器１４が対応できない可能性のある異常入力があった場合には、改めて学習器１４の学習を行い、出力の精度を高めるようにしている。すなわち、再学習のタイミングを、自動的に設定することができる。
【００２６】
なお、再学習を行うか否かの判断については、種々の設定を行うことができる。例えば、判定部１２が異常入力があったと判定すると、即座に再学習を行うように設定することができる。あるいは、表示装置１６により、ユーザが異常入力を知った後、ユーザの判断により再学習を行うように設定することもできる。したがって、異常入力があったとしても、ユーザの判断で再学習を行わないように設定することもできる。
【００２７】
本実施形態に係る処理システムは、種々の処理に適用することができるが、以下では、この処理システムをモータ制御システムに適用した例について説明する。このモータ制御システムは、サーボモータのトルク値に基づいて、サーボモータの処理対象物の位置制御を行うものである。以下、詳細に説明する。
【００２８】
＜２．構成例＞
＜２−１．ハードウェア構成＞
まず、本実施形態に係る学習支援装置を含むモータ制御システム２のハードウェア構成について、図２を参照しつつ説明する。図２は、本実施形態に係るモータの制御システムのハードウェア構成を示すブロック図である。
【００２９】
＜２−１−１．サーボモータ＞
図２に示すサーボモータ１は、特には限定されず、公知のものを用いることができるが、ここでは、サーボモータ１で検出したトルク波形をモータ制御システム２に入力することとする。そして、モータ制御システム２は、入力されたトルク波形を所定周期（例えば、１ｍｓ周期）でサンプリングし、このトルク波形に応じて、サーボモータ１への位置制御指令を行う。
【００３０】
＜２−１−２．コントローラ＞
図２に示すように、本実施形態に係るモータ制御システム２は、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、表示装置２６、外部インタフェース２７、及びドライブ２８が電気的に接続されたコンピュータである。なお、図１では、通信インタフェース及び外部インタフェースをそれぞれ、「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００３１】
制御部２１は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、情報処理に応じて各構成要素の制御を行う。記憶部２２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置であり、制御部２１で実行される制御プログラム２２１、学習支援プログラム２２２、サーボモータ１から送信されるトルクデータ及び出力する位置指令データを含めたモータの制御の入出力に関するモータデータ２２３、サーボモータ１のトルク波形の異常を判定するための異常検出データ２２４、学習済みの学習器に関する情報を示す学習結果データ２２５、学習器を学習させるための学習データ２２６等を記憶する。その他、モータ制御装置２の駆動に必要な各種のデータも記憶することもできる。
【００３２】
制御プログラム２２１は、サーボモータ１から得られるトルクデータに応じて、サーボモータ１の位置制御指令、つまり位置指令の出力を行うものであり、学習器によって、出力を行う。学習支援プログラム２２２は、学習器の再学習を行うためのプログラムであり、後述する入力の異常判定も行う。モータデータ２２３は、サーボモータ１から入力されるトルク値、及びサーボモータ１に出力される位置指令値に関するデータである。異常検出データ２２４は、例えば、入力の正常パターンを有するモデルである。学習結果データ２２５は、学習済みの学習器の設定を行うためのデータである。また、学習データ２２６は、現在の学習器の学習に用いたデータである。なお、学習に関する詳細な説明は後述する。
【００３３】
通信インタフェース２３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。例えば、サーボモータ１と通信したり、あるいはサーボモータ１の制御に関する情報を外部に送信するために用いられる。入力装置２４は、例えば、マウス、キーボード等の入力を行うための装置であり、後述するように、再学習を行うか否かの指示を入力することができる。出力装置２５は、例えば、スピーカ等の出力を行うための装置である。表示装置２６は、ディスプレイ等で構成することができ、例えば、異常入力があったことなどを表示することができる。外部インタフェース２７は、ＵＳＢ（Universal Serial Bus）ポート等であり、外部装置と接続するためのインタフェースである。
【００３４】
ドライブ２８は、例えば、ＣＤ（Compact Disk）ドライブ、ＤＶＤ（Digital Versatile Disk）ドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むための装置である。ドライブ２８の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記記憶部２２に記憶される各種のデータ２２１〜２２６の少なくとも一つは、この記憶媒体９１に記憶されていてもよい。また、モータデータ２２３は、制御部２１のＲＡＭに記憶させることもできる。
【００３５】
記憶媒体９１は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、このプログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。モータ制御システム２は、この記憶媒体９１から、上記各種のデータ２２１〜２２５を取得してもよい。
【００３６】
ここで、図２では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００３７】
なお、モータ制御システム２の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部２１は、複数のプロセッサを含んでもよい。モータ制御システム２は、複数台の情報処理装置で構成されてもよい。また、モータ制御システム２は、提供されるサービス専用に設計された情報処理装置の他、汎用のデスクトップＰＣ（Personal Computer）、タブレットＰＣ等が用いられてもよい。
【００３８】
＜２−２．モータ制御システムの機能的構成＞
次に、図２及び図３を参照しつつ、本実施形態に係るモータ制御システムの機能構成の一例を説明する。図３は、モータ制御システムの機能構成を示すブロック図である。
【００３９】
＜２−２−１．概略構成＞
モータ制御システム２の制御部２１は、記憶部２２に記憶された制御プログラム２２１及び学習支援プログラム２２２をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開されたこれらのプログラム２２１、２２２をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図３に示すように、本実施形態に係るモータ制御システム２は、処理部２１１、判定部２１２、及び再学習部２１３を備えるコンピュータとして機能する。
【００４０】
＜２−２−２．処理部＞
処理部２１１では、サーボモータ１のトルク値を入力とし、この入力に応じたサーボモータへの位置指令値を出力とするように学習した学習器２１４を備えている。処理部２１１は、例えば、サーボモータ１からのトルク波形を１ｍｓおきにサンプリングし、このトルク波形に応じて、学習器２１４から出力された位置指令値を、サーボモータ１に出力する。
【００４１】
このような位置指令値の出力を行う学習器２１４は、例えば、ニューラルネットワークで構成されている。具体的には、図４に示すような、いわゆる深層学習に用いられる多層構造のニューラルネットワークであり、入力から順に、入力層７１、中間層（隠れ層）７２、及び出力層７３を備えている。
【００４２】
図４では、ニューラルネットワーク７は１層の中間層７２を備えており、入力層７１の出力が中間層７２の入力となり、中間層７２の出力が出力層７３の入力となっている。但し、中間層７２の数は１層に限られなくてもよく、ニューラルネットワーク７は、中間層７２を２層以上備えてもよい。
【００４３】
各層７１〜７３は、１又は複数のニューロンを備えている。例えば、入力層７１のニューロンの数は、サーボモータ１の数に応じて設定することができる。中間層７２のニューロンの数は実施の形態に応じて適宜設定することができる。また、出力層７３も、サーボモータ１の数に応じて設定することができる。すなわち、このモータ制御システムは、１つのサーボモータ１の制御に用いることもできるし、あるいは複数のサーボモータ１の制御を並列に行うこともできる。
【００４４】
隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）が設定されている。図４の例では、各ニューロンは、隣接する層の全てのニューロンと結合されているが、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【００４５】
各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。モータ制御システム２は、このようなニューラルネットワーク７の入力層７１に上記トルク波形を入力することで、出力層７３から位置指令値を得る。
【００４６】
なお、このようなニューラルネットワーク７の構成（例えば、ニューラルネットワーク７の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数）、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、学習結果データ２２５に含まれている。モータ制御システム２は、学習結果データ２２５を参照して、学習済みの学習器２１４の設定を行う。
【００４７】
＜２−２−３．判定部＞
判定部２１２は、トルク値の異常入力を判定するものである。トルク値の異常は、例えば、ワークの揺らぎ、ワークの熱膨張など、サーボモータ１に対する負荷の変動を起因とするもの、あるいは経年劣化や工具の摩耗など、機械の劣化に起因して発生する。例えば、図５Ａを正常なトルク波形とした場合、図５Ｂのようにトルク波形の中に異常に高いトルク値が発生した場合、異常入力があったとする。このような異常入力の判定には、種々の方法があるが、以下に一例を示す。
【００４８】
まず、サーボモータ１のトルク値を１ｍｓ周期でサンプリングする。そして、直前数ｍｓ〜数十ｍｓの波形データを元に、変数の配列を有するベクトルを生成する。例えば、［区間の最大振幅、振幅数］、または［trq(t-N), trq(t-N+1), trq(t-N+2),……, trq(t)］(trq(t)は、時刻tのトルク値)である。そして、正常時のトルク波形から、同様にベクトルを生成し、これを正常モデル（異常検出モデル）２１５として定義しておき、これに基づいて、異常入力を検知する。例えば、図６に示すように、上記のように定義したベクトル空間において、入力されたトルク値が、事前に定義した集合から外れている度合いを算出する。そして、外れている度合い（異常度）に対する閾値を設定しておき、正常または異常を検知する。すなわち、この閾値以内である場合には正常、閾値から外れている場合には異常と判定することができる。このような異常値の発見の手法は、特には限定されないが、ｌｏｆ（local outlier factor）法（局所外れ値因子法）などを用いることができる。このような閾値が、本発明の所定の基準となる。その他、所定の基準に関し、例えば、正常たる基準を満たさない場合が異常であるという基準でもよいし、異常たる基準を満たした場合が異常であるという基準としてもよい。
【００４９】
こうして、入力されたトルク波形から異常が検知されると、判定部２１２は、これを表示装置２６に送信し、表示を行う。あるいは、異常の発生を条件として、次に説明する再学習を行うこともできる。
【００５０】
異常出力が表示装置２６に表示されることで、ユーザは、異常の発生を視認することができる。このとき、ユーザの指示により再学習を行うことができる。すなわち、異常の発生を表示装置２６で確認した後、マニュアルでユーザが再学習の指示を行うことができる。あるいは、異常の発生を確認した場合であっても、ユーザの判断で再学習を行わないようにすることもできる。
【００５１】
＜２−２−４．再学習部＞
判定部２１２で、異常入力と判定された場合、あるいはユーザが再学習の指示を行ったとき、再学習部２１３において、学習器２１４の再学習が行われる。再学習の方法は種々の方法があるが、例えば、以下の方法がある。
【００５２】
まず、学習器２１４の学習に用いられる追加学習データ２２６１を生成する。そして、その追加学習データ２２６１を学習データ２２６に加えて、学習器２１４の再学習が行われる。例えば、図７に示すように、異常入力との判定がなされたときの異常入力、及びその異常入力に対する理想的な出力、つまり位置指令値の組み合わせを追加学習データとし、これを学習データ２２６に加え、学習器２１４の再学習を行う。
【００５３】
ここで用いられる理想的な位置指令値は、種々の方法で生成されるが、例えば、以下のように生成することができる。まず、異常入力があった場合には、学習なしで実際にこのサーボモータ１による位置制御を行い、その制御結果から理想的な制御との誤差を算出し、フィードバックして理想的な位置指令値を生成する。
【００５４】
あるいは、この制御が所定の物理モデル、つまり指令に対する応答をシミュレーションできるモデルを有している場合には、次のようにすることもできる。図８は、入力と出力との関係を示すグラフの一例である。図８に示すように、現在の学習器における入力と出力との関係は、所定の制御モデル式（物理モデル）に基づいており、この制御モデル式を基準として入力と出力とが学習されている場合、例えば、現在の学習器において学習した入力範囲から外れた入力があった場合には、この学習器では対応できない。そこで、この制御モデル式を用い、異常入力の入力応答からフィードフォワードして、理想的な位置指令値を生成する。
【００５５】
こうして、再学習部２１３は、異常入力に対する再学習が指示された場合には、異常入力と、これに対応する理想的な位置指令値とを有する追加学習データ２２６１により、学習器２１４の再学習を行う。
【００５６】
＜２−３．モータ制御システムの動作＞
次に、図９を参照しつつ、モータ制御システム２における学習器２１４の再学習の処理例を説明する。図９は、モータ制御システムの処理手順の一例を例示するフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【００５７】
図９に示すように、まず、モータ制御システムに対してサーボモータ１からトルク値を入力する（ステップＳ１０１）。このトルク値に対し、処理部２１１は、学習器２１４によって位置指令値を出力し、サーボモータ１に対して応答する。これと並行して、入力されたトルク値に対して判定部２１２が、異常入力であるか否かを判定する（ステップＳ１０２）。異常入力でないと判定した場合には（ステップＳ１０２のＮＯ）、再学習は行わない。一方、判定部２１２が異常入力であると判定した場合には（ステップＳ１０２のＹＥＳ）、異常入力を表示装置２６に表示する。ここで、表示装置２６を確認したユーザが再学習を行うと判断した場合には（ステップＳ１０３のＹＥＳ）、再学習部２１３において追加学習データが生成される（ステップＳ１０４）。そして、この追加学習データ２２６１を学習データ２２６に追加した上で、学習器２１４の再学習が行われる（ステップＳ１０５）。こうして、学習器２１４は、異常入力に対する理想的な出力を行えるように学習される。なお、判定部２１２が異常入力との判定を行った後、ユーザの判断なしに、再学習を行うこともできる。
【００５８】
なお、学習器２１４の再学習を行った後、学習器２１４の更新を行うタイミングは、特には限定されないが、例えば、以下のタイミングで行うことができる。まず、再学習が完了した次の制御周期（サーボモータ１の制御処理を実行する周期）の直前に、学習器２１４の更新を行うことができる。あるいは、学習器２１４の前回の更新後から処理システム１０が安定動作することがある程度保証できる状態（例えば、サーボモータや装置のステートを参照し判断する）を事前にユーザが指定しておき、そのタイミングで更新することができる。具体的には、 周期動作の停止位置に来たときや、メンテナンスモードになったときに更新することができる。
【００５９】
＜３．特徴＞
以上のように、本実施形態によれば、異常入力があったと判定されたときに、学習器２１４の学習を行うことで、異常入力に対しても理想的な出力が行えるように学習器２１４を学習することができる。すなわち、本実施形態においては、学習器２１４の再学習を異常入力の発生を契機として行うようにしているため、ユーザが学習器２１４の再学習のタイミングを任意に設定することなく、効率的に学習器２１４の再学習を行うことができる。また、異常入力に対する学習器２１４の更新を遅延なく行うことができるため、学習器の出力の精度を高めることができる。
【００６０】
＜４．変形例＞
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【００６１】
＜１＞
上記実施形態では、モータ制御システムの中に、本発明に係る学習支援装置を組み込んでいるが、学習支援装置をモータ制御システムと独立に設け、モータ制御システムとの通信によって、学習器の再学習を行うこともできる。例えば、図１０に示すように、処理部２１１を有するモータ制御システム３とは別に、判定部２１２及び再学習部２１３を有する学習支援装置４を設け、処理部２１１の学習器２１４に対し、学習支援装置４によって再学習を行うように構成することもできる。この場合、例えば、再学習部２１３が新たな学習結果データ２２５を生成し、これを処理部２１１に送信し、処理部２１１が学習結果データ２２５の更新を行うことができる。
【００６２】
＜２＞
上述したように判定部２１２における異常入力の判定は種々の方法があり、上記実施形態に限定されない。同様に、再学習を行うための追加学習データ２２６１の生成についても、特には限定されず、種々の方法で追加学習データ２２６１を生成することができる。
【００６３】
＜３＞
異常入力の発生を報知する手段（報知部）は、特には限定されない。例えば、上記実施形態では、異常入力があった場合、表示装置２６にその旨が表示されるが、音で異常入力があった旨をユーザに通知することもできる。すなわち、報知部は、表示装置２６に代えてスピーカ等の放音装置でもよく、表示装置２６及び放音装置でもよい。そして、ユーザは、音によって異常入力があった旨を知った後、再学習の指令を行うことができる。
【００６４】
＜４＞
上記の例では、ニューラルネットワーク７として、多層構造を有する一般的な順伝播型ニューラルネットワークを用いている。しかしながら、各ニューラルネットワーク７の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各ニューラルネットワーク７は、入力層７１及び中間層７２を畳み込み層及びプーリング層として利用する畳み込みニューラルネットワークであってもよい。また、例えば、各ニューラルネットワーク７は、中間層７２から入力層７１等のように出力側から入力側に再帰する結合を有する再帰型ニューラルネットワークであってもよい。なお、各ニューラルネットワーク７の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、及び各ニューロンの伝達関数は、実施の形態に応じて適宜決定されてよい。
【００６５】
＜５＞
上記学習器２１４の種類は、特には限定されず、ニューラルネットワーク以外に、例えば、決定木、サポートベクターマシン、自己組織化マップ、又は強化学習により学習を行う学習器とすることができる。
【００６６】
＜６＞
上記実施形態においては、本発明の学習支援装置をモータ制御システムに適用した例を示したが、これに限定されるものではなく、種々のシステムに適用可能である。すなわち、学習器によって入力から出力を行うシステムであって、入力の異常が生じうるようなシステムに対して、適宜適用することができる。
【符号の説明】
【００６７】
２１１  処理部
２１２  判定部
２１３  再学習部
２１４  学習器
【図１】
2019159957.tif 000003
【図２】
2019159957.tif 000004
【図３】
2019159957.tif 000005
【図４】
2019159957.tif 000006
【図５Ａ】
2019159957.tif 000007
【図５Ｂ】
2019159957.tif 000008
【図６】
2019159957.tif 000009
【図７】
2019159957.tif 000010
【図８】
2019159957.tif 000011
【図９】
2019159957.tif 000012
【図１０】
2019159957.tif 000013