(57)【要約】【課題】手動で動作条件を与えずに、コイルを最適に巻回する。【解決手段】機械学習装置（３０）は、巻線機１０により形成されたコイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つと、コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、およびプログラムの実行時間指令値のうちの少なくとも一つとから構成される状態変数を観測する状態観測部（３１）と、状態観測部により観測されたコイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つと、状態観測部により観測された前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、およびプログラムの実行時間指令値のうちの少なくとも一つとを関連付けて学習する学習部（３５）とを含む。【選択図】図１
2017069404.tif 000002
【特許請求の範囲】
【請求項１】
巻線機（１０）と通信可能であって、該巻線機によりコイルが形成される動作を学習する機械学習装置（３０）において、
前記巻線機により形成されたコイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つと、前記巻線機のプログラム（２１）により指令される前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つとから構成される状態変数を観測する状態観測部（３１）と、
前記状態観測部により観測された前記コイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つと、前記状態観測部により観測された前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つとを関連付けて学習する学習部（３５）とを具備する機械学習装置。
【請求項２】
前記学習部は、前記状態観測部により観測された前記コイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つに基づいて報酬を計算する報酬計算部（３２）と、
該報酬計算部により計算された報酬に基づいて、現在の前記状態変数から、前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つを決定する関数を更新する関数更新部（３３）とを含む、請求項１に記載の機械学習装置。
【請求項３】
前記学習部の学習結果に基づいて、現在の前記状態変数から、前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つの最適値を決定する意思決定部（３４）を具備する、請求項１または２に記載の機械学習装置。
【請求項４】
前記報酬計算部は、コイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値がそれぞれの許容範囲以内であるときは報酬を増やし、前記許容範囲以外であるときは報酬を減らすことを特徴とする請求項１から３のいずれか一項に記載の機械学習装置。
【請求項５】
前記学習部が、前記状態観測部で観測された状態変数を多層構造で演算し、前記関数をリアルタイムで更新することを特徴とする請求項１から４のいずれか一項に記載の機械学習装置。
【請求項６】
他の機械学習装置の関数更新部により更新された関数を用いて、前記関数更新部の前記関数を更新することを特徴とする請求項１から５のいずれか一項に記載の機械学習装置。
【請求項７】
請求項１から６のいずれか一項に記載の機械学習装置を具備するコイル製造装置（１）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習装置およびそのような機械学習装置を含むコイル製造装置に関する。
【背景技術】
【０００２】
特許文献１および特許文献２に開示されるように、コイル製造装置は線材を均等に自動的に巻回してユニットコイル（以下、単に「コイル」と呼ぶ場合がある）を形成することができる。形成された一つのユニットコイル５０は、図５Ａに示されるように固定子６０の一つの歯部に挿入される。そして、図５Ｂに示されるように、複数のユニットコイル５０が固定子６０の複数の歯部に挿入配置される。
【０００３】
ところで、ユニットコイルの製造時には、操作者が手動で細かい動作条件をコイル製造装置に与え、それにより、ユニットコイルを形成している。また、図６Ａおよび図６Ｂはユニットコイルの部分断面拡大図である。図６Ａに示されるように、線材を均等に巻回することにより、ユニットコイルの占積率が向上するので、そのようなユニットコイルを備えたモータのトルクが向上する。これに対し、図６Ｂに示されるように、線材が均等に巻回されない場合には、占積率およびトルクは低下する。
【０００４】
また、コイル製造装置に含まれる巻線機は、ワーク回転式巻線機およびノズル式巻線機を含む。ワーク回転式巻線機は、ボビンやコアをノズルに対して回転させている。また、ノズル式巻線機はノズルをボビンやコアに対して移動させている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−１９１０２９号公報
【特許文献２】特開平７−７５２９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術のコイル製造装置においては、操作者が試行錯誤して細かい動作条件を手動で与える必要があるので、手間と工数がかかる。
【０００７】
本発明はこのような事情に鑑みてなされたものであり、手動で細かい動作条件を与える必要ことなしに、コイルを最適に巻回することのできる機械学習装置、およびそのような機械学習装置を備えたコイル製造装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前述した目的を達成するために１番目の発明によれば、巻線機と通信可能であって、該巻線機によりコイルが形成される動作を学習する機械学習装置において、前記巻線機により形成されたコイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つと、前記巻線機のプログラムにより指令される前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つとから構成される状態変数を観測する状態観測部と、前記状態観測部により観測された前記コイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つと、前記状態観測部により観測された前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つとを関連付けて学習する学習部とを具備する機械学習装置が提供される。
２番目の発明によれば、１番目の発明において、前記学習部は、前記状態観測部により観測された前記コイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つに基づいて報酬を計算する報酬計算部と、該報酬計算部により計算された報酬に基づいて、現在の前記状態変数から、前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つを決定する関数を更新する関数更新部とを含む。
３番目の発明によれば、１番目または２番目の発明において、前記学習部の学習結果に基づいて、現在の前記状態変数から、前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つの最適値を決定する意思決定部を具備する。
４番目の発明によれば、１番目から３番目のいずれかの発明において、前記報酬計算部は、コイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値がそれぞれの許容範囲以内であるときは報酬を増やし、前記許容範囲以外であるときは報酬を減らす。
５番目の発明によれば、１番目から４番目のいずれかの発明において、前記学習部が、前記状態観測部で観測された状態変数を多層構造で演算し、前記関数をリアルタイムで更新する。
６番目の発明によれば、１番目から５番目のいずれかの発明において、他の機械学習装置の関数更新部により更新された関数を用いて、前記関数更新部の前記関数を更新する。
７番目の発明によれば、１番目から６番目のいずれかの機械学習装置を具備するコイル製造装置が提供される。
【発明の効果】
【０００９】
１番目から３番目の発明においては、操作者が動作条件を手動で与えることなしに、より最適なコイルの寸法指令値などを自動的に決定することのできる機械学習装置を提供できる。
４番目の発明においては、報酬をより適切に定めることができる。
５番目の発明においては、適切な学習結果を得ることができる。
６番目の発明においては、或る機械学習装置で得られた学習結果を他の機械学習装置に組み入れることができ、信頼性の高い学習結果などを流用できる。
７番目の発明においては、巻枠の個体差、巻線の線材の個体差、線材のロット間寸法差によるコイルのバラつきを自動的に吸収できる。また、機械学習装置の学習結果に従うことにより、コイルの製造時に操作者が手動で動作条件を与える必要がない。このため、コイルの製造時の手間および工数を低減できる。
【００１０】
添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれら目的、特徴および利点ならびに他の目的、特徴および利点がさらに明解になるであろう。
【図面の簡単な説明】
【００１１】
【図１】本発明に基づくコイル製造装置の機能ブロック図である。
【図２】機械学習器を拡大して示す図である。
【図３】機械学習器の動作を示すフローチャートである。
【図４】プログラム実行時間とコイルの寸法などとの関係を示す図である。
【図５Ａ】一つのユニットコイルを鉄心に挿入する状態を示す図である。
【図５Ｂ】複数のユニットコイルが挿入された鉄心を示す図である。
【図６Ａ】ユニットコイルの第一の部分断面拡大図である。
【図６Ｂ】ユニットコイルの第二の部分断面拡大図である。
【図７】ニューロンのモデルを示す模式図である。
【図８】３層のニューラルネットワークモデルを示す模式図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図１は本発明に基づくコイル製造装置の機能ブロック図である。図１に示されるように、コイル製造装置１は、巻線機１０と、巻線機１０を制御する制御装置２０とを主に含んでいる。
【００１３】
図１の下方においては、巻線機１０が示されている。巻線機１０は、線材２を吐出するノズル５と、線材２が巻回されるボビン６とを含んでいる。ノズル５およびボビン６は相対的に回転して、線材２がボビン６に巻回され、それにより、コイルが作成される。
【００１４】
制御装置２０はデジタルコンピュータであり、コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値を指令するプログラム２１を含んでいる、このプログラム２１はさらに、プログラム２１の実行時間指令値を指令する。これら指令値は後述する機械学習器３０により決定される。
【００１５】
さらに、制御装置２０は、作成されたコイルの寸法を検出する寸法検出部２２を含んでいる。寸法検出部２２は例えばスケール、カメラ等である。さらに、制御装置２０は、作成されたコイルの抵抗を検出する抵抗検出部２３と、コイルを作成するのに使用した線材２の使用量を検出する線材使用量検出部２４を含んでいる。さらに、制御装置２０は、プログラム２１を実行するのに実際に要したプログラム実行時間実際値を検出する実行時間計測部２５を含んでいる。
【００１６】
図１に示されるように、制御装置２０はさらに、機械学習装置３０を含んでいる。この機械学習装置３０は、制御装置２０に外付けされていてもよい。その場合には、制御装置２０および巻線機１０と互いに通信可能に接続されるものとする。
【００１７】
機械学習装置を拡大して示す図２を参照すると、機械学習装置３０は、巻線機１０により形成されたコイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つと、巻線機１０のプログラム２１により指令されるコイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、およびプログラム２１の実行時間指令値のうちの少なくとも一つとから構成される状態変数を観測する状態観測部３１を含んでいる。状態観測部３１は、前述した状態変数を観測された時間と共に順次記憶できる。
【００１８】
さらに、機械学習装置３０は、状態観測部３１により観測されたコイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つと、状態観測部３１により観測されたコイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、およびプログラム２１の実行時間指令値のうちの少なくとも一つとを関連付けて学習する学習部３５を含んでいる。
【００１９】
ここで、学習部３５は、教師あり学習、教師なし学習、半教師あり学習、強化学習、トランスダクション、マルチタスク学習など各種の機械学習を行い得る。以下においては、学習部３５はＱ学習（Ｑ−ｌｅａｒｎｉｎｇ）により強化学習を行うものとして説明を続ける。
【００２０】
ここで、図２を参照して分かるように、機械学習器３０は、強化学習におけるエージェントに相当する。また、寸法検出部２２、抵抗検出部２３は、線材使用量検出部２４および実行時間計測部２５は環境の状態を検出する。
【００２１】
強化学習を行う学習部３５は、状態観測部３１により観測されたコイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つに基づいて報酬を計算する報酬計算部３２と、報酬計算部３２により計算された報酬に基づいて、現在の状態変数から、コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、およびプログラム２１の実行時間指令値のうちの少なくとも一つを決定する関数、例えば行動価値関数（行動価値テーブル）を更新する関数更新部３３（人工知能）とを含んでいる。当然のことながら、関数更新部３３が他の関数を更新するようにしてもよい。
【００２２】
さらに、機械学習装置３０は、学習部３５の学習結果に基づいて、現在の状態変数から、コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、およびプログラム２１の実行時間指令値のうちの少なくとも一つの最適値を決定する意思決定部３４を含んでいる。意思決定部３４は、より良い行動の選択（意思決定）を学習するものである。なお、意思決定部３４が機械学習装置３０に含まれなくて制御装置２０に含まれていてもよい。
【００２３】
図３は機械学習器の動作を示すフローチャートである。以下、図１〜図３を参照しつつ、機械学習装置３０の動作について説明する。図３に示される内容は、巻線機１０により一つのコイルが作成されるたびに実施されるものとする。
【００２４】
はじめに、図３のステップＳ１１において、コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、およびプログラム２１の実行時間指令値を選択する。これら指令値はそれぞれの所定範囲からランダムに選択される。
【００２５】
あるいは、例えばコイルの寸法指令値は所定範囲内の最小値がはじめに選択され、次いで、微少量だけ増加させた値が次のサイクルのときに選択されるようにしてもよい。他の指令値についても同様である。コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、およびプログラム２１の実行時間指令値の全ての組み合わせが選択されるように、図３の処理を繰返してもよい。
【００２６】
次いで、ステップＳ１２においては、寸法検出部２２によりコイルの寸法実際値が検出され、所定の寸法範囲と比較される。ここで、図４はプログラム実行時間とコイルの寸法などとの関係を示す図である。図４の横軸はプログラム実行時間の実際値を示しており、図４の縦軸はコイルの寸法実際値、抵抗実際値、線材使用量を示している。なお、図４においては直線Ａはコイルの寸法実際値を示しており、直線Ｂはコイルの抵抗実際値を示しており、直線Ｃはコイルの線材使用量を示している。さらに、図４には、コイルの寸法、抵抗、線材使用量およびプログラム実行時間のそれぞれの所定範囲が示されている。また、図４に示される曲線Ｒは報酬を示している。
【００２７】
図４に直線Ａで示されるように、コイルの寸法実際値はプログラム実行時間が長いほど大きくなる。そして、コイルの寸法実際値は所定の寸法範囲に含まれるのが好ましく、それにより、占積率が向上する。所定の寸法範囲は、コイルの寸法指令値から定まる値である。後述する所定の抵抗範囲なども同様である。また、後述する線材使用量範囲は、ターン数指令値から定まるものとする。
【００２８】
また、直線Ｂおよび直線Ｃで示されるように抵抗実際値および線材使用量はそれぞれプログラム実行時間が長いほど大きくなる。そして、抵抗実際値および線材使用量はそれぞれの所定の抵抗範囲および所定の線材使用量範囲に含まれるのが好ましい。さらに、プログラム２１の実行時間実際値は所定の実行時間範囲に含まれるのが好ましい。
【００２９】
さらに、図４に曲線Ｒで示されるように、コイルの寸法実際値が所定の寸法範囲に含まれるとき、抵抗実際値が所定の抵抗範囲に含まれるとき、および線材使用量実際値が所定の線材使用量範囲に含まれるときに報酬は増加する。ただし、プログラム２１の実行時間実際値が所定実行時間よりも大きくなると、報酬は急激に低下する。以下に示される報酬の増減は例えば図４の内容に基づいて、その増減量が決定されるものとする。
【００３０】
再び、図３を参照すると、ステップＳ１２において寸法実際値が所定の寸法範囲に含まれる場合には、ステップＳ１３において報酬が増える。これに対し、寸法実際値が所定の寸法範囲に含まれない場合には、ステップＳ２０ａにおいて報酬が減るかまたはそのままとなる。なお、寸法実際値は小さいのが好ましく、寸法範囲の下限値がなくてもよい。つまり、寸法実際値の場合は小さいほど報酬の増分が大きくなる。あるいは、寸法範囲の中央値に近い場合は報酬の増分が大きく、寸法範囲の中央値から外れるほど報酬の減分が大きくなるようにしても良い。
【００３１】
次いで、ステップＳ１４においては、抵抗検出部２３により検出されたコイルの抵抗実際値が所定の抵抗範囲に含まれるか否かが判定される。そして、抵抗実際値が所定の抵抗範囲に含まれる場合には、ステップＳ１５において報酬が増え、抵抗実際値が所定の抵抗範囲に含まれない場合には、ステップＳ２０ｂにおいて報酬が減るかまたはそのままとなる。なお、抵抗範囲の中央値に近い場合は報酬の増分が大きく、抵抗範囲の中央値から外れるほど報酬の減分が大きくなるようにしてもよい。
【００３２】
次いで、ステップＳ１６においては、線材使用量検出部２４により検出された線材使用量実際値が所定の線材使用量範囲に含まれるか否かが判定される。そして、線材使用量実際値が所定の線材使用量範囲に含まれる場合には、ステップＳ１７において報酬が増え、線材使用量実際値が所定の線材使用量範囲に含まれない場合には、ステップＳ２０ｃにおいて報酬が減るかまたはそのままとなる。なお、線材使用量実際値は多いのが好ましく、線材使用量範囲の上限値がなくてもよい。つまり、線材使用量実際値の場合は大きいほど報酬の増分が大きくなる。あるいは、線材使用量範囲の中央値に近い場合は報酬の増分が大きく、線材使用量範囲の中央値から外れるほど報酬の減分が大きくなるようにしても良い。
【００３３】
次いで、ステップＳ１８においては、実行時間計測部２５により検出された実行時間実際値が所定の実行時間範囲に含まれるか否かが判定される。そして、実行時間実際値が所定の実行時間範囲に含まれる場合には、ステップＳ１９において報酬が増え、実行時間実際値が所定の実行時間範囲に含まれない場合には、ステップＳ２０ｄにおいて報酬が減るかまたはそのままとなる。なお、実行時間実際値は短いのが好ましく、実行時間範囲の下限値がなくてもよい。つまり、実行時間実際値の場合は小さいほど報酬の増分が大きくなる。あるいは、実行時間範囲の中央値に近い場合は報酬の増分が大きく、実行時間範囲の中央値から外れるほど報酬の減分が大きくなるようにしても良い。
【００３４】
このような報酬の増減は報酬計算部３２によって算出される。また、報酬の増減の額については、ステップに応じてその値が異なるように設定されていても良い。また、ステップＳ１２、Ｓ１４、Ｓ１６、Ｓ１８のうちの少なくとも一つの判定ステップおよび関連する報酬のステップを省略することもできる。
【００３５】
その後、ステップ２１においては、関数更新部３３が行動価値関数を更新する。ここで、学習部３５が実施するＱ学習は、或る環境状態ｓの下で、行動ａを選択する価値（行動の価値）Ｑ（ｓ、ａ）を学習する方法である。そして、或る状態ｓのときに、Ｑ（ｓ、ａ）の最も高い行動ａを選択する。Ｑ学習では、試行錯誤により、或る状態ｓの下で様々な行動ａをとり、そのときの報酬を用いて正しいＱ（ｓ、ａ）を学習する。行動価値関数Ｑ（ｓ、ａ）の更新式は以下の式（１）で表される。
【数１】
2017069404.tif 000003
ここでｓｔ，ａｔは、時刻ｔにおける環境と行動を表す。行動ａｔにより、環境はｓｔ＋１に変化し、その環境の変化によって、報酬ｒｔ＋１が算出される。また、ｍａｘの付いた項は、環境ｓｔ＋１の下で、最も（その時に分かっている）Ｑ値の高い行動ａを選んだ場合のＱ値にγを掛けたものになる。ここでγは０＜γ≦１（通常は０．９〜０．９９）の割引率であり、αは０＜α≦１（通常は０．１程度）の学習係数である。
【００３６】
この更新式は、状態ｓに於ける行動ａの評価値Ｑ（ｓｔ，ａｔ）よりも、ａによる次の環境状態に於ける最良の行動の評価値Ｑ（ｓｔ＋１，ｍａｘａｔ＋１）の方が大きければ、Ｑ（ｓｔ，ａｔ）を大きくするし、逆に小さければ、Ｑ（ｓｔ，ａｔ）も小さくする事を示している。つまり、或る状態に於ける或る行動の価値を、それによる次の状態に於ける最良の行動の価値に近づけるようにしている。言い換えれば、学習部３５は、コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のそれぞれの最適値を更新する。
【００３７】
このようにして、ステップＳ２１においては、前述した式（１）を用いて関数更新部３３が行動価値関数を更新する。そして、ステップＳ１１に戻り、コイルの他の寸法指令値、他の抵抗指令値、他のターン数指令値、他の巻速度指令値、他のテンション指令値、およびプログラム２１の他の実行時間指令値が選択され、同様にして行動価値関数が更新される。なお、行動価値関数の代わりに、行動価値テーブルを更新するようにしてもよい。
【００３８】
強化学習においてはエージェントとしての学習部３５が環境の状況に基づいて、行動を決定する。この場合における行動とは、意思決定部３４が、プログラム２１の前述した各種の指令値のそれぞれの新たな値を選択し、これら新たな値に従って動作させることである。そして、これら新たな値の各種の指令値によって図２に示される環境、例えばプログラム２１の寸法指令値、抵抗指令値、ターン数指令値および実行時間指令値が変化する。そのような環境の変化に伴って、前述したように報酬が機械学習器３０に与えられ、機械学習器３０の意思決定部３４は、例えばより高い報酬が得られるように、より良い行動の選択（意志決定）を学習する。
【００３９】
このため、図３に示される処理が多数回にわたって繰返し行われることにより、行動価値関数の信頼度が高められる。そして、ステップＳ１１において、信頼性の高い行動価値関数に基づいて、例えばＱ値が高くなるように寸法指令値、抵抗指令値、ターン数指令値および実行時間指令値を選択することによって、より適切な寸法指令値などをより最適に決定することが可能となる。図４に示される例においては、機械学習器３０の学習結果は破線で囲まれた領域Ｚに収束していく。
【００４０】
このようにして、本発明の機械学習装置３０の関数更新部３３により更新された内容を、コイルを形成するときのより最適な寸法指令値、抵抗指令値、ターン数指令値および実行時間指令値として自動的に決定することができる。そして、そのような機械学習器３０を制御装置２０に導入することによって、寸法指令値などを自動的に調整できる。このため、巻枠の個体差、巻線の線材の個体差、線材のロット間寸法差によるコイルのバラつきを自動的に吸収できる。また、機械学習装置の学習結果に従うことにより、コイルの製造時に操作者が手動で動作条件を与える必要がない。このため、コイルの製造時の手間および工数を低減できる。その結果、生産効率を向上させられる。
【００４１】
また、図示しない実施形態においては、機械学習装置３０と同様な構成を備えた他の機械学習装置３０’が他の巻線機１０’の制御装置２０’に組入れられている。そして、制御装置２０’と制御装置２０とが通信可能に接続されている。そのような場合には、他の機械学習装置３０’の関数更新部３３’により更新された関数を、機械学習装置３０の関数更新部３３にコピーすることができる。そして、その関数を用いて関数更新部３３の関数を更新してもよい。この場合には、信頼性の高い学習結果を流用できるのが分かるであろう。
【００４２】
また、行動価値関数として後述するニューラルネットワークを用いて近似した関数を用いても良い。この場合には、状態観測部３１で観測された状態変数を多層構造で演算して、行動価値関数をリアルタイムで更新してもよい。これにより、さらに適切な学習結果を得られるのが分かるであろう。また、この場合には、画像データなどのように「ｓ」および「ａ」の情報量が莫大であるときに特に有利である。
【００４３】
ここで、図２に示される機械学習装置３０等について、一部重複するものの、詳細に再度説明する。機械学習装置３０は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。
【００４４】
「教師あり学習」とは、ある入力と結果（ラベル）のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、即ち、その関係性を帰納的に獲得することができる。本実施形態においては、コイルの前述した各種指令値からコイルの寸法実際値などを推定する部分などに用いることが出来る。後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
【００４５】
「教師なし学習」とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似た者どうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。本実施形態においては、実際に巻線機を動作させなくても取得することが出来るデータを教師なし学習で利用し、学習を効率的に行うことが出来る。
【００４６】
強化学習の問題を以下のように設定する。
・巻線機およびその制御装置は環境の状態を観測し、行動を決定する。
・環境は何らかの規則に従って変化し、さらに自分の行動が、環境に変化を与えることもある。
・行動するたびに報酬信号が帰ってくる。
・最大化したいのは将来にわたっての（割引）報酬の合計である。
・行動が引き起こす結果を全く知らない、または不完全にしか知らない状態から学習はスタートする。巻線機は実際に動作して初めて、その結果をデータとして得ることが出来る。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように事前学習（前述の教師あり学習や、逆強化学習といった手法）した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００４７】
「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、即ち、将来的に得られる報酬を最大にするための学習する方法である。このことは、本実施形態において、未来に影響を及ぼすような行動を獲得できることを表している。例えばＱ学習の場合で説明を続けるが、それに限るものではない。
【００４８】
Ｑ学習は、或る環境状態ｓの下で、行動ａを選択する価値Ｑ（ｓ，ａ）を学習する方法である。つまり、或る状態ｓのとき、価値Ｑ（ｓ，ａ）の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は状態ｓと行動ａとの組合せについて、価値Ｑ（ｓ，ａ）の正しい値は全く分かっていない。そこで、エージェント（行動主体）は、或る状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Ｑ（ｓ，ａ）を学習していく。
【００４９】
行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ（ｓ，ａ）＝Ｅ［Σγtｒt］となるようにすることを目指す（期待値は最適な行動に従って状態変化したときについてとる。もちろん、それは分かっていないので、探索しながら学習しなければならない）。そのような価値Ｑ（ｓ，ａ）の更新式は、例えば次式により表すことができる（前述した式（１）と同じである）。
【００５０】
【数２】
2017069404.tif 000004
【００５１】
ここで、ｓ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）が掛けられる。これにより、ニューロンは、次の式により表現される出力ｙを出力する。なお、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。
【数３】
2017069404.tif 000005
ここで、θはバイアスであり、ｆkは活性化関数である。
【００５６】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図８を参照して説明する。図８は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【００５７】
図８に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００５８】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。
【００５９】
ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。これらのｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。
【００６０】
ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。
【００６１】
ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。これらは、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。
【００６２】
特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
【００６３】
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【００６４】
ニューラルネットワークの動作には、学習モードと価値予測モードとがあり、学習モードにおいて学習データセットを用いて重みｗを学習し、そのパラメータを用いて予測モードにおいて巻線機の行動判断を行う（便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能である）。
【００６５】
予測モードで実際に巻線機を動かして得られたデータを即時学習し、次の行動に反映させる（オンライン学習）ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う（バッチ学習）こともできる。その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００６６】
重みｗ１〜ｗ３は、誤差逆伝搬法（バックプロパゲーション）により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【００６７】
このようなニューラルネットワークは、３層以上にさらに層を増やすことも可能である（深層学習と称される）。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【００６８】
そこで、本実施形態の機械学習器３０は、上述のＱ学習を実施すべく、図２に示されるように状態観測部３１、学習部３５、および意思決定部３４を備えている。但し、本発明に適用される機械学習方法は、Ｑ学習に限定されるものではない。たとえば教師あり学習を適用する場合、価値関数は学習モデル、報酬は誤差に対応する。
【００６９】
典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、前述した変更および種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
【符号の説明】
【００７０】
５    ノズル
１０    巻線機
２０    制御装置
２１    プログラム
２２    寸法検出部
２３    抵抗検出部
２４    線材使用量検出部
２５    実行時間計測部
３０    機械学習器、機械学習装置
３１    状態観測部
３２    報酬計算部
３３    関数更新部
３４    意思決定部
３５    学習部
【図１】
2017069404.tif 000006
【図２】
2017069404.tif 000007
【図３】
2017069404.tif 000008
【図４】
2017069404.tif 000009
【図５Ａ】
2017069404.tif 000010
【図５Ｂ】
2017069404.tif 000011
【図６Ａ】
2017069404.tif 000012
【図６Ｂ】
2017069404.tif 000013
【図７】
2017069404.tif 000014
【図８】
2017069404.tif 000015
【手続補正書】
【提出日】平成29年1月10日(2017.1.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
前述した目的を達成するために１番目の発明によれば、巻線機と通信可能であって、該巻線機によりコイルが形成される動作を学習する機械学習装置において、前記巻線機により形成されたコイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つと、前記巻線機のプログラムにより指令される前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つとから構成される状態変数を観測する状態観測部と、前記状態観測部により観測された前記コイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つと、前記状態観測部により観測された前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つとを関連付けて学習する学習部とを具備し、前記学習部は、前記状態観測部により観測された前記コイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つに基づいて報酬を計算する報酬計算部と、該報酬計算部により計算された報酬に基づいて、現在の前記状態変数から、前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つを決定する関数を更新する関数更新部とを含んでおり、前記学習部が、前記状態観測部で観測された状態変数を多層構造で演算し、前記関数をリアルタイムで更新することを特徴とする機械学習装置が提供される。
２番目の発明によれば、１番目の発明において、前記学習部の学習結果に基づいて、現在の前記状態変数から、前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つの最適値を決定する意思決定部を具備する。
３番目の発明によれば、１番目または２番目の発明において、前記報酬計算部は、コイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値がそれぞれの許容範囲以内であるときは報酬を増やし、前記許容範囲以外であるときは報酬を減らす。
４番目の発明によれば、１番目から３番目のいずれかの発明において、他の機械学習装置の関数更新部により更新された関数を用いて、前記関数更新部の前記関数を更新する。
５番目の発明によれば、１番目から４番目のいずれかの機械学習装置を具備するコイル製造装置が提供される。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
１番目または２番目の発明においては、操作者が動作条件を手動で与えることなしに、より最適なコイルの寸法指令値などを自動的に決定することのできる機械学習装置を提供できる。さらに、適切な学習結果を得ることができる。
３番目の発明においては、報酬をより適切に定めることができる。
４番目の発明においては、或る機械学習装置で得られた学習結果を他の機械学習装置に組み入れることができ、信頼性の高い学習結果などを流用できる。
５番目の発明においては、巻枠の個体差、巻線の線材の個体差、線材のロット間寸法差によるコイルのバラつきを自動的に吸収できる。また、機械学習装置の学習結果に従うことにより、コイルの製造時に操作者が手動で動作条件を与える必要がない。このため、コイルの製造時の手間および工数を低減できる。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
巻線機（１０）と通信可能であって、該巻線機によりコイルが形成される動作を学習する機械学習装置（３０）において、
前記巻線機により形成されたコイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つと、前記巻線機のプログラム（２１）により指令される前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つとから構成される状態変数を観測する状態観測部（３１）と、
前記状態観測部により観測された前記コイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つと、前記状態観測部により観測された前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つとを関連付けて学習する学習部（３５）とを具備し、
前記学習部は、前記状態観測部により観測された前記コイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値のうちの少なくとも一つに基づいて報酬を計算する報酬計算部（３２）と、
該報酬計算部により計算された報酬に基づいて、現在の前記状態変数から、前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つを決定する関数を更新する関数更新部（３３）とを含んでおり、
前記学習部が、前記状態観測部で観測された状態変数を多層構造で演算し、前記関数をリアルタイムで更新することを特徴とする機械学習装置。
【請求項２】
前記学習部の学習結果に基づいて、現在の前記状態変数から、前記コイルの寸法指令値、抵抗指令値、ターン数指令値、巻速度指令値、テンション指令値、および前記プログラムの実行時間指令値のうちの少なくとも一つの最適値を決定する意思決定部（３４）を具備する、請求項１に記載の機械学習装置。
【請求項３】
前記報酬計算部は、コイルの寸法実際値、抵抗実際値、線材使用量およびプログラム実行時間実際値がそれぞれの許容範囲以内であるときは報酬を増やし、前記許容範囲以外であるときは報酬を減らすことを特徴とする請求項１または２に記載の機械学習装置。
【請求項４】
他の機械学習装置の関数更新部により更新された関数を用いて、前記関数更新部の前記関数を更新することを特徴とする請求項１から３のいずれか一項に記載の機械学習装置。
【請求項５】
請求項１から４のいずれか一項に記載の機械学習装置を具備するコイル製造装置（１）。