特許第6088613号(P6088613)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特許6088613ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置
<>
  • 特許6088613-ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置 図000004
  • 特許6088613-ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置 図000005
  • 特許6088613-ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置 図000006
  • 特許6088613-ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置 図000007
  • 特許6088613-ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置 図000008
  • 特許6088613-ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置 図000009
  • 特許6088613-ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置 図000010
  • 特許6088613-ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置 図000011
  • 特許6088613-ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置 図000012
  • 特許6088613-ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置 図000013
  • 特許6088613-ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6088613
(24)【登録日】2017年2月10日
(45)【発行日】2017年3月1日
(54)【発明の名称】ロータにおける磁石の配置位置を学習する機械学習装置および方法ならびに該機械学習装置を備えたロータ設計装置
(51)【国際特許分類】
   H02K 15/03 20060101AFI20170220BHJP
   H02K 1/27 20060101ALI20170220BHJP
   G06N 3/08 20060101ALI20170220BHJP
   G06N 99/00 20100101ALI20170220BHJP
【FI】
   H02K15/03 Z
   H02K1/27 501A
   G06N3/08
   G06N99/00 153
【請求項の数】9
【全頁数】17
(21)【出願番号】特願2015-193647(P2015-193647)
(22)【出願日】2015年9月30日
【審査請求日】2016年8月23日
【早期審査対象出願】
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100151459
【弁理士】
【氏名又は名称】中村 健一
(72)【発明者】
【氏名】村上 貴視
【審査官】 田村 惠里加
(56)【参考文献】
【文献】 特開2012−070622(JP,A)
【文献】 特開平10−210718(JP,A)
【文献】 特開2004−178492(JP,A)
【文献】 特開2014−206795(JP,A)
【文献】 特開2013−225192(JP,A)
【文献】 特開平03−248672(JP,A)
【文献】 特開2003−141186(JP,A)
【文献】 特開2014−031298(JP,A)
【文献】 米国特許出願公開第2011/0037339(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H02K 1/17,1/27,15/03
G06N 3/08,99/00
(57)【特許請求の範囲】
【請求項1】
モータのロータの鉄心における磁石の配置位置に関連付けられる条件を学習する機械学習装置であって、
鉄心に並設された複数の磁石の配置位置に関するデータと、前記複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各前記磁石の磁束密度に関するデータと、から構成される状態変数を観測する状態観測部と、
前記状態変数によって構成される訓練データセットに従って、前記鉄心における磁石の配置位置に関連付けられる条件を学習する学習部と、
を備えることを特徴とする機械学習装置。
【請求項2】
前記学習部は、
前記複数の磁石が前記鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさに基づいて報酬を計算する報酬計算部と、
前記状態変数および前記報酬に基づいて、前記鉄心における磁石の配置位置を計算するための関数を更新する関数更新部と、
を備える請求項1に記載の機械学習装置。
【請求項3】
前記報酬計算部は、前記鉄心においてある配置位置に前記複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在の前記コギングトルクの大きさよりも前に前記状態観測部により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らす請求項2に記載の機械学習装置。
【請求項4】
前記報酬計算部は、前記鉄心においてある配置位置に前記複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、前記規定範囲外であるときは報酬を減らす請求項2に記載の機械学習装置。
【請求項5】
前記関数更新部は、前記状態変数および前記報酬に基づいて、ニューラルネットワークモデルに従って、前記鉄心における磁石の配置位置を計算するための関数を更新する請求項2〜4のいずれか一項に記載の機械学習装置。
【請求項6】
前記学習部は、複数のロータに対して作成される前記訓練データセットに従って、前記条件を学習するように構成される請求項1〜5のいずれか一項に記載の機械学習装置。
【請求項7】
請求項1〜6のいずれか一項に記載の機械学習装置を備えた、ロータ設計装置であって、
各前記磁石の磁束密度に関するデータが入力される入力部と、
前記複数の磁石が前記鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさを、前記入力部を介して入力された各前記磁石の磁束密度に関するデータに基づいて計算するコギングトルク計算部と、
前記学習部が前記訓練データセットに従って学習した結果に基づいて、現在の前記状態変数の入力に応答して、前記鉄心における磁石の配置位置を決定する意思決定部と、
前記意思決定部により決定された前記磁石の配置位置を通知する通知部と、
をさらに備えることを特徴とするロータ設計装置。
【請求項8】
あるロータの組み立てに用いられる前記磁石の個数よりも多く存在する在庫としての磁石の磁束密度に関するデータを記憶するデータ記憶部をさらに備え、
前記意思決定部は、前記データ記憶部に記憶された前記在庫としての磁石の磁束密度に関するデータを含む前記訓練データセットに従って前記学習部が学習した結果に基づいて、前記在庫としての磁石の中から、前記鉄心に並設された磁石により発生するコギングトルクの大きさが各ロータについて最小となるような、各前記ロータの構成に用いられる前記磁石の組み合せおよびその配置位置を決定し、
前記通知部は、前記意思決定部により決定された前記磁石の組み合せおよびその配置位置を通知する請求項7に記載のロータ設計装置。
【請求項9】
モータのロータの鉄心における磁石の配置位置に関連付けられる条件を学習する機械学習方法であって、
鉄心に並設された複数の磁石の配置位置に関するデータと、前記複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各前記磁石の磁束密度に関するデータと、から構成される状態変数を観測する状態観測ステップと、
前記状態変数によって構成される訓練データセットに従って、前記鉄心における磁石の配置位置に関連付けられる条件を学習する学習ステップと、
を備えることを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータのロータにおける磁石の配置位置を学習する機械学習装置および方法ならびにこの機械学習装置を備えたロータ設計装置に関する。
【背景技術】
【0002】
図11は、一般的な同期モータのロータの組み立てを説明する概略図である。同期モータのロータ100は、鉄心101の周面上に複数の磁石102が並設されることで作成される(例えば、特許文献1参照。)。
【0003】
ロータを構成する鉄心に並設される個々の磁石には磁束密度のバラツキがあるため、鉄心での磁石の並び方(配置位置)によってコギングトルクが変化する。すなわち、磁石の配置位置如何によっては、組み立て後のロータの送りの滑らかさ(コギングトルク)が悪化することがある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−233325号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来より、ロータの組立てに際しては、個々の磁石の磁束密度のバラツキを考慮する場合、特許文献1のように個々の磁石の磁束密度を調整するための部品を追加することにより、送りの滑らかさを最適化する方法がある。しかしながら部品の追加によるコスト増加や調整に時間がかかる等の問題がある。
【0006】
また、コギングトルク(送りの滑らかさ)と磁石の配置位置との関係については、市販の解析ソフトにてシミュレーション可能である。しかしながら、例えばn個(ただし、nは自然数)の磁石を鉄心に並設する場合、磁石の並び順は「n!(nの階乗)」通り存在する。n個の磁石それぞれの磁束密度を測定した上で、磁石の「n!」通り全ての配置パターンについてコギングトルクの大きさをシミュレーション解析を行い、コギングトルクの大きさを最小化する(ロータの送りの滑らかさを最適にする)磁石の配置位置を決定することは非現実的であり、事実上困難である。
【0007】
従って本発明の目的は、上記問題に鑑み、モータのロータの鉄心における磁石の最適な配置位置を容易に決定することができる機械学習装置および方法ならびにこの機械学習装置を備えたロータ設計装置を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を実現するために、本発明においては、モータのロータの鉄心における磁石の配置位置に関連付けられる条件を学習する機械学習装置は、鉄心に並設された複数の磁石の配置位置に関するデータと、複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各磁石の磁束密度に関するデータと、から構成される状態変数を観測する状態観測部と、状態変数によって構成される訓練データセットに従って、鉄心における磁石の配置位置に関連付けられる条件を学習する学習部と、を備える。
【0009】
ここで、学習部は、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさに基づいて報酬を計算する報酬計算部と、状態変数および報酬に基づいて、鉄心における磁石の配置位置を計算するための関数を更新する関数更新部と、を備えてもよい。
【0010】
また、報酬計算部は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在のコギングトルクの大きさよりも前に状態観測部により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らすようにしてもよい。
【0011】
また、報酬計算部は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らすようにしてもよい。
【0012】
また、関数更新部は、状態変数および報酬に基づいて、ニューラルネットワークモデルに従って、鉄心における磁石の配置位置を計算するための関数を更新するようにしてもよい。
【0013】
また、学習部は、複数のロータに対して作成される訓練データセットに従って、上記条件を学習するように構成されてもよい。
【0014】
また、上述の機械学習装置を備えたロータ設計装置は、各磁石の磁束密度に関するデータが入力される入力部と、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさを、入力部を介して入力された各磁石の磁束密度に関するデータに基づいて計算するコギングトルク計算部と、学習部が訓練データセットに従って学習した結果に基づいて、現在の状態変数の入力に応答して、鉄心における磁石の配置位置を決定する意思決定部と、意思決定部により決定された磁石の配置位置を通知する通知部と、をさらに備える。
【0015】
また、ロータ設計装置は、あるロータの組み立てに用いられる磁石の個数よりも多く存在する在庫としての磁石の磁束密度に関するデータを記憶するデータ記憶部をさらに備え、意思決定部は、データ記憶部に記憶された上記在庫としての磁石の磁束密度に関するデータを含む訓練データセットに従って学習部が学習した結果に基づいて、上記在庫としての磁石の中から、鉄心に並設された磁石により発生するコギングトルクの大きさが各ロータについて最小となるような、各ロータの構成に用いられる磁石の組み合せおよびその配置位置を決定し、通知部は、意思決定部により決定された磁石の組み合せおよびその配置位置を通知するようにしてもよい。
【0016】
また、モータのロータの鉄心における磁石の配置位置に関連付けられる条件を学習する機械学習方法は、鉄心に並設された複数の磁石の配置位置に関するデータと、複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各磁石の磁束密度に関するデータと、から構成される状態変数を観測する状態観測ステップと、状態変数によって構成される訓練データセットに従って、鉄心における磁石の配置位置に関連付けられる条件を学習する学習ステップと、を備える。
【発明の効果】
【0017】
本発明によれば、モータのロータの鉄心における磁石の最適な配置位置を容易に決定することができる機械学習装置および方法ならびにこの機械学習装置を備えたロータ設計装置を実現することができる。
【0018】
本発明によれば、鉄心に並設された磁石により発生するコギングトルクの大きさが最小になり送りの滑らかさが最適化される磁石の配置位置(並び方)を、機械学習装置が自ら学習して調整していくので、ロータの設計に要する時間を短縮し作業者の負担を軽減することができる。
【0019】
また本発明の変形例によれば、多数存在する在庫磁石を用いて複数のロータを作成する場合において、製造ロットの違いによるロータのコギングトルクの大きさのバラツキを抑制し、全体的にコギングトルクの大きさを小さくすることができ、経済性が向上する。
【図面の簡単な説明】
【0020】
図1】本発明の実施例による機械学習装置の原理ブロック図である。
図2】磁石の磁束密度を例示ずる図である。
図3】本発明の実施例による機械学習方法の動作フローを示すフローチャートである。
図4】本発明の実施例による、強化学習を用いた機械学習装置の原理ブロック図である。
図5】本発明の実施例による、強化学習を用いた機械学習方法の動作フローを示すフローチャートである。
図6】本発明の実施例による機械学習装置を備えるロータ設計装置を示す原理ブロック図である。
図7】本発明の実施例による機械学習装置を備えるロータ設計装置の動作フローを示すフローチャートである。
図8】本発明の実施例の変形例による機械学習装置を備えるロータ設計装置を示す原理ブロック図である。
図9】ニューロンのモデルを示す模式図である。
図10】D1〜D3の3層の重みを有するニューラルネットワークを示す模式図である。
図11】一般的な同期モータのロータの組み立てを説明する概略図である。
【発明を実施するための形態】
【0021】
図1は、本発明の実施例による機械学習装置の原理ブロック図である。以降、異なる図面において同じ参照符号が付されたものは同じ機能を有する構成要素であることを意味するものとする。
【0022】
同期モータのロータは、鉄心に複数の磁石が並設されることで作成されるが、本発明の実施例による機械学習装置1は、モータのロータの鉄心における磁石の配置位置を学習するものとして構成される。本発明は、ロータに磁石を用いるモータ(同期モータ)であれば適用可能であり、また、磁石をロータ表面に貼り付ける表面貼付型(SPM)のモータでも、磁石をロータ内に埋め込む埋め込み型(IPM)でも適用可能である。
【0023】
機械学習装置1は、状態観測部11と学習部12とを備える。
【0024】
状態観測部11は、鉄心に並設された複数の磁石の配置位置に関するデータと、複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各磁石の磁束密度に関するデータと、から構成される状態変数を観測する。
【0025】
複数の磁石を鉄心に併設する場合、磁石の並び順は複数パターン存在するが、各パターンについてのコギングトルクの大きさは、公知の解析ソフトを用いてコンピュータにて計算される。また、図2は、磁石の磁束密度を例示する図である。ロータを構成する鉄心に並設される個々の磁石には磁束密度のバラツキがあるが、本実施例では、各磁石の磁束密度を予め測定しておき、各磁石の磁束密度を識別番号(図示の例では、M1〜M5)と紐付けてデータベース化しておく。
【0026】
学習部12は、状態変数によって構成される訓練データセットに従って、鉄心における磁石の配置位置を学習する。なお、訓練データセットを、複数のロータの場合について取得してもよく、この場合、学習部12は、複数のロータに対して作成される訓練データセットに従って、鉄心における磁石の配置位置を学習する。なお、学習部12は、当該学習部12が備えられる機械学習装置1とは異なる機械学習装置内の学習部が学習した結果に基づいて鉄心における磁石の配置位置を学習するようにしてもよい。
【0027】
図3は、本発明の実施例による機械学習方法の動作フローを示すフローチャートである。モータのロータの鉄心における磁石の配置位置に関連付けられる条件を学習する機械学習方法は、状態観測ステップS101と、学習ステップS102とを備える。
【0028】
状態観測ステップS101は、状態観測部11により実行されるものであり、すなわち、鉄心に並設された複数の磁石の配置位置に関するデータと、複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各磁石の磁束密度に関するデータと、から構成される状態変数を観測する。
【0029】
学習ステップS102は、学習部12によって実行されるものであり、すなわち、状態変数によって構成される訓練データセットに従って、鉄心における磁石の配置位置を学習する。
【0030】
機械学習装置1が用いる学習アルゴリズムはどのようなものを用いてもよい。機械学習装置1は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。以下、一例として、強化学習を用いた場合について図4および図5を参照して説明する。「教師あり学習」、「教師なし学習」等については、後述する。
【0031】
図4は、本発明の実施例による、強化学習を用いた機械学習装置の原理ブロック図である。学習部12は、報酬計算部21と関数更新部22とを備える。なお、報酬計算部21および関数更新部22以外の構成要素については図1に示す構成要素と同様であるので、同一の構成要素には同一符号を付して当該構成要素についての詳細な説明は省略する。
【0032】
報酬計算部21は、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさに基づいて報酬を計算する。すなわち、報酬計算部21は、コギングトルクの大きさが小さいほど、鉄心における磁石の当該配置位置が好影響を及ぼしていると捉えて、高報酬を与える。例えば、報酬計算部21は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在のコギングトルクの大きさよりも前に状態観測部11により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らすようにすればよい。また例えば、報酬計算部21は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らすようにしてもよい。
【0033】
関数更新部22は、状態観測部11によって観測された状態変数および報酬計算部21によって計算された報酬に基づいて、鉄心における磁石の配置位置を計算するための関数(行動価値テーブル)を更新する。関数(行動価値テーブル)の更新方法については後述する。
【0034】
学習部12が、状態観測部11で観測された状態変数を多層構造で演算し、関数(行動価値テーブル)をリアルタイムで更新してもよい。例えば、関数更新部22は、状態観測部11によって観測された状態変数および報酬計算部21によって計算された報酬に基づいて、ニューラルネットワークモデルに従って、鉄心における磁石の配置位置を計算するための関数を更新するようにしてもよい。ここで、状態変数を多層構造で演算する方法として、例えば、後述する図10に示すような多層ニューラルネットワークを用いることができる。
【0035】
図5は、本発明の実施例による、強化学習を用いた機械学習方法の動作フローを示すフローチャートである。
【0036】
まず、状態観測ステップS101において、状態観測部11は、鉄心に並設された複数の磁石の配置位置に関するデータと、複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各磁石の磁束密度に関するデータとから構成される状態変数を観測する。
【0037】
次いで、報酬計算ステップS102−1において、報酬計算部21は、複数の磁石が鉄心のある配置位置に並設されたときに発生するコギングトルクの大きさに基づいて報酬を計算する。
【0038】
次いで、関数更新ステップS102−2において、関数更新部22は、状態観測部11によって観測された状態変数および報酬計算部21によって計算された報酬に基づいて、鉄心における磁石の配置位置を計算するための関数(行動価値テーブル)を更新する。
【0039】
続いて、上述の機械学習装置を備えるロータ設計装置について説明する。
【0040】
図6は、本発明の実施例による機械学習装置を備えるロータ設計装置を示す原理ブロック図である。
【0041】
本発明の実施例によるロータ設計装置100は、上述の機械学習装置1と、意思決定部13と、入力部14と、コギングトルク計算部15と、通知部16とを備える。
【0042】
入力部14は、測定された個々の磁石についての磁束密度に関するデータが入力されるものであり、例えばコンピュータ(図示せず)に付属するキーボード、マウス、タッチパネルなどがある。またあるいは、入力部14は、磁石の磁束密度を測定する測定装置(図示せず)から出力されたデータが、有線ケーブル経由もしくは無線通信経由で直接入力されるものであってもよい。入力された磁束密度に関するデータは、各磁石の識別番号と紐付けされて記憶装置(図示せず)に記憶され、次のコギングトルク計算部15での処理に用いられる。
【0043】
コギングトルク計算部15は、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさを、入力部14を介して入力された各磁石の磁束密度に関するデータに基づいて計算する。コギングトルク計算部15により計算された配置位置ごとのコギングトルクの大きさに関するデータは、機械学習装置1内の状態観測部11に入力される。コギングトルクの大きさが計算される磁石の配置位置は、バリエーションが多いほど、学習結果の精度が向上する。例えば磁石の数がn個(ただし、nは自然数)である場合、磁石の配置位置パターン(並び順)は「n!(nの階乗)」通り存在する。
【0044】
ロータ設計装置100内の機械学習装置1は、上述したように、状態観測部11と学習部12とを備える。
【0045】
状態観測部11は、コギングトルク計算部15から入力される鉄心に並設された複数の磁石の配置位置に関するデータおよび複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、入力部14から入力された各磁石の磁束密度に関するデータとから構成される状態変数を観測する。
【0046】
学習部12内の報酬計算部21は、複数の磁石が鉄心においてある配置位置に並設されたときに発生するコギングトルクの大きさに基づいて報酬を計算する。例えば、報酬計算部21は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在のコギングトルクの大きさよりも前に状態観測部11により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らす。また例えば、報酬計算部21は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らす。
【0047】
学習部12内の関数更新部22は、状態観測部11によって観測された状態変数および報酬計算部21によって計算された報酬に基づいて、鉄心における磁石の配置位置を計算するための関数(行動価値テーブル)を更新する。
【0048】
意思決定部13は、学習部12が訓練データセットに従って学習した結果に基づいて、現在の状態変数の入力に応答して、鉄心における磁石の配置位置を決定する。本実施例では、一例として学習アルゴリズムとして強化学習を用いているので、学習部12内の報酬計算部21によって算出された報酬に基づいて学習部12内の関数更新部22は、鉄心における磁石の配置位置を計算するための関数を更新し、意思決定部13は、更新された関数に基づき、報酬が最も多く得られる磁石の配置位置を選択する。
【0049】
通知部16は、意思決定部13により決定された、報酬が最も多く得られる磁石の配置位置を作業者に通知するためのものである。通知部16として、例えば、コンピュータ、携帯端末、タッチパネルなどのディスプレイなどがあり、この場合、決定された配置位置を、磁石の識別番号で羅列した文字形式もしくは図面形式にて表示する。またあるいは、通知部16を、スピーカ、ブザー、チャイムなどのような音を発する音響機器にて実現してもよく、この場合、決定された配置位置を、磁石の識別番号を表現する音声またはブザーもしくはチャイムの回数にて作業者に通知する。またあるいは、通知部16について、プリンタを用いて紙面等にプリントアウトして作業者に通知させる形態をとってもよい。またあるいは、これらを適宜組み合わせて実現してもよい。
【0050】
図7は、本発明の実施例による機械学習装置を備えるロータ設計装置の動作フローを示すフローチャートである。
【0051】
一般に、強化学習では行動の初期値はランダムに選択される。本発明の実施例では、ステップS201において、行動である鉄心における磁石の配置位置(並び順)をランダムに選択する。
【0052】
ステップS202では、コギングトルク計算部15は、複数の磁石が鉄心において並設されたときに発生するコギングトルクの大きさを、入力部14を介して入力された各磁石の磁束密度に関するデータに基づいて計算する。
【0053】
ステップS203において、状態観測部11は、コギングトルク計算部15から入力される鉄心に並設された複数の磁石の配置位置に関するデータおよび複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、入力部14から入力された各磁石の磁束密度に関するデータとから構成される状態変数を観測する。
【0054】
ステップS204では、状態観測部11は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるか否かを判別する。状態観測部11により鉄心のある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが規定範囲内であると判定されたときは、ステップS205において、報酬計算部21は報酬を増やす。一方、状態観測部11によりコギングトルクの大きさが規定範囲外であると判定されたときは、ステップS206において報酬計算部21は報酬を減らす。ここで、規定範囲については、作業者が、ロータの製造コストや使用環境など種々の要因を考慮して適宜設定すればよい。なお、図7に示す例では、報酬計算部21は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、規定範囲内であるときは報酬を増やし、規定範囲外であるときは報酬を減らすとしたが、この代替例として、報酬計算部21は、鉄心においてある配置位置に複数の磁石が並設されたときに発生するコギングトルクの大きさが、現在のコギングトルクの大きさよりも前に状態観測部11により観測されたコギングトルクの大きさよりも、小さいときは報酬を増やし、大きいときは報酬を減らすようにしてもよい。
【0055】
ステップS207では、関数更新部22は、状態観測部11によって観測された状態変数および報酬計算部21によって計算された報酬に基づいて、鉄心における磁石の配置位置を計算するための関数を更新する。
【0056】
ステップS208では、意思決定部13は、磁石の配置位置の決定を指令する決定コマンドを受信したか否かを判別する。決定コマンドは、例えば作業者が機械学習装置1の学習結果を出力したいタイミングで入力装置などを介して意思決定部13に入力されるものである。ステップS208において、意思決定部13が、決定コマンドを受信しなかったと判定した場合はステップS202へ戻る。決定コマンドを受信したと判定した場合はステップS209へ進む。なお、図7に示す例では、意思決定部13が決定コマンドの受信の有無に基づいて、磁石の配置位置を決定するかあるいは機械学習処理を継続するか否かを判断したが、この代替例として、意思決定部13は、コギングトルク計算部15が全ての配置パターンについてコギングトルクの大きさを計算したか否かに基づいて磁石の配置位置を決定するかあるいは機械学習処理を継続するか否かを判断してもよい。この場合、コギングトルク計算部15が全ての配置パターンについてコギングトルクの大きさを計算したと意思決定部13が判定したときにステップS209へ進む。ステップS202〜S208の処理が繰り返し実行されることにより、機械学習装置1は、コギングトルクを最小にする磁石の最適な配置位置を学習していく。なお、訓練データセットを、複数のロータの場合について取得してもよく、この場合、学習部12は、複数のロータに対して作成される訓練データセットに従って、ステップS201〜S208の処理を繰り返し実行し、鉄心における磁石の配置位置を学習していく。複数のロータに対して訓練データセットが取得されると機械学習装置1の学習精度は向上する。
【0057】
ステップS209では、意思決定部13は、ステップS207において更新された関数に基づき、報酬が最も多く得られることになる磁石の配置位置を抽出(選択)する。
【0058】
続くステップS210では、通知部16は、ステップS209において決定された報酬が最も多く得られる磁石の配置位置を作業者に通知する。
【0059】
上述のロータ設計装置の変形例として、1つのロータの組み立てに用いられる磁石の個数よりも多くの個数の磁石を在庫として備える場合において、在庫としての磁石(以下、「在庫磁石」と称することがある。)の中から複数のロータを作成するために磁石を選択する際、組み立て後のロータのそれぞれについて、発生するコギングトルクの大きさが大小ばらばらになるのではなく平均的に小さくなるような選択を行うようロータ設計装置を構成してもよい。図8は、本発明の実施例の変形例による機械学習装置を備えるロータ設計装置を示す原理ブロック図である。本変形例では、図6に示すロータ設計装置100において、さらに、あるロータの組み立てに用いられる磁石の個数よりも多く存在する在庫磁石の磁束密度に関するデータを記憶するデータ記憶部17を備える。
【0060】
予め測定された在庫磁石の磁束密度に関するデータは、入力部14を介して入力され、各在庫磁石の識別番号と紐付けされてデータ記憶部17に記憶される。コギングトルク計算部15は、データ記憶部17に記憶された在庫磁石の磁束密度に関するデータに基づいて、在庫磁石の様々な配置位置パターンに関してコギングトルクの大きさを計算する。意思決定部13は、データ記憶部17に記憶された在庫磁石の磁束密度に関するデータを含むデータセットに従って学習部12が学習した結果に基づいて、在庫磁石の中から、鉄心に並設された磁石により発生するコギングトルクの大きさが各ロータについて最小となるような、各ロータの構成に用いられる磁石の組み合せおよびその配置位置を決定する。通知部16は、意思決定部13により決定された磁石の組み合せおよびその配置位置を通知する。なお、これ以外の構成要素およびその動作については図7および図8を参照して説明したものと同様であるので、同一の構成要素には同一符号を付して当該構成要素についての詳細な説明は省略する。
【0061】
本変形例によれば、多数存在する在庫磁石を用いて複数のロータを作成する場合において、製造ロットの違いによるロータのコギングトルクの大きさのバラツキを抑制し、全体的にコギングトルクの大きさを小さくすることができ、経済性が向上する。
【0062】
ここで、機械学習装置1についてより詳細に説明する。機械学習装置1は、装置に入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力するとともに、知識の学習を行う機能を有する。その手法は様々であるが、大別すれば「教師あり学習」、「教師なし学習」、「強化学習」に分けられる。さらに、これらの手法を実現するうえで、特徴量そのものの抽出を学習する、「深層学習」と呼ばれる手法がある。
【0063】
「教師あり学習」とは、ある入力と結果(ラベル)のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル、即ち、その関係性を帰納的に獲得することができる。本実施形態においては、鉄心における磁石の配置位置を計算する部分などに用いることができる。後述のニューラルネットワークなどのアルゴリズムを用いて実現することができる。
【0064】
「教師なし学習」とは、入力データのみを大量に学習装置に与えることで、入力データがどのような分布をしているか学習し、対応する教師出力データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。それらのデータセットにある特徴を似たものどうしにクラスタリングすることなどができる。この結果を使って、何らかの基準を設けてそれを最適にするような出力の割り当てを行うことで、出力の予測を実現することできる。また「教師なし学習」と「教師あり学習」との中間的な問題設定として、「半教師あり学習」と呼ばれるものもあり、これは一部のみ入力と出力のデータの組が存在し、それ以外は入力のみのデータである場合がこれに当たる。本実施形態においては、実際にロータ設計装置を動作させなくても取得することができるデータを教師なし学習で利用し、学習を効率的に行うことができる。
【0065】
強化学習の問題を以下のように設定する。
・ロータ設計装置は環境の状態を観測し、行動を決定する。
・環境は何らかの規則に従って変化し、さらに自分の行動が、環境に変化を与えることもある。
・行動するたびに報酬信号が帰ってくる。
・最大化したいのは将来にわたっての(割引)報酬の合計である。
・行動が引き起こす結果を全く知らない、または不完全にしか知らない状態から学習はスタートする。ロータ設計装置は実際に動作して初めて、その結果をデータとして得ることができる。つまり、試行錯誤しながら最適な行動を探索する必要がある。
・人間の動作を真似るように事前学習(前述の教師あり学習や、逆強化学習といった手法)した状態を初期状態として、良いスタート地点から学習をスタートさせることもできる。
【0066】
「強化学習」とは、判定や分類だけではなく、行動を学習することにより、環境に行動が与える相互作用を踏まえて適切な行動を学習、即ち、将来的に得られる報酬を最大にするための学習する方法である。このことは、本実施形態において、未来に影響を及ぼすような行動を獲得できることを表している。例えばQ学習の場合で説明を続けるが、それに限るものではない。
【0067】
Q学習は、ある環境状態sの下で、行動aを選択する価値Q(s,a)を学習する方法である。つまり、ある状態sのとき、価値Q(s,a)の最も高い行動aを最適な行動として選択すればよい。しかし、最初は状態sと行動aとの組合せについて、価値Q(s,a)の正しい値は全く分かっていない。そこで、エージェント(行動主体)は、ある状態sの下で様々な行動aを選択し、その時の行動aに対して報酬が与えられる。それにより、エージェントはより良い行動の選択、すなわち正しい価値Q(s,a)を学習していく。
【0068】
行動の結果、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σγtt]となるようにすることを目指す(期待値は最適な行動に従って状態変化したときについてとる。もちろん、それは分かっていないので、探索しながら学習しなければならない)。そのような価値Q(s,a)の更新式は、例えば式1により表すことができる。
【0069】
【数1】
【0070】
ここで、stは時刻tにおける環境の状態を表し、atは時刻tにおける行動を表す。行動atにより、状態はst+1に変化する。rt+1は、その状態の変化により貰える報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。γは、0<γ≦1のパラメータで、割引率と呼ばれる。αは学習係数で、0<α≦1の範囲とする。
【0071】
式1は、試行atの結果帰ってきた報酬rt+1を元に、状態stにおける行動atの評価値Q(st,at)を更新する方法を表している。状態sにおける行動aの評価値Q(st,at)よりも、報酬rt+1+行動aによる次の状態における最良の行動max aの評価値Q(st+1,max at+1)の方が大きければ、Q(st,at)を大きくするし、反対に小さければ、Q(st,at)も小さくする事を示している。つまり、ある状態におけるある行動の価値を、結果として即時帰ってくる報酬と、その行動による次の状態における最良の行動の価値に近づけるようにしている。
【0072】
Q(s,a)の計算機上での表現方法は、すべての状態行動ペア(s,a)に対して、その値をテーブル(行動価値テーブル)として保持しておく方法と、Q(s,a)を近似するような関数を用意する方法がある。後者の方法では、前述の更新式は、確率勾配降下法などの手法で近似関数のパラメータを調整していくことで実現することができる。近似関数としては、後述のニューラルネットワークを用いることができる。
【0073】
教師あり学習、教師なし学習、および強化学習での価値関数の近似アルゴリズムとして、ニューラルネットワークを用いることができる。ニューラルネットワークは、たとえば図9に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置およびメモリ等で構成される。図9は、ニューロンのモデルを示す模式図である。
【0074】
図9に示すように、ニューロンは、複数の入力x(ここでは一例として、入力x1〜入力x3)に対する出力yを出力するものである。各入力x1〜x3には、この入力xに対応する重みw(w1〜w3)が掛けられる。これにより、ニューロンは、式2により表現される出力yを出力する。なお、入力x、出力yおよび重みwは、すべてベクトルである。
【0075】
【数2】
ここで、θはバイアスであり、fkは活性化関数である。
【0076】
次に、上述したニューロンを組み合わせた3層の重みを有するニューラルネットワークについて、図10を参照して説明する。図10は、D1〜D3の3層の重みを有するニューラルネットワークを示す模式図である。
【0077】
図10に示すように、ニューラルネットワークの左側から複数の入力x(ここでは一例として、入力x1〜入力x3)が入力され、右側から結果y(ここでは一例として、結果y1〜結果y3)が出力される。
【0078】
具体的には、入力x1〜入力x3は、3つのニューロンN11〜N13の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてw1と標記されている。
【0079】
ニューロンN11〜N13は、それぞれ、z11〜z13を出力する。これらのz11〜z13はまとめて特徴ベクトルz1と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルz1は、重みw1と重みw2との間の特徴ベクトルである。
【0080】
z11〜z13は、2つのニューロンN21、N22の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてw2と標記されている。
【0081】
ニューロンN21、N22は、それぞれ、z21、z22を出力する。これらは、まとめて特徴ベクトルz2と標記されている。この特徴ベクトルz2は、重みw2と重みw3との間の特徴ベクトルである。
【0082】
特徴ベクトルz21、z22は、3つのニューロンN31〜N33の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてw3と標記されている。
【0083】
最後に、ニューロンN31〜N33は、それぞれ、結果y1〜結果y3を出力する。
【0084】
ニューラルネットワークの動作には、学習モードと価値予測モードとがあり、学習モードにおいて学習データセットを用いて重みwを学習し、そのパラメータを用いて予測モードにおいてロータ設計装置の行動判断を行う(便宜上、予測と書いたが、検出、分類、推論など多様なタスクが可能である)。
【0085】
予測モードで実際にロータ設計装置を動かして得られたデータを即時学習し、次の行動に反映させる(オンライン学習)ことも、あらかじめ収集しておいたデータ群を用いてまとめた学習を行い、以降はずっとそのパラメータで検知モードを行う(バッチ学習)こともできる。その中間的な、ある程度データが溜まるたびに学習モードを挟むということも可能である。
【0086】
重みw1〜w3は、誤差逆伝搬法(バックプロパゲーション)により学習可能なものである。誤差の情報は、右側から入り左側に流れる。誤差逆伝搬法は、各ニューロンについて、入力xが入力されたときの出力yと真の出力y(教師)との差分を小さくするように、それぞれの重みを調整(学習)する手法である。
【0087】
このようなニューラルネットワークは、3層以上にさらに層を増やすことも可能である(深層学習と称される)。入力の特徴抽出を段階的に行い、結果を回帰する演算装置を、教師データのみから自動的に獲得することが可能である。
【0088】
そこで、本実施形態の機械学習装置1は、上述のQ学習を実施すべく、例えば図4に示すように状態観測部11、学習部12、および意思決定部13を備えている。ただし、本発明に適用される機械学習方法は、Q学習に限定されるものではない。たとえば教師あり学習を適用する場合、価値関数は学習モデル、報酬は誤差に対応する。なお、この行動価値テーブルとして、前述のニューラルネットワークを用いて近似した関数を用いることも可能であり、画像データなどのようにsおよびaの情報量が莫大であるときは特に有効である。
【0089】
上述した状態観測部11、学習部12、意思決定部13およびコギングトルク計算部15は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。例えばこれらをソフトウェアプログラム形式で構築する場合は、コンピュータ内にある演算処理装置をこのソフトウェアプログラムに従って動作させることで上述の各部の機能が実現される。またあるいは、状態観測部11および学習部12を備える機械学習装置1を、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。またあるいは、状態観測部11および学習部12を備える機械学習装置1のみならず意思決定部13も含めた形、または状態観測部11、学習部12、意思決定部13およびコギングトルク計算部15を含めた形で、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路を実現してもよい。
【符号の説明】
【0090】
1 機械学習装置
11 状態観測部
12 学習部
13 意思決定部
14 入力部
15 コギングトルク計算部
16 通知部
17 データ記憶部
21 報酬計算部
22 関数更新部
100 ロータ設計装置
【要約】
【課題】モータのロータの鉄心における磁石の最適な配置位置の容易に決定することができる機械学習装置および方法ならびにこの機械学習装置を備えたロータ設計装置を実現する。
【解決手段】モータのロータの鉄心における磁石の配置位置に関連付けられる条件を学習する機械学習装置は、鉄心に並設された複数の磁石の配置位置に関するデータと、複数の磁石が当該配置位置に並設されたときに発生するコギングトルクの大きさに関するデータと、各磁石の磁束密度に関するデータと、から構成される状態変数を観測する状態観測部11と、状態変数によって構成される訓練データセットに従って、鉄心における磁石の配置位置に関連付けられる条件を学習する学習部12と、を備える。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11