JP7325697B2 - 転移学習装置および転移学習方法 - Google Patents

転移学習装置および転移学習方法 Download PDF

Info

Publication number
JP7325697B2
JP7325697B2 JP2023531282A JP2023531282A JP7325697B2 JP 7325697 B2 JP7325697 B2 JP 7325697B2 JP 2023531282 A JP2023531282 A JP 2023531282A JP 2023531282 A JP2023531282 A JP 2023531282A JP 7325697 B2 JP7325697 B2 JP 7325697B2
Authority
JP
Japan
Prior art keywords
data
unit
processing
learning
transfer learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023531282A
Other languages
English (en)
Other versions
JPWO2023276097A1 (ja
Inventor
滉稀 中根
剛 佐藤
潤 丸田
秀之 増井
慎哉 西野
武之 河田
将哉 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2023276097A1 publication Critical patent/JPWO2023276097A1/ja
Application granted granted Critical
Publication of JP7325697B2 publication Critical patent/JP7325697B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Numerical Control (AREA)
  • Theoretical Computer Science (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Feedback Control In General (AREA)
  • Networks Using Active Elements (AREA)
  • Electrically Operated Instructional Devices (AREA)

Description

本開示は、加工機に加工を実行させる際の加工条件の設定を支援するための学習済みのモデル(以下「機械学習モデル」という。)を生成する転移学習装置および転移学習方法に関する。
加工機は、加工対象となるワークの加工を行う際、加工の各過程において、加工を行うための加工条件に従う。加工条件には、例えば、加工の位置または速度等を指示する値が含まれる。当該加工条件は、例えば、加工機のユーザによって指示される、または、加工機を制御する制御装置によってプログラムに従って設定される。しかし、加工機においては、加工の際の摩擦、温度、または、振動等の外乱によって、設定された加工条件の通りに加工が進まないことがある。そこで、従来、加工条件に関するデータを入力とし加工機が当該加工条件に基づいて実行した加工の状態に関するデータを出力する機械学習モデルを用いて、加工機が指示されている通りの加工結果を得るのに適した加工条件を設定できるようにする技術が知られている。
ところで、機械学習モデルを別の領域の学習に適用させる、いわゆる転移学習の技術が知られている。例えば、特許文献1には、環境または条件等の異なる様々なデバイスに対して最適な共有モデルを選択して供給するサーバ装置において、デバイスから収集したサンプルデータを利用して共有モデルの追加学習を行う技術が開示されている。共有モデルは、予め学習が行われているとはいえ、そのデバイスに特化した環境、条件での学習は行っていない状況であるため、サーバ装置は、高精度の判定、分類等を行うために、追加の学習を行って共有モデルの微調整を行う。サーバ装置は、共有モデルをベースに追加学習を行うことによって、転移学習と呼ばれる作用の効果を得るとしている。
国際公開第2018/173121号
加工機は、経年変化、ワークの変更、または、当該加工機が稼働する現場の環境等、加工機の状況に伴って、その特性が変化する。この変化に伴って、加工機が指示されている通りの加工結果を得るのに適した加工条件を設定するための機械学習モデルを、加工機が稼働する現在の状況に適した機械学習モデルとする必要が生じる。
しかし、仮に、ユーザが、現在の加工機の状況にあわせてゼロから学習させて新たに機械学習モデルを生成するとなると、時間がかかる。
そこで、例えば、上述の特許文献1に開示されている技術のように、いわゆる転移学習の技術を用いて、予め用意されている機械学習モデル(以下「第1機械学習モデル」という。)に基づき、加工機が稼働する現在の状況に適した機械学習モデル(以下「第2機械学習モデル」という。)を生成することが考えられる。
ここで、第2機械学習モデルを生成するためのデータ(以下「転移学習データ」という。)として、例えば、現在の状況下で加工機を稼働させて得られるデータが収集される必要がある。当該データは、例えば、加工機を制御している制御装置から得られる。制御装置は、加工機が加工を行う過程における時系列の加工条件および加工の状態を、予め設定された周期でサンプリングしている。しかし、一般に、制御装置のサンプリング周期は、1ms等、短い。また、制御装置が収集するデータには、様々なワークに対して行う様々な加工内容に対応するための様々な加工条件を示すデータが含まれ得る。すなわち、加工機を稼働させて制御装置から収集されるデータの量は膨大になる。
したがって、いわゆる転移学習の技術を用いたとしても、加工機を稼働させて収集されるデータの量が膨大であることにより、第2機械学習モデルを生成するのには、時間がかかる。
このように、加工の現場において収集されるデータの全部を用いて、実際に加工機が稼働する現場での当該加工機の状況に適した加工条件を設定するための第2機械学習モデルを生成するには、多大な時間を要するという課題があった。
本開示は、上記のような課題を解決するためになされたものであり、加工の現場において収集されるデータの全部を必要とせず、当該データの一部から、実際に加工機が稼働する現場での当該加工機の状況に適した加工条件を設定するための第2機械学習モデルを生成することを可能とした転移学習装置を提供することを目的とする。
本開示に係る転移学習装置は、加工機に複数ステップ分の加工を行わせるための時系列の加工条件に関するデータ、および、加工機が加工条件に基づき複数ステップ分実行した加工の状態に関するデータを含む複数の加工データを取得する加工データ取得部と、加工データ取得部が取得した複数の加工データに基づき、加工データ取得部が取得した各加工データに対する重要度を算出する分析部と、分析部が算出した重要度に基づいて、加工データ取得部が取得した複数の加工データのうちから、事前に生成されている、複数ステップ分の時系列の加工条件に関するデータを入力とし複数ステップ分実行した後の加工の状態に関するデータを出力する第1機械学習モデル、の転移学習を行うための複数の転移学習データを抽出する抽出部と、抽出部が抽出した複数の転移学習データを用いて第1機械学習モデルの転移学習を行い、複数ステップ分の時系列の加工条件に関するデータを入力とし複数ステップ分実行した後の加工の状態に関するデータを出力する第2機械学習モデルを生成する学習部とを備えたものである。
本開示によれば、上記のように構成したので、加工の現場において収集されるデータの全部を必要とせず、当該データの一部から、実際に稼働する現場での当該加工機の状況に適した加工条件を設定するための第2機械学習モデルを生成することができる。その結果、多大な時間を要することなく、上記第2機械学習モデルを生成することができる。
実施の形態1に係る転移学習装置の構成例を示す図である。 実施の形態1に係る転移学習装置における加工データ取得部の詳細な構成例を示す図である。 実施の形態1に係る転移学習装置における分析部の詳細な構成例を示す図である。 実施の形態1に係る転移学習装置の動作について説明するためのフローチャートである。 実施の形態1に係る転移学習装置の分析部の動作について詳細に説明するためのフローチャートである。 実施の形態1に係る転移学習装置の機械学習の動作について詳細に説明するためのフローチャートである。 図7Aおよび図7Bは、実施の形態1に係る転移学習装置のハードウェア構成の一例を示す図である。
以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。
実施の形態1.
図1は、実施の形態1に係る転移学習装置1の構成例を示す図である。
図2は、実施の形態1に係る転移学習装置1における加工データ取得部11の詳細な構成例を示す図である。
図3は、実施の形態1に係る転移学習装置1における分析部13の詳細な構成例を示す図である。
実施の形態1に係る転移学習装置1は、加工機4に加工を実行させる際の加工条件を設定するための学習済みのモデル(以下「機械学習モデル」という。)を生成する。
加工機4は、加工条件に従って加工を実施する産業用装置である。実施の形態1では、加工機4は、例えば、NC(Numerical Control)加工機を想定している。なお、これは一例に過ぎず、加工機4は、モータで駆動する加工機であればよい。
加工機4は、例えば、金属からなる加工対象物(以下「ワーク」という。)に対して切削または研磨を行うことにより、または、電気等のエネルギーを利用して不要な部分の除去を行うことにより、ワークを所望の形状とする。なお、ワークは金属に限らない。
加工機4には、例えば、レーザ加工機、放電加工機、切削加工機、研磨加工機、電解加工機、超音波加工機、または、電子ビーム加工機がある。
加工条件は、加工機4の制御に用いられる複数の制御パラメータの組み合わせによって構成される。加工条件には、複数の制御パラメータとして、例えば、指令位置、指令速度、指令加速度、フィードバック位置、フィードバック速度、フィードバック加速度、または、電流フィードバックを示す数値が設定される。加工条件には、ワークの種類、または、ワークに対する加工内容を示す数値が設定されていてもよい。
なお、制御装置2が、加工機4と接続され、加工条件に従ってワークを加工するよう、加工機4を制御する。
実施の形態1では、加工条件は、加工の過程、言い換えれば、加工の各ステップに応じて、制御装置2によって設定されることを想定している。
例えば、現場のユーザは、制御装置2が備える入力装置(図示省略)を操作して、加工機4に加工を行わせたいワークの種類、および、加工内容の指示を入力する。
例えば、制御装置2は、あるワークに対してある内容の加工を行うときにどういう加工のステップを実施するかが設定されたプログラムを記憶している。制御装置2は、ユーザから、加工機4に加工を行わせたいワークの種類、および、加工内容の指示が入力されると、記憶しているプログラムに従って、加工の各ステップにおける加工条件を設定し、設定した加工条件に従って加工機4に加工の各ステップを実行させる。
制御装置2は、加工機4を制御するとともに、加工の現場にて加工機4が加工を行う過程における、制御装置2によって設定された加工条件に関するデータ、および、加工の状態に関するデータを、予め設定された周期(以下「サンプリング周期」という。)でサンプリングする。加工の状態とは、ワークを加工した結果の状態をいい、例えば、加工機4が指示されている通りの加工結果に対する、実際に加工機4を稼働させて得られた加工結果の誤差である。実施の形態1では、加工の状態は、加工機4によって実際に実行された加工位置の、加工機4が指示されている加工位置に対する位置誤差を想定している。
加工機4は、サンプリング周期において、複数ステップ分の加工を行う。
制御装置2は、加工機4に加工を実行させる過程において、サンプリング周期で、複数ステップ分の加工条件に関するデータと、複数ステップ分行われた加工の状態に関するデータとを収集する。以下、制御装置2が現場の加工機4から収集する、加工条件に関するデータ、および、加工の状態に関するデータを、「加工データ」という。
ある加工データに含まれる加工条件に関するデータには、サンプリング周期にて実行された複数のステップ分の制御パラメータの時系列のデータが含まれる。つまり、ある加工データに含まれる加工条件に関するデータには、複数のステップ分の、指令位置を示す時系列のデータ、指令速度を示す時系列のデータ、または、指令加速度を示す時系列のデータ等が含まれる。
また、加工データに含まれる、複数ステップ分行われた加工の状態に関するデータについて、当該加工の状態は、複数ステップ分の加工が行われた時点から数ステップ先の時点の、ワークを加工した結果の状態である。具体的には、ある加工データには、ある時刻tまでのnステップ分の加工条件に関するデータと、時刻t+kにおける、加工の状態に関するデータが含まれている。
なお、一般に、制御装置2のサンプリング周期は、1ms程度である。
転移学習装置1は、制御装置2から複数の加工データを取得する。転移学習装置1は、制御装置2から取得した複数の加工データに基づいて、経年変化、ワークの変更、または、加工機4が稼働する現場の環境等、加工機4が稼働する現場の状況に適した加工条件を設定するための機械学習モデルを生成する。
具体的には、転移学習装置1は、複数の加工データを用いて、加工機4の工場出荷時等に予め用意されている機械学習モデル、に基づく転移学習を行うことで、加工機4が稼働する現場の状況に適した加工条件を設定するための機械学習モデルを生成する。
実施の形態1において、加工機4の工場出荷時等に予め用意されている機械学習モデルを「第1機械学習モデル」、当該第1機械学習モデルに基づいて転移学習装置1が生成する機械学習モデルを「第2機械学習モデル」という。実施の形態1において、第1機械学習モデルおよび第2機械学習モデルは、ニューラルネットワークにより構成されることを想定している。
第1機械学習モデルは、複数ステップ分の時系列の加工条件に関するデータを入力とし複数ステップ分実行した後の加工の状態に関するデータを出力する。
第1機械学習モデルは、例えば、出荷前の加工機4に、想定される基本的なワークに対する基本的な加工を実行させて得られた複数の加工データ、を学習データ(以下「事前学習データ」という。)とした学習により生成される。
例えば、加工機4の製造業者等が、制御装置2が備える入力装置を操作して、加工機4に基本的な加工を行わせたいワークの種類、および、基本的な加工内容の指示を入力する。制御装置2は、製造業者等から、加工機4に基本的な加工を行わせたいワークの種類、および、基本的な加工内容の指示が入力されると、加工の各ステップにおける加工条件を設定し、設定した加工条件に従って加工機4に加工の各ステップを実行させる。制御装置2が加工機4に各ステップを実行させることで、複数の事前学習データが得られる。なお、事前学習データに含まれる加工の状態に関するデータは、教師ラベルである。生成された第1機械学習モデルは、加工機4および制御装置2とともに出荷される。
加工機4においては、加工の際の摩擦、温度、または、振動等の外乱によって、加工条件にて指示されている通りに加工が進まないことがある。これに対し、予め第1機械学習モデルが用意されていることで、制御装置2は、例えば、第1機械学習モデルと加工条件に関するデータとに基づいて、設定された加工条件にて加工機4を稼働させた場合に生じる位置誤差を推測できる。そして、制御装置2は、推測した位置誤差を考慮して、加工条件の補正を行うことができる。また、例えば、制御装置2が推測した位置誤差に関する情報をユーザに提供し、ユーザが、推測された位置誤差を考慮して、制御装置2が記憶しているプログラムの修正、または、加工条件の補正を行うことができる。
しかし、加工機4は、加工機4が使用される現場における実際の加工機4の状況に伴って、その特性が変化する。そのため、第1機械学習モデルが用意されていたとしても、当該第1機械学習モデルが現場に即さないものとなり、加工機4は、より詳細には、加工機4を制御する制御装置2は、ユーザが意図した加工を行えない場合がある。第1機械学習モデルに未学習の加工条件に関するデータが入力され得るからである。
そこで、実施の形態1に係る転移学習装置1は、第1機械学習モデルに基づいて転移学習を行い、加工機4が稼働する現場の状況に適した加工条件を設定するための第2機械学習モデルを生成する。実施の形態1に係る転移学習装置1は、第2機械学習モデルの生成を、多大な時間を要することなく、効率的に生成することができる。以下、詳細に説明する。
実施の形態1に係る転移学習装置1は、制御装置2および記憶装置3と接続される。
制御装置2は、上述のとおり、加工機4の制御を行うとともに、加工機4が加工を行う過程における加工の状態に関するデータを、サンプリング周期で収集する。
記憶装置3は、事前学習データ記憶部31および事前学習モデル記憶部32を備えている。
事前学習データ記憶部31は、第1機械学習モデルの生成時に用いられた複数の事前学習データを記憶している。事前学習モデル記憶部32は、第1機械学習モデルを記憶している。
なお、記憶装置3は、加工機4に備えられていてもよいし、制御装置2に備えられていてもよい。また、制御装置2は、加工機4に備えられていてもよい。
転移学習装置1は、制御装置2から取得した複数の加工データと記憶装置3に記憶されている第1機械学習モデルとに基づき、第1機械学習モデルの転移学習を行うことで、第2機械学習モデルを生成する。転移学習装置1が制御装置2から取得する加工データには、上述のとおり、制御装置2が加工機4に実行させた、複数のステップ分の各制御パラメータの時系列のデータからなる加工条件に関するデータと、加工の状態に関するデータとが含まれる。
転移学習装置1は、加工データ取得部11、事前学習データ取得部12、分析部13、抽出部14、および、機械学習部15を備える。
加工データ取得部11は、加工データ前処理部111および加工データ記憶部112を備える。
分析部13は、圧縮部131および解析部132を備える。
機械学習部15は、選択部151、モデル読込部152、学習部153、評価部154、モデル記憶部155、評価値記憶部156、および、重み更新部157を備える。
加工データ取得部11は、制御装置2から複数の加工データを取得し、記憶する。
加工データ取得部11の加工データ前処理部111は、制御装置2から加工データを取得し、ローパスフィルタをかける等、取得した加工データの整形を行う。なお、加工データ前処理部111は、制御装置2から、例えば、1時間等、予め設定されている期間分の加工データを取得する。
加工データ前処理部111は、整形した後の加工データを、加工データ記憶部112に記憶させる。
加工データ記憶部112は、加工データ前処理部111が整形した後の複数の加工データを記憶する。
ここで、加工データ取得部11は、整形した後の複数の加工データのうちの一部の加工データを、評価用加工データとして、その他の複数の加工データとは区別して、加工データ記憶部112に記憶しておく。評価用加工データは1つでも複数でもよい。加工データ取得部11は、複数の加工データのうちからランダムに評価用加工データを選定してもよいし、決められたルールに従って評価用加工データを選定してもよい。決められたルールとは、例えば、1時間等、予め設定されている期間のうちの後半10分間に取得された加工データを評価用加工データとすること、である。
なお、ここでは、加工データ記憶部112は転移学習装置1が備えるようにしているが、これは一例に過ぎない。加工データ記憶部112は、転移学習装置1の外部の、転移学習装置1が参照可能な場所に備えられてもよい。
事前学習データ取得部12は、記憶装置3の事前学習データ記憶部31が記憶している複数の事前学習データを取得する。
事前学習データ取得部12は、取得した複数の事前学習データを分析部13に出力する。
分析部13は、加工データ取得部11において加工データ記憶部112に記憶されている整形後の複数の加工データと、事前学習データ取得部12から出力された複数の事前学習データとに基づき、整形後の複数の加工データに対する重要度を算出する。以下、整形後の加工データを、単に加工データという。分析部13は、加工データ毎に重要度を算出する。
実施の形態1において、分析部13が算出する、加工データに対する重要度は、その加工データが第2機械学習モデルを生成する際の学習データとして用いられた場合にどれだけ学習に有効かの度合いを示す。
なお、分析部13が加工データ記憶部112から取得する整形後の複数の加工データは、評価用加工データ以外の加工データである。加工データ記憶部112に記憶されている評価用加工データは、評価部154が第2機械学習モデルの評価を行う際に用いられる。評価部154の詳細については、後述する。
まず、分析部13において、圧縮部131は、複数の加工データ、および、複数の事前学習データを圧縮する。分析部13は、自己符号化器(AE:Autoencoder)、主成分分析(PCA:Principal Component Analysis)、または、t分布型確率的近傍埋め込み法(t-SNE:T-distributed Stochastic Neighbor embedding)等の既知の次元圧縮手法を用いて、複数の加工データ、および、複数の事前学習データを圧縮すればよい。
圧縮部131が、複数の加工データ、および、複数の事前学習データを圧縮することで、分析部13における、加工データに対する重要度の算出処理を軽くすることができる。
解析部132は、圧縮部131が圧縮した後の複数の加工データ(以下「圧縮後加工データ」という。)と、圧縮部131が圧縮した後の複数の事前学習データ(以下「圧縮後事前学習データ」という。)とに基づき、各圧縮後加工データに対する重要度を算出する。
解析部132は、例えば、変化点検知手法によって、圧縮後加工データに含まれている加工条件に関するデータの急峻な変化を検知することで、当該圧縮後加工データの重要度を算出する。具体的には、解析部132は、加工条件に関するデータに含まれている、時系列の指令速度データ、または、時系列の指令加速度データにおいて、急峻な変化があったことを示すスコアを取得する。解析部132は取得されたスコアが高いほど、重要度が高くなるよう、圧縮後加工データに対する重要度を算出する。解析部132は、取得したスコアを重要度としてもよいし、予め決められている算出式に取得したスコアを代入して重要度を算出してもよい。速度または加速度は、位置誤差の原因となる制御パラメータである。解析部132は、位置誤差の原因となる制御パラメータに急峻な変化があるかによって、重要度を算出する。なお、解析部132は、変化点検知手法によって重要度を算出する場合、複数の圧縮後事前学習データを必要としない。
また、例えば、解析部132は、複数の圧縮後加工データと複数の圧縮後事前学習データのデータ間距離を求めて、当該データ間距離を重要度として算出してもよい。
具体的には、解析部132は、圧縮後加工データ毎に、「データ間距離算出処理」を行う。
「データ間距離算出処理」において、解析部132は、複数の圧縮後事前学習データのうちのある事前学習データ(以下「対象事前学習データ」という。)を選択し、圧縮後加工データと対象事前学習データとのデータ間距離を算出する。解析部132は、全ての事前学習データを対象事前学習データとして選択するまで、圧縮後加工データと対象事前学習データとのデータ間距離の算出を繰り返す。そして、解析部132は、算出したデータ間距離のうち最大のデータ間距離を、圧縮後加工データと複数の圧縮後事前学習データとのデータ間距離とする。
解析部132は、この「データ間距離算出処理」を、複数の圧縮後加工データ全てに対して行い、各圧縮後加工データの、複数の圧縮後事前学習データとのデータ間距離を算出する。解析部132は、圧縮後加工データの重要度について、複数の圧縮後事前学習データとのデータ間距離が大きいほど、重要度が高くなるよう、当該重要度を算出する。
なお、解析部132は、「データ間距離算出処理」において、少なくとも圧縮後加工データに含まれる加工条件に関するデータと、複数の圧縮後事前学習データに含まれる加工条件に関するデータとのデータ間距離を算出するようになっていればよい。
また、例えば、解析部132は、加工データ取得部11において加工データ記憶部112に記憶されている複数の加工データに含まれる加工条件に関するデータを第1機械学習モデルに入力して得られた加工の状態に関するデータ(以下「第1推論結果」という。)と、加工データ取得部11において加工データ記憶部112に記憶されている複数の加工データに含まれる加工の状態に関するデータとの誤差(以下「推論誤差」という。)に基づいて重要度を算出する「推論誤差算出処理」を行ってもよい。
解析部132は、加工データ毎に「推論誤差算出処理」を行う。
「推論誤差算出処理」において、解析部132は、第1推論結果と加工データに含まれる加工の状態に関するデータとの推論誤差を算出する。解析部132は、この「推論誤差算出処理」を、複数の加工データ全てに対して行い、各加工データに対応する推論誤差を算出する。
解析部132は、加工データの重要度について、加工データに対応する推論誤差が大きいほど、重要度が高くなるよう、当該重要度を算出する。
なお、上述したように、解析部132は、「推論誤差算出処理」を行うことで重要度を算出する場合は、各圧縮後加工データではなく、圧縮前の各加工データに対して「推論誤差算出部理」を行って、各加工データに対する重要度を算出する。
推論誤差算出処理を行う場合、解析部132は、例えば、記憶装置3の事前学習モデル記憶部32から第1機械学習モデルを読み込めばよい。
また、例えば、解析部132は、いわゆる決定木による分類手法を用いて、複数の圧縮後加工データと、複数の圧縮後事前学習データの分類分けを行った結果から、重要度を算出してもよい。解析部132は、同じ分類に分類分けされなかった圧縮後事前学習データが多かった圧縮後加工データほど、当該圧縮後加工データに対して算出される重要度が高くなるようにする。
なお、解析部132は、少なくとも圧縮後加工データに含まれる加工条件に関するデータと、複数の圧縮後事前学習データに含まれる加工条件に関するデータとの分類分けを行うようになっていればよい。
解析部132が複数の圧縮後加工データに対して重要度を算出すると、分析部13は、各圧縮後加工データと重要度とを対応付けて、抽出部14に出力する。
なお、解析部132が「推論誤差算出処理」を行うことで複数の加工データに対して重要度を算出した場合は、分析部13は、各加工データと重要度とを対応付けて、抽出部14に出力する。
抽出部14は、分析部13が算出した重要度に基づいて、加工データ取得部11が取得した複数の加工データのうちから、第1機械学習モデルの転移学習を行うための複数の加工データ、言い換えれば、転移学習データを抽出する。
例えば、加工データには当該加工データの取得日時の情報等、加工データを特定可能な情報が付与されており、抽出部14は、分析部13から出力された圧縮後加工データと、加工データ取得部11が取得した加工データとを、加工データを特定可能な情報で対応付ける。これにより、抽出部14は、加工データ取得部11が取得した複数の加工データに対応する重要度を判定できる。なお、抽出部14は、分析部13から加工データが出力された場合は、分析部13から加工データが出力された加工データと加工データ取得部11が取得した加工データとを対応づければよい。
抽出部14は、加工データ取得部11が取得した複数の加工データと分析部13が算出した重要度を対応付け、複数の加工データを、重要度の降順にソートする。そして、抽出部14は、例えば、重要度が高い順に予め決められた数の加工データを、転移学習データとして抽出する。
また、抽出部14は、転移学習データを抽出した際、特徴量の抽出も行う。
例えば、抽出部14は、各加工データについて、加工データに含まれる加工条件に関するデータに対して、既知の移動平均の手法を用いて特徴量を抽出し、特徴量を抽出した後の加工条件に関するデータと加工の状態に関するデータとを含む加工データを転移学習データとする。例えば、抽出部14は、各加工データについて、加工データに含まれる加工条件に関するデータの最大値および最小値を特徴量として抽出し、特徴量を抽出した後の加工条件に関するデータと加工の状態に関するデータとを含む加工データを転移学習データとしてもよい。例えば、加工条件に関するデータに含まれる速度データを例に挙げると、抽出部14は、時系列の速度データのうち最大値および最小値を特徴量として抽出することになる。抽出部14は、加工条件に関するデータに含まれる、制御パラメータを示すデータ毎に、最大値および最小値を特徴量として抽出する。
また、例えば、抽出部14は、各加工データに含まれる加工条件に関するデータに対して、LightGBMを使って特徴量重要度を算出し、算出された特徴量重要度に基づき重要ではないと想定される加工条件に関するデータ、言い換えれば、特徴量重要度が「0」の加工条件に関するデータに対して、「0」をかけあわせてマスクをかける。具体例を挙げて説明すると、今、例えば、加工条件に関するデータには、指令速度データ、指令加速度データ、電流指令データ、および、指令位置データが含まれるとする。そして、加工条件に関するデータに対してLightGBMを使って特徴量重要度を算出した結果、位置データに対する特徴量重要度が「0」となり、その他の速度データ、加速度データ、および、電流データに対する特徴量重要度は「1」以上となったとする。この場合、抽出部14は、位置データに「0」をかけあわせてマスクをかける。抽出部14は、マスクをかけた後の加工条件に関するデータと加工の状態に関するデータとを含む加工データを転移学習データとする。
抽出部14は、分析部13によって算出された重要度が対応付けられ、特徴量の抽出が行われた後の複数の転移学習データを、機械学習部15に出力する。
機械学習部15は、抽出部14から出力された複数の転移学習データを用いて第1機械学習モデルの転移学習を行い、第2機械学習モデルを生成する。
機械学習部15について、詳細に説明する。
選択部151は、複数の転移学習データのうちから、第2機械学習モデルを生成するための複数の転移学習データ(以下「選択転移学習データ」という。)を選択する。
具体的には、選択部151は、抽出部14から出力された複数の転移学習データについて、それぞれ、優先度を付与し、付与した優先度に基づいて、選択転移学習データを選択する。実施の形態1において、選択部151が転移学習データに付与する優先度は、当該優先度が付与されている転移学習データが、第2機械学習モデルの生成に用いられるのに優先されるべき度合いを示す。
選択部151は、まず、抽出部14から複数の転移学習データが出力された際に、当該複数の転移学習データに優先度を付与する。選択部151は、例えば、各転移学習データに対して、優先度の初期値を一律に付与する。優先度の初期値は、予め、適宜設定可能である。また、例えば、選択部151は、複数の転移学習データに対応付けられている重要度を優先度としてもよい。選択部151が、抽出部14から複数の転移学習データが出力された際に当該複数の転移学習データに優先度を付与する処理を、「優先度の初期設定処理」ともいう。
選択部151は、「優先度の初期設定処理」にて各転移学習データに優先度を付与すると、付与した優先度に基づいて、選択転移学習データを選択する。
選択部151は、例えば、複数の転移学習データのうち、付与されている優先度が高い順に、予め設定されている数の転移学習データを、選択転移学習データとして選択する。例えば、一律に同じ優先度が付与されている場合、選択部151は、ランダムに選択転移学習データを選択してもよい。
また、選択部151は、重み更新部157から、付与されている優先度が更新された選択転移学習データが出力された場合は、更新後の優先度に基づいて、選択転移学習データのサンプリングを行う。例えば、選択部151は、更新後の優先度について、予め設定された閾値以上の優先度の選択転移学習データをサンプリングする。
重み更新部157の詳細については、後述する。選択部151による選択転移学習データのサンプリングの詳細についても、重み更新部157の説明とあわせて、後述する。
選択部151は、抽出部14から複数の転移学習データが出力された際に選択した選択転移学習データを、学習部153に出力する。
選択部151は、重み更新部157から出力された選択転移学習データに基づき、選択転移学習データのサンプリングを行った場合は、サンプリング後の選択転移学習データを、学習部153に出力する。
モデル読込部152は、記憶装置3の事前学習モデル記憶部32に記憶されている第1機械学習モデルを読み込む。
なお、モデル読込部152の機能は、学習部153が備えてもよい。この場合、転移学習装置1は、モデル読込部152を備えない構成とできる。
学習部153は、選択部151から出力された複数の選択転移学習データを用いて、モデル読込部152が読み込んだ第1機械学習モデルの転移学習を行い、複数ステップ分の時系列の加工条件に関するデータを入力とし複数ステップ分実行した後の加工の状態に関するデータを出力する第2機械学習モデルを生成する。すなわち、選択転移学習データに含まれる加工の状態に関するデータが教師ラベルとなる。
学習部153は、生成した第2機械学習モデルを、モデル記憶部155に記憶させる。
また、学習部153は、生成した第2機械学習モデルを、当該第2機械学習モデルを生成した際に用いた選択転移学習データとともに、評価部154に出力する。学習部153は、選択転移学習データには、選択部151から出力された際に付与されていた優先度を付与しておく。
学習部153が用いる機械学習の手法は、教師あり学習が可能な手法であれば、どのような手法であってもよい。学習部153は、いわゆる教師あり学習によって第2機械学習モデルを生成する。
なお、抽出部14が、特徴量を抽出する際、既知の移動平均の手法、または、加工条件に関するデータの最大値および最小値を抽出する手法を用いた場合、選択転移学習データは、第1機械学習モデルを生成した際の事前学習データとは、データの構成が異なる。つまり、選択転移学習データは、第1機械学習モデルの入力とあわない。よって、この場合、学習部153は、例えば、選択転移学習データを、予め用意されている、第1機械学習モデルとは別の機械学習モデル(以下「第3機械学習モデル」という。)に入力して次元圧縮(特徴量抽出)を行う。また、学習部153は、これと並行して、特徴量の抽出を行っていない状態の選択転移学習データを第1機械学習モデルに入力して途中まで学習し、次元圧縮(特徴量抽出)を行う。なお、学習部153は、特徴量の抽出を行っていない状態の選択転移学習データを、抽出部14から、選択部151を介して取得すればよい。そして、学習部153は、第1機械学習モデルで途中まで学習を行って得られたデータと、第3機械学習モデルから得られたデータとを合わせて、予め用意されている第1機械学習モデルおよび第3機械学習モデルとは別の機械学習モデル(以下「第4機械学習モデル」という。)に入力して加工の状態に関するデータを得る転移学習を実施する。第4機械学習モデルは、第1機械学習モデルの途中までの学習によって得られたデータと第3機械学習モデルから得られたデータとを結合したデータを入力とし、加工の状態に関するデータを出力する機械学習モデルである。
評価部154は、学習部153が生成した第2機械学習モデルの評価を行う。
実施の形態1において、評価部154は、2つの方法で第2機械学習モデルの評価を行う。
1つめの評価方法として、評価部154は、学習部153によって第2機械学習モデルが生成された際に用いられた複数の選択転移学習データ個々に対する評価を行うことで、第2機械学習モデルの評価を行う。当該評価方法を、「第1評価」ともいう。例えば、学習部153が5つの選択転移学習データを用いて第2機械学習モデルを生成したとすると、評価部154は、5つの選択転移学習データそれぞれの評価を行う。
2つめの評価方法として、評価部154は、学習部153によって第2機械学習モデルが生成された際に用いられた複数の選択転移学習データ全体に対する評価を行うことで、第2機械学習モデルの評価を行う。当該評価方法を、「第2評価」ともいう。例えば、上述の例でいうと、評価部154は、5つの選択転移学習データ全体としての評価を行う。
評価部154は、例えば、誤差(例えば、平均二乗誤差または平均絶対誤差)を用いて、複数の選択転移学習データに対する評価値を算出することで、複数の選択転移学習データに対する評価を行う。
具体的には、まず、評価部154は、複数の選択転移学習データに含まれている加工条件に関するデータを第2機械学習モデルに入力し、加工の状態に関するデータを得る。このとき、選択転移学習データの数の分だけ、加工の状態に関するデータが得られる。評価部154は、第2機械学習モデルに基づき得られた各加工の状態に関するデータと、対応する、複数の転移学習データに含まれている加工の状態に関するデータとの誤差を算出することで、各選択転移学習データに対する評価値(以下「個別評価値」という。)を算出する。これが、第1評価である。
具体例を挙げて説明すると、例えば、選択転移学習データが5つ(第1選択転移学習データ、第2選択転移学習データ、第3選択転移学習データ、第4選択転移学習データ、および、第5選択転移学習データ)あり、各選択転移学習データに含まれる加工の状態に関するデータは、「0.15」、「0.32」、「0.10」、「-0.52」、および、「-0.11」だったとする。なお、これらの加工の状態に関するデータは、それぞれ、学習部153が第2機械学習モデルを生成した際の教師ラベルになったデータである。
一方、評価部154が、第1選択転移学習データに含まれている加工条件に関するデータ、第2選択転移学習データに含まれている加工条件に関するデータ、第3選択転移学習データに含まれている加工条件に関するデータ、第4選択転移学習データに含まれている加工条件に関するデータ、および、第5選択転移学習データに含まれている加工条件に関するデータをそれぞれ第2機械学習モデルに入力して得られた加工条件に関するデータは、「0.10」、「0.28」、「0.14」、「-0.14」、および、「-0.19」だったとする。
この場合、評価部154は、第1選択転移学習データに対する個別評価値「0.05」(「0.15」と「0.10」の絶対誤差)を算出する。また、評価部154は、第2選択転移学習データに対する個別評価値「0.04」(「0.32」と「0.28」の絶対誤差)を算出する。また、評価部154は、第3選択転移学習データに対する個別評価値「0.04」(「0.10」と「0.14」の絶対誤差)を算出する。また、評価部154は、第4選択転移学習データに対する個別評価値「0.38」(「-0.52」と「-0.14」の絶対誤差)を算出する。また、評価部154は、第5選択転移学習データに対する個別評価値「0.08」(「-0.11」と「-0.19」の絶対誤差)を算出する。
次に、評価部154は、第1評価を行って算出した、各選択転移学習データに対する評価値の平均値を算出することで、複数の選択転移学習データ全体に対する評価値(以下「全体評価値」という。)を算出する。これが第2評価である。
上述の具体例でいうと、評価部154は、複数の選択転移学習データ(第1選択転移学習データ、第2選択転移学習データ、第3選択転移学習データ、第4選択転移学習データ、および、第5選択転移学習データ)全体に対する全体評価値「0.118」(「0.05」、「0.04」、「0.04」、「0.38」、および、「0.08」の平均絶対誤差)を算出する。
評価部154は、複数の選択転移学習データについて、各選択転移学習データと、対応する個別評価値とを対応付けて、重み更新部157に出力する。
また、評価部154は、複数の選択転移学習データと全体評価値とを対応付けて、評価値記憶部156に記憶させる。例えば、評価部154は、複数の選択転移学習データと、全体評価値と、第2機械学習モデルとを対応付けて、評価値記憶部156に記憶させてもよい。
なお、評価部154は、複数の選択転移学習データ全体に対する全体評価値を算出するとともに、評価用加工データ全体に対する評価値(以下「テスト全体評価値」という。)の算出も行う。評価用加工データは、加工データ取得部11が加工データ記憶部112に記憶している。評価部154は、評価用加工データと第1機械学習モデルとに基づき、第2機械学習モデルを生成する。そして、評価部154は、複数の選択転移学習データに対して行った第2評価と同様の方法で、評価用加工データ全体に対するテスト全体評価値を算出すればよい。
評価部154は、評価用加工データとテスト全体評価値とを対応付けて、評価値記憶部156に記憶させる。例えば、評価部154は、評価用加工データと、テスト全体評価値と、第2機械学習モデルとを対応付けて、評価値記憶部156に記憶させてもよい。
モデル記憶部155は、学習部153が生成した第2機械学習モデルを記憶する。
なお、ここでは、モデル記憶部155は、転移学習装置1に備えられるものとするが、これは一例に過ぎない。モデル記憶部155は、転移学習装置1の外部の、転移学習装置1が参照可能な場所に備えられてもよい。例えば、モデル記憶部155は、制御装置2、または、記憶装置3に備えられてもよい。
評価値記憶部156は、評価部154から出力された、全体評価値が対応付けられた複数の選択転移学習データを記憶する。また、評価値記憶部156は、評価部154から出力された、テスト全体評価値が対応付けられた評価用加工データを記憶する。
なお、ここでは、評価値記憶部156は、転移学習装置1に備えられるものとするが、これは一例に過ぎない。評価値記憶部156は、転移学習装置1の外部の、転移学習装置1が参照可能な場所に備えられてもよい。例えば、評価値記憶部156は、制御装置2、または、記憶装置3に備えられてもよい。
重み更新部157は、評価部154が行った第2機械学習モデルの評価結果に基づき、各選択転移学習データに付与されている優先度を更新する。
評価部154が行った第2機械学習モデルの評価結果とは、すなわち、評価部154から出力された、個別評価値が対応付けられた複数の選択転移学習データである。
重み更新部157は、選択転移学習データ毎に、優先度の更新を行う。
重み更新部157は、例えば、各選択転移学習データに付与されている優先度を、複数の選択転移学習データに対応付けられている個別評価値で更新する。重み更新部157は、例えば、予め設定されている、優先度を算出するための条件式に個別評価値を代入して、優先度を算出し、算出した優先度で、選択転移学習データに付与されている優先度を更新してもよい。重み更新部157は、対応付けられている個別評価値が低いほど、選択転移学習データに付与される優先度が高くなるよう、優先度の更新を行う。
重み更新部157は、更新後の優先度を付与した複数の選択転移学習データを、選択部151に出力する。
選択部151は、重み更新部157から、更新後の優先度を付与した複数の選択転移学習データが出力されると、優先度に基づき、複数の選択転移学習データのサンプリングを行う。
例えば、選択部151は、優先度が予め設定された閾値(以下「サンプリング用閾値」という。)以上の選択転移学習データをサンプリングする。
そして、選択部151は、サンプリング後の選択転移学習データを、学習部153に出力する。選択部151がサンプリング後の選択転移学習データには重み更新部157が更新した優先度が付与されている。
学習部153は、選択部151から、サンプリング後の選択転移学習データが出力されると、第2機械学習モデルの再学習を行う。学習部153が再学習を行うと、評価部154は再学習によって生成された第2機械学習モデルの評価を行い、重み更新部157は、優先度の更新を行う。選択部151からサンプリング後の選択転移学習データが出力される間、学習部153による学習、評価部154による第2機械学習モデルの評価、および、重み更新部157による優先度の更新が繰り返される。
なお、選択部151は、学習部153による再学習が必要か否かを判定した上で、選択転移学習データのサンプリングを行う。
選択部151は、学習部153による再学習が不要と判定した場合、選択転移学習データのサンプリングをやめる。これにより、学習部153による第2機械学習モデルの生成が完了する。
選択部151は、例えば、重み更新部157が更新した、各選択転移学習データに付与されている優先度が、いずれも、予め設定された閾値(以下「第1打ち止め用閾値」という。)以下となった場合、学習部153による再学習が不要と判定する。選択部151は、例えば、評価値記憶部156に記憶されている全体評価値およびテスト全体評価値が、いずれも、予め設定された閾値(以下「第2打ち止め用閾値」という。)以上となった場合、学習部153による再学習が不要と判定してもよい。
学習部153による第2機械学習モデルの生成が完了すると、例えば、制御装置2は、加工機4に加工を実行させる際に、当該第2機械学習モデルを用いて、加工の過程における位置誤差を推論する。そして、制御装置2は、例えば、推論結果に基づき、位置誤差を補正できるよう、加工条件を設定する。また、例えば、制御装置2は、推論結果を、制御装置2が備える表示装置(図示省略)に表示させてユーザに知らせてもよい。
実施の形態1に係る転移学習装置1の動作について説明する。
図4は、実施の形態1に係る転移学習装置1の動作について説明するためのフローチャートである。
加工データ取得部11は、制御装置2から複数の加工データを取得し、記憶する(ステップST1)。
具体的には、ステップST1にて、加工データ取得部11の加工データ前処理部111は、制御装置2から加工データを取得し、取得した加工データの整形を行う。そして、加工データ前処理部111は、整形した後の加工データを、加工データ記憶部112に記憶させる。
事前学習データ取得部12は、記憶装置3の事前学習データ記憶部31が記憶している複数の事前学習データを取得する(ステップST2)。
事前学習データ取得部12は、取得した複数の事前学習データを分析部13に出力する。
分析部13は、加工データ取得部11において加工データ記憶部112に記憶されている整形後の複数の加工データと、事前学習データ取得部12から出力された複数の事前学習データとに基づき、整形後の複数の加工データに対する重要度を算出する(ステップST3)。
分析部13は、各加工データ(圧縮後加工データ)と重要度とを対応付けて、抽出部14に出力する。
抽出部14は、ステップST3にて分析部13が算出した重要度に基づいて、ステップST1にて加工データ取得部11が取得した複数の加工データのうちから、第1機械学習モデルの転移学習を行うための複数の加工データ、言い換えれば、転移学習データを抽出する(ステップST4)。
抽出部14は、転移学習データを抽出した際、特徴量の抽出も行う。
抽出部14は、ステップST3にて分析部13によって算出された重要度が対応付けられ、特徴量の抽出が行われた後の複数の転移学習データを、機械学習部15に出力する。
機械学習部15は、ステップST4にて抽出部14から出力された複数の転移学習データを用いて第1機械学習モデルの転移学習を行い、第2機械学習モデルを生成する(ステップST5)。
図5は、実施の形態1に係る転移学習装置1の分析部13の動作について詳細に説明するためのフローチャートである。すなわち、図5は、図4のステップST3の処理について、詳細に説明するためのフローチャートである。
まず、分析部13において、圧縮部131は、複数の加工データ、および、複数の事前学習データを圧縮する(ステップST31)。
解析部132は、ステップST31にて圧縮部131が圧縮した後の複数の圧縮後加工データと、圧縮部131が圧縮した後の複数の圧縮後事前学習データとに基づき、各圧縮後加工データに対する重要度を算出する(ステップST32)。
解析部132が複数の圧縮後加工データに対して重要度を算出すると、分析部13は、各圧縮後加工データと重要度とを対応付けて、抽出部14に出力する。
図6は、実施の形態1に係る転移学習装置1の機械学習部15の動作について、詳細に説明するためのフローチャートである。すなわち、図6は、図5のステップST5の処理について、詳細に説明するためのフローチャートである。
モデル読込部152は、記憶装置3の事前学習モデル記憶部32に記憶されている第1機械学習モデルを読み込む(ステップST51)。
選択部151は、抽出部14から複数の転移学習データが出力されると、「優先度の初期設定処理」を行う(ステップST52)。
選択部151は、転移学習が必要か否かを判定する(ステップST53)。具体的には、選択部151は、転移学習に基づき第2機械学習モデルの生成が必要か否かを判定する。選択部151は、まだ第2機械学習モデルの生成を行っていない場合、転移学習が必要であると判定する。一方、選択部151は、第2機械学習モデルを生成済みである場合、転移学習は不要であると判定する。なお、例えば、学習部153が、第2機械学習モデルを生成した際に、機械学習部15が参照可能なモデル生成済みフラグに「1」を設定する。選択部151は、モデル生成済フラグに「1」が設定されているか否かによって、第2機械学習モデルが生成済みであるか否かを判定すればよい。当該モデル生成済みフラグは、例えば、第2機械学習モデルが完成した際に初期化される。
選択部151は、転移学習が必要であると判定した場合(ステップST53の“YES”の場合)、ステップST52の「優先度の初期設定処理」にて各転移学習データに付与した優先度に基づいて、選択転移学習データを選択する(ステップST54)。
学習部153は、ステップST54にて選択部151から出力された複数の選択転移学習データを用いて、ステップST51にてモデル読込部152が読み込んだ第1機械学習モデルの転移学習を行い、第2機械学習モデルを生成する(ステップST55)。
学習部153は、生成した第2機械学習モデルを、モデル記憶部155に記憶させる。
また、学習部153は、生成した第2機械学習モデルを、当該第2機械学習モデルを生成した際に用いた選択転移学習データとともに、評価部154に出力する。
評価部154は、ステップST55にて学習部153が生成した第2機械学習モデルの評価を行う(ステップST56)。具体的には、評価部154は、学習部153によって第2機械学習モデルが生成された際に用いられた複数の選択転移学習データ個々に対する評価、および、当該複数の選択転移学習データ全体に対する評価を行う。
評価部154は、複数の選択転移学習データについて、各選択転移学習データと、対応する個別評価値とを対応付けて、重み更新部157に出力する。
また、評価部154は、複数の選択転移学習データと全体評価値とを対応付けて、評価値記憶部156に記憶させる。例えば、評価部154は、複数の選択転移学習データと、全体評価値と、第2機械学習モデルとを対応付けて、評価値記憶部156に記憶させてもよい。
なお、評価部154は、ステップST56にて、評価部154は、評価用加工データ全体に対するテスト全体評価値の算出も行う。評価部154は、評価用加工データとテスト全体評価値とを対応付けて、評価値記憶部156に記憶させる。
重み更新部157は、ステップST56にて評価部154が行った第2機械学習モデルの評価結果に基づき、各選択転移学習データに付与されている優先度を更新する(ステップST57)。その後、機械学習部15の動作は、ステップST53に戻る。
一方、ステップST53にて、転移学習が必要ではないと判定した場合(ステップST53の“NO”の場合)、すなわち、第2機械学習モデルが生成済みである場合、選択部151は、学習部153による再学習が必要か否かを判定する(ステップST58)。
選択部151は、学習部153による再学習が必要と判定した場合(ステップST58の“YES”の場合)、選択転移学習データのサンプリングを行う(ステップST59)。
選択部151は、サンプリング後の選択転移学習データを、学習部153に出力する。
学習部153は、ステップST59にて、選択部151から、サンプリング後の選択転移学習データが出力されると、第2機械学習モデルの再学習を行う(ステップST60)。
そして、機械学習部15の動作は、ステップST56の処理に進む。なお、この場合、ステップST56にて、評価部154は、学習部153が再学習した第2機械学習モデルの評価を行う。その後、ステップST56の処理が行われ、機械学習部15の動作は、ステップST53の処理に戻る。
一方、ステップST58において、選択部151が、学習部153による再学習は必要ではないと判定した場合(ステップST58の“NO”の場合)、選択部151は、選択転移学習データのサンプリングをやめる。これにより、学習部153による第2機械学習モデルの生成が完了する。そして、機械学習部15は、図6のフローチャートに示す処理を終了する。
なお、図4に示すフローチャートを用いて説明した転移学習装置1の動作について、図4のフローチャートでは、ステップST1、ステップST2の順で処理が行われるものとしたが、この順で処理が行われることは必須ではない。例えば、ステップST2、ステップST1の順で処理が行われてもよいし、ステップST1の処理とステップST2の処理とが並行して行われてもよい。
また、図6に示すフローチャートを用いて説明した機械学習部15の詳細な動作について、図6のフローチャートでは、まず、ステップST51の処理が行われるものとしたが、これは一例に過ぎない。ステップST51の処理は、ステップST55の処理が行われるまでに完了していればよい。
このように、転移学習装置1は、制御装置2から取得した複数の加工データに対する重要度を算出し、重要度に基づいて、複数の加工データのうちから、第1機械学習の転移学習を行うための複数の転移学習データを抽出する。そして、転移学習装置1は、抽出した複数の転移学習データを用いて第1機械学習の転移学習を行い、第2機械学習モデルを生成する。
上述のとおり、加工機4が稼働される現場では、制御装置2から取得される加工データの量が膨大となる。したがって、仮に、転移学習装置1が、単純に取得された全ての加工データを用いて転移学習を行ったとすると、例え、転移学習が効率的な学習であったとしても、第2機械学習モデルの生成に時間がかかってしまう。これに対し、実施の形態1に係る転移学習装置1は、制御装置2から取得した各加工データに対して重要度を算出し、算出した重要度に応じて、転移学習データを抽出する。
これにより、転移学習装置1は、第2機械学習モデルを生成するのに用いるデータの量を減らすことができる。つまり、転移学習装置1は、加工の現場において収集される加工データの全部を必要とせず、当該加工データの一部から、実際に加工機4が稼働する現場での当該加工機4の状況に適した加工条件を設定するための第2機械学習モデルを生成することができる。その結果、転移学習装置1は、多大な時間をかけることなく効率的に第2機械学習モデルを生成できる。
なお、転移学習装置1は、重要度に基づいて転移学習データを抽出するので、言い換えれば、第2機械学習モデルを生成する際の学習データとして用いられた場合に有効と想定される度合いが高い加工データを、転移学習データとして抽出するので、数を減らしたとしても、第2機械学習モデルの生成に適した加工データを転移学習データとすることができる。
また、転移学習装置1は、重要度に基づいて抽出した各転移学習データに対して優先度を付与し、当該優先度に基づいて複数の前記転移学習データのうちから複数の選択転移学習データを選択する。そして、転移学習装置1は、選択した複数の選択転移学習データを用いて第1機械学習モデルの転移学習を行う。
これにより、転移学習装置1は、さらに第2機械学習モデルを生成するのに用いるデータの量を減らすことができる。その結果、転移学習装置1は、さらに効率的に第2機械学習モデルを生成できる。
また、転移学習装置1は、生成した第2機械学習モデルの評価を行い、評価結果に基づいて、選択転移学習データに付与されている優先度を更新する。そして、転移学習装置1は、更新した後の優先度に基づいて選択転移学習データのサンプリングを行い、サンプリング後の選択転移学習データを用いて、第2機械学習モデルを再学習する。
これにより、転移学習装置1は、生成した第2機械学習モデルの精度を高めることができる。
図7Aおよび図7Bは、実施の形態1に係る転移学習装置1のハードウェア構成の一例を示す図である。
実施の形態1において、加工データ取得部11と、事前学習データ取得部12と、分析部13と、抽出部14と、機械学習部15の機能は、処理回路501により実現される。すなわち、転移学習装置1は、制御装置2から取得した複数の加工データから抽出した転移学習データを用いて、予め生成されている第1機械学習モデルに基づき転移学習を行って、第2機械学習モデルを生成する制御を行うための処理回路501を備える。
処理回路501は、図7Aに示すように専用のハードウェアであっても、図7Bに示すようにメモリに格納されるプログラムを実行するプロセッサ504であってもよい。
処理回路501が専用のハードウェアである場合、処理回路501は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、またはこれらを組み合わせたものが該当する。
処理回路がプロセッサ504の場合、加工データ取得部11と、事前学習データ取得部12と、分析部13と、抽出部14と、機械学習部15の機能は、ソフトウェア、ファームウェア、または、ソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアは、プログラムとして記述され、メモリ505に記憶される。プロセッサ504は、メモリ505に記憶されたプログラムを読み出して実行することにより、加工データ取得部11と、事前学習データ取得部12と、分析部13と、抽出部14と、機械学習部15の機能を実行する。すなわち、転移学習装置1は、プロセッサ504により実行されるときに、上述の図4のステップST1~ステップST5が結果的に実行されることになるプログラムを格納するためのメモリ505を備える。また、メモリ505に記憶されたプログラムは、加工データ取得部11と、事前学習データ取得部12と、分析部13と、抽出部14と、機械学習部15の処理の手順または方法をコンピュータに実行させるものであるともいえる。ここで、メモリ505とは、例えば、RAM、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)等の、不揮発性もしくは揮発性の半導体メモリ、または、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disc)等が該当する。
なお、加工データ取得部11と、事前学習データ取得部12と、分析部13と、抽出部14と、機械学習部15の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、加工データ取得部11と事前学習データ取得部12については専用のハードウェアとしての処理回路501でその機能を実現し、分析部13と、抽出部14と、機械学習部15についてはプロセッサ504がメモリ505に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
モデル記憶部155および評価値記憶部156は、例えば、メモリで構成される。
また、転移学習装置1は、制御装置2または記憶装置3等の装置と、有線通信または無線通信を行う入力インタフェース装置502および出力インタフェース装置503を備える。
なお、上述したとおり、以上の実施の形態1において、分析部13が複数の加工データの重要度を算出する際、変化点検知手法によって重要度を算出する場合は、分析部13は、複数の事前学習データを必要としない。したがって、この場合、転移学習装置1は、事前学習データ取得部12を備えない構成とできる。
また、以上の実施の形態1では、転移学習装置1において、分析部13は、圧縮部131を備えるものとしたが、これは一例に過ぎない。分析部13は、圧縮部131を備えることを必須としない。この場合、解析部132は、圧縮していない複数の加工データと、圧縮していない複数の事前学習データとに基づいて、各加工データに対する重要度を算出する。解析部132の当該機能を分析部13が有するものとし、分析部13は解析部132も備えない構成としてもよい。
また、以上の実施の形態1では、転移学習装置1は、評価部154および重み更新部157を備えるものとしたが、これは一例に過ぎない。転移学習装置1は、評価部154および重み更新部157を備えない構成としてもよい。この場合、転移学習装置1は、第2機械学習モデルの再学習の機能を有しない。
さらに、転移学習装置1は、選択部151を有しない構成としてもよい。この場合、転移学習装置1において、学習部153は、抽出部14が抽出した複数の転移学習データを用いて、第1機械学習モデルの転移学習を行うことで、第2機械学習モデルを生成すればよい。
また、以上の実施の形態1では、転移学習装置1において、加工データ取得部11は、加工データ前処理部111を備えるものとしたが、これは一例に過ぎない。加工データ取得部11は、加工データ前処理部111を備えることを必須としない。加工データ取得部11は、加工データ前処理部111を備えない場合、制御装置2から取得した複数の加工データを、加工データ記憶部112に記憶させる。
また、以上の実施の形態1において、転移学習装置1は、例えば、制御装置2または加工機4に搭載されてもよいし、サーバ(図示省略)に搭載されて制御装置2と通信を行うものとしてもよい。また、例えば、加工データ取得部11と、事前学習データ取得部12と、分析部13と、抽出部14と、機械学習部15のうち一部が制御装置2または加工機4に備えられ、その他がサーバに備えられてもよい。
また、以上の実施の形態1では、加工の状態は、加工機4によって実際に実行された加工位置の、加工機4が指示されている加工位置に対する位置誤差を想定していた。しかし、これは一例に過ぎない。以上の実施の形態1において、加工の状態は、例えば、加工機4によって実際に実行された加工位置が、加工機4が指示されている加工位置に対して、予め設定された範囲以上の位置誤差があるか否か、としてもよい。
以上のように、実施の形態1に係る転移学習装置1は、加工機4に複数ステップ分の加工を行わせるための時系列の加工条件に関するデータ、および、加工機4が加工条件に基づき複数ステップ分実行した加工の状態に関するデータを含む複数の加工データを取得する加工データ取得部11と、加工データ取得部11が取得した複数の加工データに基づき、加工データ取得部11が取得した各加工データに対する重要度を算出する分析部13と、分析部13が算出した重要度に基づいて、加工データ取得部11が取得した複数の加工データのうちから、事前に生成されている、複数ステップ分の時系列記加工条件に関するデータを入力とし複数ステップ分実行した後の加工の状態に関するデータを出力する第1機械学習モデル、の転移学習を行うための複数の転移学習データを抽出する抽出部14と、抽出部14が抽出した複数の転移学習データを用いて第1機械学習モデルの転移学習を行い、複数ステップ分の時系列の加工条件に関するデータを入力とし複数ステップ分実行した後の加工の状態に関するデータを出力する第2機械学習モデルを生成する学習部153とを備えるように構成した。これにより、転移学習装置1は、加工の現場において収集されるデータの全部を必要とせず、当該データの一部から、実際に稼働する現場での当該加工機の状況に適した加工条件を設定するための第2機械学習モデルを生成することができる。その結果、多大な時間を要することなく、上記第2機械学習モデルを生成することができる。
なお、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
本開示に係る転移学習装置は、加工の現場において、実際に加工機が稼働する現場での当該加工機の状況に適した加工条件を設定するための第2機械学習モデルを生成する転移学習装置として用いることができる。
1 転移学習装置、11 加工データ取得部、111 加工データ前処理部、112 加工データ記憶部、13 分析部、131 圧縮部、132 解析部、14 抽出部、15 機械学習部、151 選択部、152 モデル読込部、153 学習部、154 評価部、155 モデル記憶部、156 評価値記憶部、157 重み更新部、2 制御装置、3 記憶装置、31 事前学習データ記憶部、32 事前学習モデル記憶部、4 加工機、501 処理回路、502 入力インタフェース装置、503 出力インタフェース装置、504 プロセッサ、505 メモリ。

Claims (7)

  1. 加工機に複数ステップ分の加工を行わせるための時系列の加工条件に関するデータ、および、前記加工機が前記加工条件に基づき前記複数ステップ分実行した加工の状態に関するデータを含む複数の加工データを取得する加工データ取得部と、
    前記加工データ取得部が取得した複数の前記加工データに基づき、前記加工データ取得部が取得した各加工データに対する重要度を算出する分析部と、
    前記分析部が算出した前記重要度に基づいて、前記加工データ取得部が取得した複数の前記加工データのうちから、事前に生成されている、前記複数ステップ分の時系列の前記加工条件に関するデータを入力とし前記複数ステップ分実行した後の加工の状態に関するデータを出力する第1機械学習モデル、の転移学習を行うための複数の転移学習データを抽出する抽出部と、
    前記抽出部が抽出した複数の前記転移学習データを用いて前記第1機械学習モデルの前記転移学習を行い、前記複数ステップ分の時系列の前記加工条件に関するデータを入力とし前記複数ステップ分実行した後の加工の状態に関するデータを出力する第2機械学習モデルを生成する学習部
    とを備えた転移学習装置。
  2. 前記第1機械学習モデルの生成時に用いられた、前記複数ステップ分の時系列の前記加工条件に関するデータ、および、前記複数ステップ分実行した後の加工の状態に関するデータを含む複数の事前学習データ、を取得する事前学習データ取得部を備え、
    前記分析部は、前記加工データ取得部が取得した複数の前記加工データと、前記事前学習データ取得部が取得した複数の前記事前学習データとに基づき、前記加工データ取得部が取得した各加工データに対する前記重要度を算出する
    ことを特徴とする請求項1記載の転移学習装置。
  3. 前記抽出部が抽出した各転移学習データに対して優先度を付与し、当該優先度に基づいて複数の前記転移学習データのうちから複数の選択転移学習データを選択する選択部を備え、
    前記学習部は、前記選択部が選択した複数の前記選択転移学習データを用いて前記第1機械学習モデルの前記転移学習を行う
    ことを特徴とする請求項1記載の転移学習装置。
  4. 前記学習部が生成した前記第2機械学習モデルの評価を行う評価部と、
    前記評価部が行った前記第2機械学習モデルの評価結果に基づき、各選択転移学習データに付与されている前記優先度を更新する重み更新部を備え、
    前記選択部は、前記重み更新部が更新した前記優先度に基づいて前記選択転移学習データのサンプリングを行い、
    前記学習部は、前記選択部が前記サンプリングを行った後の前記選択転移学習データに基づいて前記第2機械学習モデルを再学習する
    ことを特徴とする請求項3記載の転移学習装置。
  5. 前記分析部は、
    複数の前記加工データおよび複数の前記事前学習データを圧縮する圧縮部と、
    前記圧縮部が圧縮した後の複数の前記加工データおよび複数の前記事前学習データに基づき、前記加工データ取得部が取得した各加工データに対する前記重要度を算出する解析部とを備えた
    ことを特徴とする請求項2記載の転移学習装置。
  6. 前記抽出部は、複数の前記転移学習データの特徴量を抽出し、
    前記学習部は、前記抽出部が抽出した前記特徴量に基づいて前記第1機械学習モデルの前記転移学習を行う
    ことを特徴とする請求項1記載の転移学習装置。
  7. 加工データ取得部が、加工機に複数ステップ分の加工を行わせるための時系列の加工条件に関するデータ、および、前記加工機が前記加工条件に基づき前記複数ステップ分実行した加工の状態に関するデータを含む複数の加工データを取得するステップと、
    分析部が、前記加工データ取得部が取得した複数の前記加工データに基づき、前記加工データ取得部が取得した各加工データに対する重要度を算出するステップと、
    抽出部が、前記分析部が算出した前記重要度に基づいて、前記加工データ取得部が取得した複数の前記加工データのうちから、事前に生成されている、前記複数ステップ分の時系列の前記加工条件に関するデータを入力とし前記複数ステップ分実行した後の加工の状態に関するデータを出力する第1機械学習モデル、の転移学習を行うための複数の転移学習データを抽出するステップと、
    学習部が、前記抽出部が抽出した複数の前記転移学習データを用いて前記第1機械学習モデルの前記転移学習を行い、前記複数ステップ分の時系列の前記加工条件に関するデータを入力とし前記複数ステップ分実行した後の加工の状態に関するデータを出力する第2機械学習モデルを生成するステップ
    とを備えた転移学習方法。
JP2023531282A 2021-07-01 2021-07-01 転移学習装置および転移学習方法 Active JP7325697B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/024903 WO2023276097A1 (ja) 2021-07-01 2021-07-01 転移学習装置および転移学習方法

Publications (2)

Publication Number Publication Date
JPWO2023276097A1 JPWO2023276097A1 (ja) 2023-01-05
JP7325697B2 true JP7325697B2 (ja) 2023-08-14

Family

ID=84691687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023531282A Active JP7325697B2 (ja) 2021-07-01 2021-07-01 転移学習装置および転移学習方法

Country Status (7)

Country Link
US (1) US20240045387A1 (ja)
JP (1) JP7325697B2 (ja)
KR (1) KR102680829B1 (ja)
CN (1) CN117461003A (ja)
DE (1) DE112021007624T5 (ja)
TW (1) TWI818369B (ja)
WO (1) WO2023276097A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173121A1 (ja) 2017-03-21 2018-09-27 株式会社Preferred Networks サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム
JP2020138279A (ja) 2019-02-28 2020-09-03 ファナック株式会社 加工条件調整装置及び加工条件調整システム
JP2020177257A (ja) 2019-04-15 2020-10-29 ファナック株式会社 機械学習装置、制御装置及び機械学習方法
CN113780208A (zh) 2021-09-16 2021-12-10 华中科技大学 一种基于对抗迁移学习的刀具磨损状态预测方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6986597B2 (ja) * 2017-03-21 2021-12-22 株式会社Preferred Networks サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173121A1 (ja) 2017-03-21 2018-09-27 株式会社Preferred Networks サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム
JP2020138279A (ja) 2019-02-28 2020-09-03 ファナック株式会社 加工条件調整装置及び加工条件調整システム
JP2020177257A (ja) 2019-04-15 2020-10-29 ファナック株式会社 機械学習装置、制御装置及び機械学習方法
CN113780208A (zh) 2021-09-16 2021-12-10 华中科技大学 一种基于对抗迁移学习的刀具磨损状态预测方法及装置

Also Published As

Publication number Publication date
US20240045387A1 (en) 2024-02-08
CN117461003A (zh) 2024-01-26
TW202303463A (zh) 2023-01-16
WO2023276097A1 (ja) 2023-01-05
DE112021007624T5 (de) 2024-02-29
JPWO2023276097A1 (ja) 2023-01-05
KR20240005975A (ko) 2024-01-12
TWI818369B (zh) 2023-10-11
KR102680829B1 (ko) 2024-07-02

Similar Documents

Publication Publication Date Title
US11701772B2 (en) Operation prediction system and operation prediction method
US20200064789A1 (en) Predictive monitoring and diagnostics systems and methods
JP6863930B2 (ja) 寿命予測装置及び機械学習装置
JP6077617B1 (ja) 最適な速度分布を生成する工作機械
CN114326596A (zh) 使用自学习系统模拟在机床上进行机加工的方法和设备
CN110171159A (zh) 控制装置以及机器学习装置
JP6813532B2 (ja) シミュレーション装置
JP7325697B2 (ja) 転移学習装置および転移学習方法
CN110389560B (zh) 波形显示装置
US20220382253A1 (en) Machining program conversion device, numerical control device, and machining program conversion method
CN114789453B (zh) 机械臂动态pid控制方法、装置、电子设备及存储介质
JP7251955B2 (ja) 検出装置及び機械学習方法
JP6929260B2 (ja) 時系列特徴抽出装置、時系列特徴抽出方法及びプログラム
WO2022085339A1 (ja) 動作計画装置、動作計画方法、及び動作計画プログラム
JPH06332506A (ja) 非線形制御装置
US20230141311A1 (en) Reduction of friction within a machine tool
CN115666836A (zh) 工具诊断装置
JP6940425B2 (ja) 制御装置及び機械学習装置
JP7556208B2 (ja) 学習プログラム、学習方法および情報処理装置
CN111356959A (zh) 用于计算机辅助地控制技术系统、特别是发电设备的方法
CN113939779B (zh) 用于操作自动化系统的方法和设备、自动化系统及计算机可读存储介质
EP3916496A1 (en) An industrial process model generation system
JP7492080B2 (ja) 加工条件推定装置
US20240310794A1 (en) Method and configuration system for configuring a machine controller
JP7556306B2 (ja) 予測システム、情報処理装置および情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230602

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230801

R150 Certificate of patent or registration of utility model

Ref document number: 7325697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150