(57)【要約】【課題】モータのロータの鉄心における磁石の最適な配置位置の容易に決定することができる機械学習装置および方法ならびにこの機械学習装置を備えたロータ設計装置を実現する。【解決手段】モータのロータの鉄心における磁石の配置位置に関連付けられる条件を学習する機械学習装置は、鉄心に並設された複数の磁石の配置位置に関するデータと、複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各磁石の磁束密度に関するデータと、から構成される状態変数を観測する状態観測部１１と、状態変数によって構成される訓練データセットに従って、鉄心における磁石の配置位置に関連付けられる条件を学習する学習部１２と、を備える。【選択図】図１
2017070100.tif 000002
【特許請求の範囲】
【請求項１】
モータのロータの鉄心における磁石の配置位置に関連付けられる条件を学習する機械学習装置であって、
鉄心に並設された複数の磁石の配置位置に関するデータと、前記複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各前記磁石の磁束密度に関するデータと、から構成される状態変数を観測する状態観測部と、
前記状態変数によって構成される訓練データセットに従って、前記鉄心における磁石の配置位置に関連付けられる条件を学習する学習部と、
を備えることを特徴とする機械学習装置。
【請求項２】
前記学習部は、
前記複数の磁石が前記鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさに基づいて報酬を計算する報酬計算部と、
前記状態変数および前記報酬に基づいて、前記鉄心における磁石の配置位置を計算するための関数を更新する関数更新部と、
を備える請求項１に記載の機械学習装置。
【請求項３】
前記報酬計算部は、前記鉄心においてある配置位置に前記複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在の前記コギングトルクの大きさよりも前に前記状態観測部により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らす請求項２に記載の機械学習装置。
【請求項４】
前記報酬計算部は、前記鉄心においてある配置位置に前記複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、前記規定範囲外であるときは報酬を減らす請求項２に記載の機械学習装置。
【請求項５】
前記関数更新部は、前記状態変数および前記報酬に基づいて、ニューラルネットワークモデルに従って、前記鉄心における磁石の配置位置を計算するための関数を更新する請求項２〜４のいずれか一項に記載の機械学習装置。
【請求項６】
前記学習部は、複数のロータに対して作成される前記訓練データセットに従って、前記条件を学習するように構成される請求項１〜５のいずれか一項に記載の機械学習装置。
【請求項７】
請求項１〜６のいずれか一項に記載の機械学習装置を備えた、ロータ設計装置であって、
各前記磁石の磁束密度に関するデータが入力される入力部と、
前記複数の磁石が前記鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさを、前記入力部を介して入力された各前記磁石の磁束密度に関するデータに基づいて計算するコギングトルク計算部と、
前記学習部が前記訓練データセットに従って学習した結果に基づいて、現在の前記状態変数の入力に応答して、前記鉄心における磁石の配置位置を決定する意思決定部と、
前記意思決定部により決定された前記磁石の配置位置を通知する通知部と、
をさらに備えることを特徴とするロータ設計装置。
【請求項８】
あるロータの組み立てに用いられる前記磁石の個数よりも多く存在する在庫としての磁石の磁束密度に関するデータを記憶するデータ記憶部をさらに備え、
前記意思決定部は、前記データ記憶部に記憶された前記在庫としての磁石の磁束密度に関するデータを含む前記訓練データセットに従って前記学習部が学習した結果に基づいて、前記在庫としての磁石の中から、前記鉄心に並設された磁石により発生するコギングトルクの大きさが各ロータについて最小となるような、各前記ロータの構成に用いられる前記磁石の組み合せおよびその配置位置を決定し、
前記通知部は、前記意思決定部により決定された前記磁石の組み合せおよびその配置位置を通知する請求項７に記載のロータ設計装置。
【請求項９】
モータのロータの鉄心における磁石の配置位置に関連付けられる条件を学習する機械学習方法であって、
鉄心に並設された複数の磁石の配置位置に関するデータと、前記複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各前記磁石の磁束密度に関するデータと、から構成される状態変数を観測する状態観測ステップと、
前記状態変数によって構成される訓練データセットに従って、前記鉄心における磁石の配置位置に関連付けられる条件を学習する学習ステップと、
を備えることを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータのロータにおける磁石の配置位置を学習する機械学習装置および方法ならびにこの機械学習装置を備えたロータ設計装置に関する。
【背景技術】
【０００２】
図１１は、一般的な同期モータのロータの組み立てを説明する概略図である。同期モータのロータ１００は、鉄心１０１の周面上に複数の磁石１０２が並設されることで作成される（例えば、特許文献１参照。）。
【０００３】
ロータを構成する鉄心に並設される個々の磁石には磁束密度のバラツキがあるため、鉄心での磁石の並び方（配置位置）によってコギングトルクが変化する。すなわち、磁石の配置位置如何によっては、組み立て後のロータの送りの滑らかさ（コギングトルク）が悪化することがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２３３３２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来より、ロータの組立てに際しては、個々の磁石の磁束密度のバラツキを考慮する場合、特許文献１のように個々の磁石の磁束密度を調整するための部品を追加することにより、送りの滑らかさを最適化する方法がある。しかしながら部品の追加によるコスト増加や調整に時間がかかる等の問題がある。
【０００６】
また、コギングトルク（送りの滑らかさ）と磁石の配置位置との関係については、市販の解析ソフトにてシミュレーション可能である。しかしながら、例えばｎ個（ただし、ｎは自然数）の磁石を鉄心に並設する場合、磁石の並び順は「ｎ！（ｎの階乗）」通り存在する。ｎ個の磁石それぞれの磁束密度を測定した上で、磁石の「ｎ！」通り全ての配置パターンについてコギングトルクの大きさをシミュレーション解析を行い、コギングトルクの大きさを最小化する（ロータの送りの滑らかさを最適にする）磁石の配置位置を決定することは非現実的であり、事実上困難である。
【０００７】
従って本発明の目的は、上記問題に鑑み、モータのロータの鉄心における磁石の最適な配置位置を容易に決定することができる機械学習装置および方法ならびにこの機械学習装置を備えたロータ設計装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を実現するために、本発明においては、モータのロータの鉄心における磁石の配置位置に関連付けられる条件を学習する機械学習装置は、鉄心に並設された複数の磁石の配置位置に関するデータと、複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各磁石の磁束密度に関するデータと、から構成される状態変数を観測する状態観測部と、状態変数によって構成される訓練データセットに従って、鉄心における磁石の配置位置に関連付けられる条件を学習する学習部と、を備える。
【０００９】
ここで、学習部は、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさに基づいて報酬を計算する報酬計算部と、状態変数および報酬に基づいて、鉄心における磁石の配置位置を計算するための関数を更新する関数更新部と、を備えてもよい。
【００１０】
また、報酬計算部は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在のコギングトルクの大きさよりも前に状態観測部により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らすようにしてもよい。
【００１１】
また、報酬計算部は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らすようにしてもよい。
【００１２】
また、関数更新部は、状態変数および報酬に基づいて、ニューラルネットワークモデルに従って、鉄心における磁石の配置位置を計算するための関数を更新するようにしてもよい。
【００１３】
また、学習部は、複数のロータに対して作成される訓練データセットに従って、上記条件を学習するように構成されてもよい。
【００１４】
また、上述の機械学習装置を備えたロータ設計装置は、各磁石の磁束密度に関するデータが入力される入力部と、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさを、入力部を介して入力された各磁石の磁束密度に関するデータに基づいて計算するコギングトルク計算部と、学習部が訓練データセットに従って学習した結果に基づいて、現在の状態変数の入力に応答して、鉄心における磁石の配置位置を決定する意思決定部と、意思決定部により決定された磁石の配置位置を通知する通知部と、をさらに備える。
【００１５】
また、ロータ設計装置は、あるロータの組み立てに用いられる磁石の個数よりも多く存在する在庫としての磁石の磁束密度に関するデータを記憶するデータ記憶部をさらに備え、意思決定部は、データ記憶部に記憶された上記在庫としての磁石の磁束密度に関するデータを含む訓練データセットに従って学習部が学習した結果に基づいて、上記在庫としての磁石の中から、鉄心に並設された磁石により発生するコギングトルクの大きさが各ロータについて最小となるような、各ロータの構成に用いられる磁石の組み合せおよびその配置位置を決定し、通知部は、意思決定部により決定された磁石の組み合せおよびその配置位置を通知するようにしてもよい。
【００１６】
また、モータのロータの鉄心における磁石の配置位置に関連付けられる条件を学習する機械学習方法は、鉄心に並設された複数の磁石の配置位置に関するデータと、複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各磁石の磁束密度に関するデータと、から構成される状態変数を観測する状態観測ステップと、状態変数によって構成される訓練データセットに従って、鉄心における磁石の配置位置に関連付けられる条件を学習する学習ステップと、を備える。
【発明の効果】
【００１７】
本発明によれば、モータのロータの鉄心における磁石の最適な配置位置を容易に決定することができる機械学習装置および方法ならびにこの機械学習装置を備えたロータ設計装置を実現することができる。
【００１８】
本発明によれば、鉄心に並設された磁石により発生するコギングトルクの大きさが最小になり送りの滑らかさが最適化される磁石の配置位置（並び方）を、機械学習装置が自ら学習して調整していくので、ロータの設計に要する時間を短縮し作業者の負担を軽減することができる。
【００１９】
また本発明の変形例によれば、多数存在する在庫磁石を用いて複数のロータを作成する場合において、製造ロットの違いによるロータのコギングトルクの大きさのバラツキを抑制し、全体的にコギングトルクの大きさを小さくすることができ、経済性が向上する。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例による機械学習装置の原理ブロック図である。
【図２】磁石の磁束密度を例示ずる図である。
【図３】本発明の実施例による機械学習方法の動作フローを示すフローチャートである。
【図４】本発明の実施例による、強化学習を用いた機械学習装置の原理ブロック図である。
【図５】本発明の実施例による、強化学習を用いた機械学習方法の動作フローを示すフローチャートである。
【図６】本発明の実施例による機械学習装置を備えるロータ設計装置を示す原理ブロック図である。
【図７】本発明の実施例による機械学習装置を備えるロータ設計装置の動作フローを示すフローチャートである。
【図８】本発明の実施例の変形例による機械学習装置を備えるロータ設計装置を示す原理ブロック図である。
【図９】ニューロンのモデルを示す模式図である。
【図１０】Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【図１１】一般的な同期モータのロータの組み立てを説明する概略図である。
【発明を実施するための形態】
【００２１】
図１は、本発明の実施例による機械学習装置の原理ブロック図である。以降、異なる図面において同じ参照符号が付されたものは同じ機能を有する構成要素であることを意味するものとする。
【００２２】
同期モータのロータは、鉄心に複数の磁石が並設されることで作成されるが、本発明の実施例による機械学習装置１は、モータのロータの鉄心における磁石の配置位置を学習するものとして構成される。本発明は、ロータに磁石を用いるモータ（同期モータ）であれば適用可能であり、また、磁石をロータ表面に貼り付ける表面貼付型（ＳＰＭ）のモータでも、磁石をロータ内に埋め込む埋め込み型（ＩＰＭ）でも適用可能である。
【００２３】
機械学習装置１は、状態観測部１１と学習部１２とを備える。
【００２４】
状態観測部１１は、鉄心に並設された複数の磁石の配置位置に関するデータと、複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各磁石の磁束密度に関するデータと、から構成される状態変数を観測する。
【００２５】
複数の磁石を鉄心に併設する場合、磁石の並び順は複数パターン存在するが、各パターンについてのコギングトルクの大きさは、公知の解析ソフトを用いてコンピュータにて計算される。また、図２は、磁石の磁束密度を例示する図である。ロータを構成する鉄心に並設される個々の磁石には磁束密度のバラツキがあるが、本実施例では、各磁石の磁束密度を予め測定しておき、各磁石の磁束密度を識別番号（図示の例では、Ｍ１〜Ｍ５）と紐付けてデータベース化しておく。
【００２６】
学習部１２は、状態変数によって構成される訓練データセットに従って、鉄心における磁石の配置位置を学習する。なお、訓練データセットを、複数のロータの場合について取得してもよく、この場合、学習部１２は、複数のロータに対して作成される訓練データセットに従って、鉄心における磁石の配置位置を学習する。なお、学習部１２は、当該学習部１２が備えられる機械学習装置１とは異なる機械学習装置内の学習部が学習した結果に基づいて鉄心における磁石の配置位置を学習するようにしてもよい。
【００２７】
図３は、本発明の実施例による機械学習方法の動作フローを示すフローチャートである。モータのロータの鉄心における磁石の配置位置に関連付けられる条件を学習する機械学習方法は、状態観測ステップＳ１０１と、学習ステップＳ１０２とを備える。
【００２８】
状態観測ステップＳ１０１は、状態観測部１１により実行されるものであり、すなわち、鉄心に並設された複数の磁石の配置位置に関するデータと、複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各磁石の磁束密度に関するデータと、から構成される状態変数を観測する。
【００２９】
学習ステップＳ１０２は、学習部１２によって実行されるものであり、すなわち、状態変数によって構成される訓練データセットに従って、鉄心における磁石の配置位置を学習する。
【００３０】
機械学習装置１が用いる学習アルゴリズムはどのようなものを用いてもよい。機械学習装置１は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。以下、一例として、強化学習を用いた場合について図４および図５を参照して説明する。「教師あり学習」、「教師なし学習」等については、後述する。
【００３１】
図４は、本発明の実施例による、強化学習を用いた機械学習装置の原理ブロック図である。学習部１２は、報酬計算部２１と関数更新部２２とを備える。なお、報酬計算部２１および関数更新部２２以外の構成要素については図１に示す構成要素と同様であるので、同一の構成要素には同一符号を付して当該構成要素についての詳細な説明は省略する。
【００３２】
報酬計算部２１は、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさに基づいて報酬を計算する。すなわち、報酬計算部２１は、コギングトルクの大きさが小さいほど、鉄心における磁石の当該配置位置が好影響を及ぼしていると捉えて、高報酬を与える。例えば、報酬計算部２１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在のコギングトルクの大きさよりも前に状態観測部により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らすようにすればよい。また例えば、報酬計算部２１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らすようにしてもよい。
【００３３】
関数更新部２２は、状態観測部１１によって観測された状態変数および報酬計算部２１によって計算された報酬に基づいて、鉄心における磁石の配置位置を計算するための関数（行動価値テーブル）を更新する。関数（行動価値テーブル）の更新方法については後述する。
【００３４】
学習部１２が、状態観測部１１で観測された状態変数を多層構造で演算し、関数（行動価値テーブル）をリアルタイムで更新してもよい。例えば、関数更新部２２は、状態観測部１１によって観測された状態変数および報酬計算部２１によって計算された報酬に基づいて、ニューラルネットワークモデルに従って、鉄心における磁石の配置位置を計算するための関数を更新するようにしてもよい。ここで、状態変数を多層構造で演算する方法として、例えば、後述する図１０に示すような多層ニューラルネットワークを用いることができる。
【００３５】
図５は、本発明の実施例による、強化学習を用いた機械学習方法の動作フローを示すフローチャートである。
【００３６】
まず、状態観測ステップＳ１０１において、状態観測部１１は、鉄心に並設された複数の磁石の配置位置に関するデータと、複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各磁石の磁束密度に関するデータとから構成される状態変数を観測する。
【００３７】
次いで、報酬計算ステップＳ１０２−１において、報酬計算部２１は、複数の磁石が鉄心のある配置位置に並設されたときに発生するコギングトルクの大きさに基づいて報酬を計算する。
【００３８】
次いで、関数更新ステップＳ１０２−２において、関数更新部２２は、状態観測部１１によって観測された状態変数および報酬計算部２１によって計算された報酬に基づいて、鉄心における磁石の配置位置を計算するための関数（行動価値テーブル）を更新する。
【００３９】
続いて、上述の機械学習装置を備えるロータ設計装置について説明する。
【００４０】
図６は、本発明の実施例による機械学習装置を備えるロータ設計装置を示す原理ブロック図である。
【００４１】
本発明の実施例によるロータ設計装置１００は、上述の機械学習装置１と、意思決定部１３と、入力部１４と、コギングトルク計算部１５と、通知部１６とを備える。
【００４２】
入力部１４は、測定された個々の磁石についての磁束密度に関するデータが入力されるものであり、例えばコンピュータ（図示せず）に付属するキーボード、マウス、タッチパネルなどがある。またあるいは、入力部１４は、磁石の磁束密度を測定する測定装置（図示せず）から出力されたデータが、有線ケーブル経由もしくは無線通信経由で直接入力されるものであってもよい。入力された磁束密度に関するデータは、各磁石の識別番号と紐付けされて記憶装置（図示せず）に記憶され、次のコギングトルク計算部１５での処理に用いられる。
【００４３】
コギングトルク計算部１５は、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさを、入力部を介して入力された各磁石の磁束密度に関するデータに基づいて計算する。コギングトルク計算部１５により計算された配置位置ごとのコギングトルクの大きさに関するデータは、機械学習装置１内の状態観測部１１に入力される。コギングトルクの大きさが計算される磁石の配置位置は、バリエーションが多いほど、学習結果の精度が向上する。例えば磁石の数がｎ個（ただし、ｎは自然数）である場合、磁石の配置位置パターン（並び順）は「ｎ！（ｎの階乗）」通り存在する。
【００４４】
ロータ設計装置１００内の機械学習装置１は、上述したように、状態観測部１１と学習部１２とを備える。
【００４５】
状態観測部１１は、コギングトルク計算部１５から入力される鉄心に並設された複数の磁石の配置位置に関するデータおよび複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、入力部１４から入力された各磁石の磁束密度に関するデータとから構成される状態変数を観測する。
【００４６】
学習部１２内の報酬計算部２１は、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさに基づいて報酬を計算する。例えば、報酬計算部２１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在のコギングトルクの大きさよりも前に状態観測部により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らす。また例えば、報酬計算部２１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らす。
【００４７】
学習部１２内の関数更新部２２は、状態観測部１１によって観測された状態変数および報酬計算部２１によって計算された報酬に基づいて、鉄心における磁石の配置位置を計算するための関数（行動価値テーブル）を更新する。
【００４８】
意思決定部１３は、学習部１２が訓練データセットに従って学習した結果に基づいて、現在の状態変数の入力に応答して、鉄心における磁石の配置位置を決定する。本実施例では、一例として学習アルゴリズムとして強化学習を用いているので、学習部１２内の報酬計算部２１によって算出された報酬に基づいて学習部１２内の関数更新部２２は、鉄心における磁石の配置位置を計算するための関数を更新し、意思決定部１３は、更新された関数に基づき、報酬が最も多く得られる磁石の配置位置を選択する。
【００４９】
通知部１６は、意思決定部１３により決定された、報酬が最も多く得られる磁石の配置位置を作業者に通知するためのものである。通知部１６として、例えば、コンピュータ、携帯端末、タッチパネルなどのディスプレイなどがあり、この場合、決定された配置位置を、磁石の識別番号で羅列した文字形式もしくは図面形式にて表示する。またあるいは、通知部１６を、スピーカ、ブザー、チャイムなどのような音を発する音響機器にて実現してもよく、この場合、決定された配置位置を、磁石の識別番号を表現する音声またはブザーもしくはチャイムの回数にて作業者に通知する。またあるいは、通知部１６について、プリンタを用いて紙面等にプリントアウトして作業者に通知させる形態をとってもよい。またあるいは、これらを適宜組み合わせて実現してもよい。
【００５０】
図７は、本発明の実施例による機械学習装置を備えるロータ設計装置の動作フローを示すフローチャートである。
【００５１】
一般に、強化学習では行動の初期値はランダムに選択される。本発明の実施例では、ステップＳ２０１において、行動である鉄心における磁石の配置位置（並び順）をランダムに選択する。
【００５２】
ステップＳ２０２では、コギングトルク計算部１５は、複数の磁石が鉄心において並設されたときに発生するコギングトルクの大きさを、入力部を介して入力された各磁石の磁束密度に関するデータに基づいて計算する。
【００５３】
ステップＳ２０３において、状態観測部１１は、コギングトルク計算部１５から入力される鉄心に並設された複数の磁石の配置位置に関するデータおよび複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、入力部１４から入力された各磁石の磁束密度に関するデータとから構成される状態変数を観測する。
【００５４】
ステップＳ２０４では、状態観測部１１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるか否かを判別する。状態観測部１１により鉄心のある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが規定範囲内であると判定されたときは、ステップＳ２０５において、報酬計算部２１は報酬を増やす。一方、状態観測部１１によりコギングトルクの大きさが規定範囲外であると判定されたときは、ステップＳ２０６において報酬計算部２１は報酬を減らす。ここで、規定範囲については、作業者が、ロータの製造コストや使用環境など種々の要因を考慮して適宜設定すればよい。なお、図７に示す例では、報酬計算部２１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らすとしたが、この代替例として、報酬計算部２１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在のコギングトルクの大きさよりも前に状態観測部により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らすようにしてもよい。
【００５５】
ステップＳ２０７では、関数更新部２２は、報酬計算部２１によって算出された報酬に基づいて、状態観測部１１によって観測された状態変数および報酬計算部２１によって計算された報酬に基づいて、鉄心における磁石の配置位置を計算するための関数を更新する。
【００５６】
ステップＳ２０８では、意思決定部１３は、磁石の配置位置の決定を指令する決定コマンドを受信したか否かを判別する。決定コマンドは、例えば作業者が機械学習装置１の学習結果を出力したいタイミングで入力装置などを介して意思決定部１３に入力されるものである。ステップＳ２０８において、意思決定部１３が、決定コマンドを受信しなかったと判定した場合はステップＳ２０２へ戻る。決定コマンドを受信したと判定した場合はステップＳ２０９へ進む。なお、図７に示す例では、意思決定部１３が決定コマンドの受信の有無に基づいて、磁石の配置位置を決定するかあるいは機械学習処理を継続するか否かを判断したが、この代替例として、意思決定部１３は、コギングトルク計算部１５が全ての配置パターンについてコギングトルクの大きさを計算したか否かに基づいて磁石の配置位置を決定するかあるいは機械学習処理を継続するか否かを判断してもよい。この場合、コギングトルク計算部１５が全ての配置パターンについてコギングトルクの大きさを計算したと意思決定部１３が判定したときにステップＳ２０９へ進む。ステップＳ２０２〜Ｓ２０８の処理が繰り返し実行されることにより、機械学習装置１は、コギングトルクを最小にする磁石の最適な配置位置を学習していく。なお、訓練データセットを、複数のロータの場合について取得してもよく、この場合、学習部１２は、複数のロータに対して作成される訓練データセットに従って、ステップＳ２０１〜Ｓ２０８の処理を繰り返し実行し、鉄心における磁石の配置位置を学習していく。複数のロータに対して訓練データセットが取得されると機械学習装置１の学習精度は向上する。
【００５７】
ステップＳ２０９では、意思決定部１３は、ステップＳ２０７において更新された関数に基づき、報酬が最も多く得られることになる磁石の配置位置を抽出（選択）する。
【００５８】
続くステップＳ２１０では、通知部１６は、ステップＳ２０９において決定された報酬が最も多く得られる磁石の配置位置を作業者に通知する。
【００５９】
上述のロータ設計装置の変形例として、１つのロータの組み立てに用いられる磁石の個数よりも多くの個数の磁石を在庫として備える場合において、在庫としての磁石（以下、「在庫磁石」と称することがある。）の中から複数のロータを作成するために磁石を選択する際、組み立て後のロータのそれぞれについて、発生するコギングトルクの大きさが大小ばらばらになるのではなく平均的に小さくなるような選択を行うようロータ設計装置を構成してもよい。図８は、本発明の実施例の変形例による機械学習装置を備えるロータ設計装置を示す原理ブロック図である。本変形例では、図６に示すロータ設計装置１００において、さらに、あるロータの組み立てに用いられる磁石の個数よりも多く存在する在庫磁石の磁束密度に関するデータを記憶するデータ記憶部１７を備える。
【００６０】
予め測定された在庫磁石の磁束密度に関するデータは、入力部１４を介して入力され、各在庫磁石の識別番号と紐付けされてデータ記憶部１７に記憶される。コギングトルク計算部１５は、データ記憶部１７に記憶された在庫磁石の磁束密度に関するデータに基づいて、在庫磁石の様々な配置位置パターンに関してコギングトルクの大きさを計算する。意思決定部１３は、データ記憶部１７に記憶された在庫磁石の磁束密度に関するデータを含むデータセットに従って学習部１が学習した結果に基づいて、在庫磁石の中から、鉄心に並設された磁石により発生するコギングトルクの大きさが各ロータについて最小となるような、各ロータの構成に用いられる磁石の組み合せおよびその配置位置を決定する。通知部１６は、意思決定部１３により決定された磁石の組み合せおよびその配置位置を通知する。なお、これ以外の構成要素およびその動作については図７および図８を参照して説明したものと同様であるので、同一の構成要素には同一符号を付して当該構成要素についての詳細な説明は省略する。
【００６１】
本変形例によれば、多数存在する在庫磁石を用いて複数のロータを作成する場合において、製造ロットの違いによるロータのコギングトルクの大きさのバラツキを抑制し、全体的にコギングトルクの大きさを小さくすることができ、経済性が向上する。
【００６２】
ここで、機械学習装置１についてより詳細に説明する。機械学習装置１は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。
【００６３】
「教師あり学習」とは、ある入力と結果（ラベル）のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、即ち、その関係性を帰納的に獲得することができる。本実施形態においては、鉄心における磁石の配置位置を計算する部分などに用いることができる。後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
【００６４】
「教師なし学習」とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似たものどうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。本実施形態においては、実際にロータ設計装置を動作させなくても取得することができるデータを教師なし学習で利用し、学習を効率的に行うことができる。
【００６５】
強化学習の問題を以下のように設定する。
・ロータ設計装置は環境の状態を観測し、行動を決定する。
・環境は何らかの規則に従って変化し、さらに自分の行動が、環境に変化を与えることもある。
・行動するたびに報酬信号が帰ってくる。
・最大化したいのは将来にわたっての（割引）報酬の合計である。
・行動が引き起こす結果を全く知らない、または不完全にしか知らない状態から学習はスタートする。ロータ設計装置は実際に動作して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように事前学習（前述の教師あり学習や、逆強化学習といった手法）した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【００６６】
「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、即ち、将来的に得られる報酬を最大にするための学習する方法である。このことは、本実施形態において、未来に影響を及ぼすような行動を獲得できることを表している。例えばＱ学習の場合で説明を続けるが、それに限るものではない。
【００６７】
Ｑ学習は、ある環境状態ｓの下で、行動ａを選択する価値Ｑ（ｓ，ａ）を学習する方法である。つまり、ある状態ｓのとき、価値Ｑ（ｓ，ａ）の最も高い行動ａを最適な行動として選択すればよい。しかし、最初は状態ｓと行動ａとの組合せについて、価値Ｑ（ｓ，ａ）の正しい値は全く分かっていない。そこで、エージェント（行動主体）は、ある状態ｓの下で様々な行動ａを選択し、その時の行動ａに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Ｑ（ｓ，ａ）を学習していく。
【００６８】
行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にＱ（ｓ，ａ）＝Ｅ［Σγtｒt］となるようにすることを目指す（期待値は最適な行動に従って状態変化したときについてとる。もちろん、それは分かっていないので、探索しながら学習しなければならない）。そのような価値Ｑ（ｓ，ａ）の更新式は、例えば式１により表すことができる。
【００６９】
【数１】
2017070100.tif 000003
【００７０】
ここで、ｓ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）が掛けられる。これにより、ニューロンは、式２により表現される出力ｙを出力する。なお、入力ｘ、出力ｙおよび重みｗは、すべてベクトルである。
【００７５】
【数２】
2017070100.tif 000004
ここで、θはバイアスであり、ｆkは活性化関数である。
【００７６】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図１０を参照して説明する。図１０は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【００７７】
図１０に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００７８】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。
【００７９】
ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。これらのｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。
【００８０】
ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。
【００８１】
ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。これらは、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。
【００８２】
特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
【００８３】
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【００８４】
ニューラルネットワークの動作には、学習モードと価値予測モードとがあり、学習モードにおいて学習データセットを用いて重みｗを学習し、そのパラメータを用いて予測モードにおいてロータ設計装置の行動判断を行う（便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能である）。
【００８５】
予測モードで実際にロータ設計装置を動かして得られたデータを即時学習し、次の行動に反映させる（オンライン学習）ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う（バッチ学習）こともできる。その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【００８６】
重みｗ１〜ｗ３は、誤差逆伝搬法（バックプロパゲーション）により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力ｘが入力されたときの出力ｙと真の出力ｙ（教師）との差分を小さくするように、それぞれの重みを調整（学習）する手法である。
【００８７】
このようなニューラルネットワークは、３層以上にさらに層を増やすことも可能である（深層学習と称される）。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【００８８】
そこで、本実施形態の機械学習装置１は、上述のＱ学習を実施すべく、例えば図４に示すように状態観測部１１、学習部１２、および意思決定部１３を備えている。ただし、本発明に適用される機械学習方法は、Ｑ学習に限定されるものではない。たとえば教師あり学習を適用する場合、価値関数は学習モデル、報酬は誤差に対応する。なお、この行動価値テーブルとして、前述のニューラルネットワークを用いて近似した関数を用いることも可能であり、画像データなどのようにsおよびaの情報量が莫大であるときは特に有効である。
【００８９】
上述した状態観測部１１、学習部１２、意思決定部１３およびコギングトルク計算部１５は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。例えばこれらをソフトウェアプログラム形式で構築する場合は、コンピュータ内にある演算処理装置をこのソフトウェアプログラムに従って動作させることで上述の各部の機能が実現される。またあるいは、状態観測部１１および学習部１２を備える機械学習装置１を、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。またあるいは、状態観測部１１および学習部１２を備える機械学習装置１のみならず意思決定部１３も含めた形、または状態観測部１１、学習部１２、意思決定部１３およびコギングトルク計算部１５を含めた形で、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路を実現してもよい。
【符号の説明】
【００９０】
１    機械学習装置
１１    状態観測部
１２    学習部
１３    意思決定部
１４    入力部
１５    コギングトルク計算部
１６    通知部
１７    データ記憶部
２１    報酬計算部
２２    関数更新部
【図１】
2017070100.tif 000005
【図２】
2017070100.tif 000006
【図３】
2017070100.tif 000007
【図４】
2017070100.tif 000008
【図５】
2017070100.tif 000009
【図６】
2017070100.tif 000010
【図７】
2017070100.tif 000011
【図８】
2017070100.tif 000012
【図９】
2017070100.tif 000013
【図１０】
2017070100.tif 000014
【図１１】
2017070100.tif 000015
【手続補正書】
【提出日】平成28年12月1日(2016.12.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
報酬計算部２１は、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさに基づいて報酬を計算する。すなわち、報酬計算部２１は、コギングトルクの大きさが小さいほど、鉄心における磁石の当該配置位置が好影響を及ぼしていると捉えて、高報酬を与える。例えば、報酬計算部２１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在のコギングトルクの大きさよりも前に状態観測部１１により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らすようにすればよい。また例えば、報酬計算部２１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らすようにしてもよい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
コギングトルク計算部１５は、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさを、入力部１４を介して入力された各磁石の磁束密度に関するデータに基づいて計算する。コギングトルク計算部１５により計算された配置位置ごとのコギングトルクの大きさに関するデータは、機械学習装置１内の状態観測部１１に入力される。コギングトルクの大きさが計算される磁石の配置位置は、バリエーションが多いほど、学習結果の精度が向上する。例えば磁石の数がｎ個（ただし、ｎは自然数）である場合、磁石の配置位置パターン（並び順）は「ｎ！（ｎの階乗）」通り存在する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
学習部１２内の報酬計算部２１は、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさに基づいて報酬を計算する。例えば、報酬計算部２１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在のコギングトルクの大きさよりも前に状態観測部１１により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らす。また例えば、報酬計算部２１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らす。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
ステップＳ２０２では、コギングトルク計算部１５は、複数の磁石が鉄心において並設されたときに発生するコギングトルクの大きさを、入力部１４を介して入力された各磁石の磁束密度に関するデータに基づいて計算する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
ステップＳ２０４では、状態観測部１１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるか否かを判別する。状態観測部１１により鉄心のある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが規定範囲内であると判定されたときは、ステップＳ２０５において、報酬計算部２１は報酬を増やす。一方、状態観測部１１によりコギングトルクの大きさが規定範囲外であると判定されたときは、ステップＳ２０６において報酬計算部２１は報酬を減らす。ここで、規定範囲については、作業者が、ロータの製造コストや使用環境など種々の要因を考慮して適宜設定すればよい。なお、図７に示す例では、報酬計算部２１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らすとしたが、この代替例として、報酬計算部２１は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在のコギングトルクの大きさよりも前に状態観測部１１により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らすようにしてもよい。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
ステップＳ２０７では、関数更新部２２は、状態観測部１１によって観測された状態変数および報酬計算部２１によって計算された報酬に基づいて、鉄心における磁石の配置位置を計算するための関数を更新する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
予め測定された在庫磁石の磁束密度に関するデータは、入力部１４を介して入力され、各在庫磁石の識別番号と紐付けされてデータ記憶部１７に記憶される。コギングトルク計算部１５は、データ記憶部１７に記憶された在庫磁石の磁束密度に関するデータに基づいて、在庫磁石の様々な配置位置パターンに関してコギングトルクの大きさを計算する。意思決定部１３は、データ記憶部１７に記憶された在庫磁石の磁束密度に関するデータを含むデータセットに従って学習部１２が学習した結果に基づいて、在庫磁石の中から、鉄心に並設された磁石により発生するコギングトルクの大きさが各ロータについて最小となるような、各ロータの構成に用いられる磁石の組み合せおよびその配置位置を決定する。通知部１６は、意思決定部１３により決定された磁石の組み合せおよびその配置位置を通知する。なお、これ以外の構成要素およびその動作については図７および図８を参照して説明したものと同様であるので、同一の構成要素には同一符号を付して当該構成要素についての詳細な説明は省略する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００９０
【補正方法】変更
【補正の内容】
【００９０】
１    機械学習装置
１１    状態観測部
１２    学習部
１３    意思決定部
１４    入力部
１５    コギングトルク計算部
１６    通知部
１７    データ記憶部
２１    報酬計算部
２２    関数更新部
１００    ロータ設計装置
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2017070100.tif 000016
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2017070100.tif 000017