(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024157666
(43)【公開日】2024-11-08
(54)【発明の名称】実験支援装置、実験支援方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241031BHJP
B23Q 15/00 20060101ALI20241031BHJP
【FI】
G06N20/00 130
B23Q15/00 301H
B23Q15/00 301C
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023072144
(22)【出願日】2023-04-26
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100131152
【弁理士】
【氏名又は名称】八島 耕司
(74)【代理人】
【識別番号】100147924
【弁理士】
【氏名又は名称】美恵 英樹
(74)【代理人】
【識別番号】100148149
【弁理士】
【氏名又は名称】渡邉 幸男
(74)【代理人】
【識別番号】100181618
【弁理士】
【氏名又は名称】宮脇 良平
(74)【代理人】
【識別番号】100174388
【弁理士】
【氏名又は名称】龍竹 史朗
(72)【発明者】
【氏名】高阪 翔
(72)【発明者】
【氏名】中筋 智明
(72)【発明者】
【氏名】市川 泰久
(72)【発明者】
【氏名】山名 博行
(57)【要約】
【課題】加工条件を得るために、効率良くデータを収集するための実験計画を支援する実験支援装置、実験支援方法及びプログラムを提供する。
【解決手段】実験支援装置100において、試加工データベース120は、機械学習の学習データを得るための実験における入力変数の組み合わせと予め定められた評価値とを対応付けて記憶する。試加工条件探索部130は、試加工データベース120に記憶されている入力変数の組み合わせに基づいて、次の入力変数の組み合わせを探索する。類似判定部150は、試加工条件探索部130が探索した入力変数の組み合わせと、試加工データベース120に記憶されている入力変数の組み合わせそれぞれとの類似度を示す評価値を求めて、試加工データベース120に追加する。終了処理部160は、類似判定部150により求められた評価値が予め定められた条件を満たした場合に、学習用の入力データの生成を終了する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
機械学習の学習データを得るための実験における入力変数の組み合わせと予め定められた評価値とを対応付けて記憶する試加工データベースと、
前記試加工データベースに記憶されている入力変数の組み合わせに基づいて、次の入力変数の組み合わせを探索する試加工条件探索部と、
前記試加工条件探索部が探索した入力変数の組み合わせと、前記試加工データベースに記憶されている入力変数の組み合わせそれぞれとの類似度を示す前記評価値を求めて、前記試加工データベースに追加する類似判定部と、
前記類似判定部により求められた評価値が予め定められた条件を満たした場合に、学習用の入力データの生成を終了する終了処理部と、
を備える実験支援装置。
【請求項2】
前記試加工条件探索部により生成された入力変数の組み合わせを条件として実施された実験の結果を示す目的変数を取得して、前記試加工データベースに、実験で使用した入力変数と対応付けて格納し、
前記試加工条件探索部は、前記試加工データベースに記憶されている入力変数の組み合わせと対応する目的変数とに基づいて、次の入力変数の組み合わせを探索する、
請求項1に記載の実験支援装置。
【請求項3】
前記類似判定部が、予め定められた回数以上連続で、現在の試加工における入力変数が過去のいずれの試加工における入力変数と類似していると判定した場合に、前記終了処理部は前記実験を終了する、
請求項1に記載の実験支援装置。
【請求項4】
前記類似判定部が、予め定められた回数以上、現在の試加工における入力変数が過去のいずれの試加工における入力変数と類似していると判定した場合に、前記終了処理部は前記実験を終了する、
請求項1に記載の実験支援装置。
【請求項5】
前記入力変数の範囲を設定する制約条件設定部をさらに備え、
前記試加工条件探索部は、前記設定された範囲内で、前記次に試みるべき試加工における入力変数を探索する、
請求項1に記載の実験支援装置。
【請求項6】
前記制約条件設定部は、さらに、前記実験に含まれる試加工の上限回数を設定し、
前記終了処理部は、前記試加工の回数が前記設定された上限回数を超えた場合に、前記実験を終了する、
請求項5に記載の実験支援装置。
【請求項7】
前記試加工データベースに記憶されている過去の入力変数及び目的変数を予め定められた範囲内の数値に正規化する正規化処理部をさらに備え、
前記試加工条件探索部は、前記正規化された過去の入力変数及び目的変数に基づいて、次に試みるべき試加工における入力変数を探索する、
請求項1に記載の実験支援装置。
【請求項8】
実験計画法により前記試加工データベースを予め作成するデータベース作成部と、
前記実験に含まれる試加工の上限回数を設定する制約条件設定部と、をさらに備え、
前記終了処理部は、前記試加工の回数が前記設定された上限回数を超えた場合に、前記実験を終了する、
請求項1に記載の実験支援装置。
【請求項9】
前記試加工データベースから、前記目的変数が予め定められた条件を満たすときの前記入力変数の組み合わせを抽出する抽出部と、
前記試加工データベースを取得し、前記目的変数が予め定められた条件を満たすときの前記入力変数の組み合わせを推定する機械学習装置と、をさらに備え、
前記終了処理部は、前記抽出した入力変数の組み合わせと、前記推定した入力変数の組み合わせとが一致した場合に、前記実験を終了する、
請求項1に記載の実験支援装置。
【請求項10】
コンピュータが、
機械学習の学習データを得るための実験における入力変数の組み合わせと予め定められた評価値とを対応付けて記憶する試加工データベースに記憶されている入力変数の組み合わせに基づいて、次の入力変数の組み合わせを探索し、
前記探索した入力変数の組み合わせと、前記試加工データベースに記憶されている入力変数の組み合わせそれぞれとの類似度を示す前記評価値を求めて、前記試加工データベースに追加し、
前記求められた評価値が予め定められた条件を満たした場合に、学習用の入力データの生成を終了する、
実験支援方法。
【請求項11】
コンピュータに、
機械学習の学習データを得るための実験における入力変数の組み合わせと予め定められた評価値とを対応付けて記憶する試加工データベースに記憶されている入力変数の組み合わせに基づいて、次の入力変数の組み合わせを探索する試加工条件探索部、
前記試加工条件探索部が探索した入力変数の組み合わせと、前記試加工データベースに記憶されている入力変数の組み合わせそれぞれとの類似度を示す前記評価値を求めて、前記試加工データベースに追加する類似判定部、
前記類似判定部により求められた評価値が予め定められた条件を満たした場合に、学習用の入力データの生成を終了する終了処理部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、実験支援装置、実験支援方法及びプログラムに関する。
【背景技術】
【0002】
加工装置による切削加工においては、一定の品質を担保するために、あるいは経済的又は時間的なコストを低減するために、工具がワークに切り込む位置、工具の回転数及び送り速度等の加工条件を調整する必要がある。このような加工条件を取得するために、機械学習により最適な加工条件を推定する手法が知られている(例えば、特許文献1)。
【0003】
機械学習により最適な加工条件を推定するためには、多くの学習データが必要であり、実際に加工装置を用いて様々な加工条件でワークを試加工する実験を行う必要がある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
このような実験では、学習データが少ないと、機械学習において最適解に収束しなかったり、試加工の回数が予め見込めなかったりすることがある。一方、多数の学習データを得ようとすると、実際に加工装置を用いて試加工する回数も増加し、経済的及び時間的なコストがかかる。このため、必要なデータを効率良く収集することが望まれる。
【0006】
この課題は、加工装置の加工条件の学習データを求める場合に限定されず、実験を伴う学習データの取得に広く共通する。
【0007】
本開示は、上記の実情に鑑みてなされたものであり、効率良くデータを収集するための実験計画を支援する実験支援装置、実験支援方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本開示の実験支援装置は、機械学習の学習データを得るための実験における入力変数の組み合わせと予め定められた評価値とを対応付けて記憶する試加工データベースと、試加工データベースに記憶されている入力変数の組み合わせに基づいて、次の入力変数の組み合わせを探索する試加工条件探索部と、試加工条件探索部が探索した入力変数の組み合わせと、試加工データベースに記憶されている入力変数の組み合わせそれぞれとの類似度を示す評価値を求めて、試加工データベースに追加する類似判定部と、類似判定部により求められた評価値が予め定められた条件を満たした場合に、学習用の入力データの生成を終了する終了処理部と、を備える。
【発明の効果】
【0009】
本開示によれば、類似判定部により求められた評価値が予め定められた条件を満たした場合に、学習用の入力データの生成を終了するため、加工装置による最適な加工条件を得るために、効率良くデータを収集するための実験計画を支援することができる。
【図面の簡単な説明】
【0010】
【
図1】加工装置の有するエンドミルがワークを切削加工する場面を示す図
【
図2】第1実施形態に係る加工条件調整システムの構成を示す図
【
図3】実験支援装置及び機械学習装置のハードウェア構成を示す図
【
図5】(A)第1実施形態に係る試加工データベースの初期状態を示す図、(B)第1実施形態に係る試加工データベースにデータが貯められていく様子を示す図、(C)第1実施形態に係る試加工データベースにある程度データが貯められた状態を示す図
【
図6】第1実施形態に係る実験支援処理を示すフローチャート
【
図7】第2実施形態に係る加工条件調整システムの構成を示す図
【
図8】第2実施形態に係る試加工データベースを示す図
【
図9】第2実施形態に係る実験支援処理を示すフローチャート
【
図10】入力変数ごとの目的変数の分散評価の例を示す図
【
図11】第3実施形態に係る加工条件調整システムの構成を示す図
【
図12】第3実施形態に係る実験支援処理を示すフローチャート
【発明を実施するための形態】
【0011】
以下、本開示の実施形態に係る実験支援装置100及び加工条件調整システム1について、図面を参照しつつ詳細に説明する。なお、本実施形態は説明のためのものであり、本開示の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本開示の範囲に含まれる。
【0012】
(第1実施形態)
図1に示すように、加工装置に装着されたエンドミル210により、金属、合金等の材料であるワーク220を切削加工する問題を例に説明する。例えば、ワーク220が切削加工されることにより、ビル用マルチエアコン、パッケージエアコンに搭載されるスクロール圧縮機を構成する固定スクロール及び揺動スクロールが作製される。
【0013】
この加工装置では、エンドミル210の単位時間あたりの回転数である主軸回転数A、エンドミル210を移動させる速度である送り速度B、エンドミル210が水平方向にワーク220に切り込む深さである径切込量C、エンドミル210が鉛直方向にワーク220に切り込む深さである軸切込量D等の加工条件を設定できる。
【0014】
本実施形態では、ワークの切削面221の凹凸状態を示す面粗さを最小にするための加工条件の組み合わせを機械学習により調整する。そのために、加工条件の異なる複数回の試加工を行い、各試加工に対して試加工後の面粗さを取得する実験を行う。
【0015】
図2に示すように、本実施形態に係る加工条件調整システム1は、実験計画を支援する実験支援装置100と、エンドミル210によりワーク220を加工する加工装置200と、機械学習により加工条件を推定する機械学習装置300とを備える。
【0016】
実験支援装置100は、試加工の加工条件を決定し、加工装置200からデータを取得し、実験を終了するか否かを決定する等、実験計画を支援する。加工装置200は、実験支援装置100から試加工の加工条件を取得し、その加工条件で試加工した後、加工装置200に備わるセンサ等により試加工後の切削面221の面粗さを取得し、実験支援装置100に送信する。
【0017】
機械学習装置300は、実験支援装置100から実験データを取得し、強化学習等の機械学習で面粗さが最小となるときの加工条件を推定する。機械学習装置300は、例えば、環境に対してエージェントが行動を起こし、その結果によって環境から報酬を得ることを繰り返しながら最適な行動を学習する強化学習において、目的変数が小さい程エージェントに大きい報酬を与え、試加工ごとに、行動である加工条件に対する面粗さに対して与えられる報酬を学習し、報酬が最大化する行動を調整する。
【0018】
図3は、実験支援装置100及び機械学習装置300のハードウェア構成を示す図である。実験支援装置100及び機械学習装置300は、それぞれ入力部10と、表示部20と、制御部30と、主記憶部40と、補助記憶部50と、通信部60と、を備え、これらは、バス70を介して互いに接続されている。
【0019】
入力部10は、マウス、キーボード等を含む。表示部20は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等を含む。
【0020】
制御部30は、例えば集積回路であるCPUを含む。制御部30は、補助記憶部50に記憶されるプログラムを実行することにより、実験支援装置100及び機械学習装置300の種々の機能を実現して、上述した処理を実行する。
【0021】
主記憶部40は、RAM(Random Access Memory)を含む。主記憶部40には、補助記憶部50からプログラムがロードされる。そして、主記憶部40は、制御部30の作業領域として用いられる。
【0022】
補助記憶部50は、EEPROM(Electrically Erasabla Programmable Read-Only Memory)、SSD(Solid State Drive)及びHDD(Hard Disk Drive)に代表される不揮発性メモリを含む。補助記憶装置50は、プログラムの他に、制御部30の処理のように用いられる種々のデータを記憶する。補助記憶装置50は、制御部30の指示に従って、制御部30によって利用されるデータを制御部30に供給し、制御部30から供給されたデータを記憶する。
【0023】
通信部60は、外部の装置のEthernetフレームを送受するためのネットワークインタフェース回路を含む。通信部60は、外部から信号を受信して、この信号により示されるデータを制御部30へ出力する。また、通信部70は、制御部30から出力されたデータを示す信号を外部の装置へ送信する。
【0024】
なお、入力部10と表示部20は、実験支援装置100及び機械学習装置300と別体として構成されていてもよい。例えば、実験支援装置100及び機械学習装置300の制御ボックスから入力部10と表示部20とが延長ケーブル等で実験支援装置100及び機械学習装置300に接続されていてもよい。
【0025】
また、実験支援装置100及び機械学習装置300の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【0026】
例えば、制御部30によって実行されるプログラムを、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、実験支援装置100及び機械学習装置300を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、CD-ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magnetro-Optical Disc)が考えられる。
【0027】
また、プログラムをインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードしてもよい。
【0028】
また、通信ネットワークを介してプログラムを転送しながら起動実行することによっても、後述する実験支援処理及び機械学習装置300による処理を達成することができる。
【0029】
さらに、プログラムの全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、実験支援処理及び機械学習装置300による処理を達成することができる。
【0030】
なお、実験支援処理及び機械学習装置300による処理を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
【0031】
また、実験支援装置100及び機械学習装置300の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
【0032】
図2に戻り、実験支援装置100は、加工条件である入力変数の範囲等の制約条件を設定する制約条件設定部110と、各試加工に関するデータを記憶する試加工データベース120と、試加工の入力変数を探索する試加工条件探索部130と、入力変数を正規化又は逆変換する正規化処理部140と、入力変数の類似度を判定する類似判定部150と、実験を終了する終了処理部160と、を備える。
【0033】
制約条件設定部110は、ユーザから実験に用いる入力変数及び目的変数の指定と、実験における制約条件とを受け付け、
図4に示すように、それぞれを設定する。ここで、入力変数とは、各試加工での加工条件のことであり、本実施形態では、エンドミル210の主軸回転数A、送り速度B、径切込量C、軸切込量Dのことである。また、目的変数とは、ある入力条件で試加工された結果のことであり、本実施形態では切削面221の面粗さEのことである。
【0034】
図4に示す例では、制約条件設定部110において、項目種111と、項目112と、制約条件113とが設定されている。ここでは、項目種「入力変数」として、項目「主軸回転数A[min
-1]」、「送り速度B[mm/min]」、「径切込量C[mm]」、「軸切込量D[mm]」が設定されており、それぞれに設定下限値と設定上限値を含む範囲が制約条件として設定されている。また、項目種「目的変数」として、項目「面粗さE」が設定されている。目的変数は、試加工の結果得られるものであるので、制約条件については特に設定されていない。
【0035】
さらに、項目種「その他」として、項目「一刃送り量F」、「試行回数G」が設定されている。一刃送り量Fは、
一刃送り量F[mm/rev]=送り速度B[mm/min]/(刃数×主軸回転数A[min-1])
で得られる量であり、ユーザの設定した設定値よりも小さくなるように制約条件が設定されている。また、試行回数Gは、実験で行われるべき試加工の回数であり、ユーザが設定した任意の設定値以下になるように、即ち上限回数を超えないように、制約条件が設定されている。
【0036】
図2に戻り、試加工データベース120は、加工装置200における加工条件を調整するための実験に含まれる複数の試加工の試加工ごとに、試加工における加工条件である入力変数と、その加工条件で試加工された結果である目的変数と、を紐付けて記憶する。
図5(A)~(C)に示すように、試加工データベース120においては、試加工ごとに、試加工を識別する試加工IDと、各入力変数と、目的変数と、データ類似度が紐付けられている。データ類似度は、その試加工の入力変数が過去の試加工の入力変数と類似しているか否かを示す指標であり、類似している場合には「1」が、類似していない場合には「0」が設定される。
【0037】
図2に戻り、試加工条件探索部130は、試加工データベース120に記憶されている過去の試加工における入力変数及び目的変数に基づいて、次に試みるべき試加工における入力変数を探索する。試加工条件探索部130のアルゴリズムには、例えばベイズ最適化が用いられる。ベイズ最適化を利用することにより、闇雲に入力変数を探索するのではなく、過去の情報から目標変数が最小になりそうな領域を重点的に探索することが可能となる。ベイズ最適化の獲得関数には、PI(Probability of Improvement)、EI(Expected Improvement)、LCB(Lower Confidence Bound)等がある。
【0038】
試加工条件探索部130は、1つの試加工が終わる度に、次に試みるべき試加工における入力変数を探索し、探索した入力変数を、後述する正規化処理部140を介して試加工データベース120に追加していく。
【0039】
正規化処理部140は、試加工データベース120に記憶されている入力変数及び目的変数を正規化したり、又は試加工条件探索部130が探索した入力変数を逆変換して試加工データベース120に格納したりする。正規化処理部140は、試加工データベース120に記憶されている過去の入力変数及び目的変数を予め定められた範囲内の数値に正規化する。ここで、正規化とは各入力変数及び目的変数の変域を合わせることであり、例えば、入力変数及び目的変数を0≦(入力変数又は目的変数)≦1の範囲に変換することである。また、逆変換とは、試加工条件探索部130が探索した結果について正規化と逆の処理をすることである。なお、入力変数は、制約条件設定部110に設定されている設定上限値で除算ことにより正規化し得、目的変数は、予め定められた値で除算することにより正規化し得る。
【0040】
類似判定部150は、今回の試加工における入力変数と、過去の全ての試加工のそれぞれにおける入力変数との類似度を演算し、今回の試加工における入力変数が過去のいずれの試加工における入力変数と類似しているか否かを判定する。類似度は、後述するように、例えばユークリッド距離を計算し、予め定められた閾値を超えるか否かによって判定される。
【0041】
終了処理部160は、類似判定部150による判定の結果が予め定められた条件を満たした場合に、実験を終了する。
【0042】
図6は、実験支援装置100によって実行される実験支援処理を説明するフローチャートである。実験支援処理は、加工装置200による切削加工の加工条件を調整するための実験において、過去の試加工でのデータに基づいて、最適な結果が期待できる次の試加工での加工条件を提案するとともに、十分なデータを収集できた場合に実験を終了する。以下、
図6を参照して、実験支援処理を説明する。
【0043】
実験支援処理は、例えば、実験支援処理のアプリ、プログラムが起動された際にスタートする。実験支援処理がスタートすると、まず、制約条件設定部110は、ユーザから、
図4の例に示す入力変数、目的変数等の設定を受け付け、その制約条件が入力されたか否かを判定する(ステップS101)。制約条件設定部110がユーザから制約条件が入力されたと判定するまで、実験支援処理は待機状態となる(ステップS101でNo)。
【0044】
制約条件設定部110がユーザから制約条件が入力されたと判定すると(ステップS101でYes)、試加工データベース120が作成される(ステップS102)。この段階では、
図5(A)に示すように、いずれの項目も未設定となっている。
【0045】
続いて、ステップS103~ステップS111はループ処理であり、予め定められた条件を満たすまで、各試加工IDについて繰り返される。ループ処理が開始すると(ステップS103)、まず、正規化処理部140が、試加工データベース120に記憶されている過去の試加工における全ての入力変数及び目的変数を正規化する(ステップS104)。最初の試加工については、過去のデータがないのでステップS104はスキップされる。
【0046】
次に、試加工条件探索部130は、正規化処理部140によって正規化された過去の入力変数及び目的変数に基づいて、予め設定された最適化処理、例えば、ベイズ最適化により入力変数の組み合わせを探索する(ステップS105)。試加工条件探索部130は、正規化された数値、例えば、前述の0から1の範囲内で、次に試みるべき試加工における入力変数を探索する。なお、最初の試加工については、過去のデータがないので、例えば、各入力変数のそれぞれを1つの次元としたユークリッド空間の端から探索されてもよい。
【0047】
試加工条件探索部130により各入力変数の組み合わせが探索されると、正規化処理部140は、探索された入力変数の組み合わせを逆変換する(ステップS106)。そして、正規化処理部140は、逆変換された入力変数の組み合わせを試加工データベース120に追加する。つまり、試加工データベース120には、加工装置200が加工動作するための生データが格納される。
【0048】
例えば、2回目の試加工について、逆変換された入力変数の組み合わせが試加工データベース120に追加されると、
図5(B)に示す例のようになる。実験支援装置100は、加工装置200に、追加された入力変数の組み合わせを指定した試加工指示を送信する(ステップS107)。
【0049】
その後、加工装置200は、実験支援装置100から試加工指示を受け取り、試加工指示に指定された入力条件で試加工し、目的変数である面粗さを取得した後、目的変数を指定した応答を実験支援装置100に送信する。実験支援装置100は、加工装置200から目的変数を指定した応答を取得したか否かを判定する(ステップS108)。実験支援装置100が加工装置200から目的変数を指定した応答を取得したと判定するまで、実験支援処理は待機状態となる(ステップS108でNo)。
【0050】
実験支援装置100は、加工装置200から目的変数を指定した応答を取得したと判定すると(ステップS108でYes)、応答に指定された目的変数が試加工データベース120に格納する。その後、類似判定部150は、今回の試加工における入力変数と過去の全ての試加工のそれぞれにおける入力変数との類似度を演算する(ステップS109)。類似度は、i番目である今回の試加工における入力変数(Ai,Bi,Ci,Di)と、j番目である過去の試加工における入力変数(Aj,Bj,Cj,Dj)とのユークリッド距離Lijを計算することにより求められてもよい。ユークリッド距離Lijは、
Lij=√{(Ai-Aj)2+(Bi-Bj)2+(Ci-Cj)2+(Di-Dj)2}
j=1~(i-1)
で求められる。
【0051】
類似判定部150は、ユークリッド距離L
ijが予め定められた閾値以下である場合に、i番目である今回の試加工における入力変数(Ai,Bi,Ci,Di)と、j番目である過去の試加工における入力変数(Aj,Bj,Cj,Dj)とが類似し、そうでない場合には類似していないと判定する。そして、類似判定部150は、試加工データベース120のデータ類似度に、今回の試加工における入力変数が過去のいずれかの試加工における入力変数と類似していると判定した場合には「1」を、過去のいずれの試加工における入力変数にも類似していないと判定した場合には「0」を格納する。また、類似判定部150は、最初の試加工のデータ類似度にも「0」を格納する。なお、ステップS103~ステップS111のループ処理を繰り返すと、
図5(C)のような試加工データベース120が作成される。
【0052】
続いて、終了処理部160は、現在の状態が予め定められた条件を満たすか否かを判定する(ステップS110)。終了処理部160は、予め定められた回数以上連続でデータ類似度「1」が出現した場合に、現在の状態が予め定められた条件を満たしたと判定してもよい(ステップS110でYes)。即ち、この場合、終了処理部160は、類似判定部150が予め定められた回数以上連続で、今回の試加工における入力変数が過去のいずれの試加工における入力変数と類似していると判定した場合に(ステップS110でYes)、ループを抜け、実験を終了する(ステップS112)。例えば、現在の試加工データベース120が
図5(C)の例に示すような状態だったとすると、類似度「1」が連続していないので、実験は継続する。
【0053】
あるいは、終了判定部160は、現在までに予め定められた回数以上、データ類似度「1」が出現した場合に、現在の状態が予め定められた条件を満たしたと判定してもよい(ステップS110でYes)。即ち、この場合、終了処理部160は、類似判定部150が予め定められた回数以上、今回の試加工における入力変数が過去のいずれの試加工における入力変数と類似していると判定した場合に(ステップS110でYes)、ループを抜け、実験を終了する(ステップS112)。
【0054】
また、あるいは、終了判定部160は、試加工の回数が
図4の例に示す制約条件設定部110で設定された試行回数Gの上限回数を超えた場合に、予め定められた条件を満たしたと判定し(ステップS110でYes)、ループを抜け、実験を終了する(ステップS112)。実験が終了されると、実験支援処理は終了する。
【0055】
一方で、終了処理部160が、現在の状態が予め定められた条件を満たさないと判定すると(ステップS110でNo)、処理はステップS111に進み、次の試加工についてステップS103~ステップS111が繰り返される。
【0056】
実験支援処理によって得られた試加工データベース120の内容は、機械学習装置300に送信される。機械学習装置300は、例えば、強化学習により、目的変数である面粗さEが最小になるように入力変数の組み合わせである加工条件が推定する。上述の手法により学習データが選定されているため、学習データは少な過ぎず、多すぎず、適切な学習が可能である。また、実験支援処理によって得られた試加工データベース120の目的変数である面粗さEの値が最小になるときの入力変数の組み合わせを抽出することにより、最適な加工条件が推定されてもよい。
【0057】
以上のように第1実施形態によれば、実験支援装置100は、ベイズ最適化等の機械学習で探索された様々な加工条件で試加工が行われる実験において、類似度の高いデータがある程度得られたら実験を終了する。これにより、最適な加工条件を得るために必要なデータを重点的に収集しつつも類似したデータを収集し過ぎることがなく、ひいては経済的又は時間的なコストを抑制することができ、効率良くデータを収集することができる。
【0058】
また、第1実施形態によれば、試加工条件探索部130がベイズ最適化等により次の試加工における加工条件を探索する前に、過去の試加工におけるデータを正規化する。これにより、試加工探索部130が探索する加工条件が最適解に収束しやすくなり、実験にかかるコストを抑制することにつながる。
【0059】
(第2実施形態)
次に、本開示の第2実施形態を説明する。第1実施形態と同等の構成及び処理には同一の符号を付す。第1実施形態では、試加工の度にベイズ最適化等によって探索した加工条件を試加工データベースに追加したが、第2実施形態では、実験計画法により予め試加工データベースを作成する。
【0060】
図7に示すように、実験支援装置101は、第1実施形態での試加工データベース120の代わりに試加工データベース121を備え、さらに、試加工データベース121を作成するデータベース作成部170を備える。試加工作成部170は、実験計画法により
図8の例に示す試加工データベース121を予め作成する。ここでは、4因子3水準のL9直交表が作成されることとする。主軸回転数A、送り速度B、径切込量C、軸切込量Dの4つの因子のそれぞれには、(a1,a2,a3)、(b1,b2,b3)、(c1,c2,c3)、(d1,d2,d3)の3水準の値が格納されている。L9直交表では、各入力変数の列において、3水準の値が同じ個数ずつ出現する。
【0061】
これらの3水準の値には、例えば、それぞれの入力変数について制約条件設定部110で設定されている制約条件113の範囲の設定下限値、中央値、設定上限値が選択される。即ち、a1、b1、c1、d1には制約条件113の設定下限値、a2、b2、c2、d2には、制約条件113の平均値、a3、b3、c3、d3には、制約条件113の設定上限値が選択されてもよい。
【0062】
図9は、実験支援装置101によって実行される実験支援処理を説明するフローチャートである。以下、
図9を参照して、実験支援処理を説明する。
【0063】
実験支援処理は、例えば、実験支援処理のアプリ、プログラムが起動された際にスタートする。実験支援処理がスタートすると、まず、制約条件設定部110は、ユーザから
図4の例に示す入力変数、目的変数等の設定を受け付け、その制約条件が入力されたか否かを判定する(ステップS201)。制約条件設定部110がユーザから制約条件が入力されたと判定するまで、実験支援処理は待機状態となる(ステップS201でNo)。
【0064】
制約条件設定部110がユーザから制約条件が入力されたと判定すると(ステップS201でYes)、データベース作成部170は、実験計画法のアルゴリズムにより試加工データベース121を作成する(ステップS202)。
【0065】
続いて、ステップS203~ステップS207はループ処理であり、予め定められた条件を満たすまで、各試加工IDについて繰り返される。ループ処理が開始すると、(ステップS203)、まず、実験支援装置101は、加工装置200に、最初の試加工IDに紐付けられた入力変数の組み合わせを指定した試加工指示を送信する(ステップS204)。
【0066】
その後、加工装置200は、実験支援装置101からの試加工指示を受け取り、試加工指示に指定された入力条件で試加工し、目的変数である面粗さを取得した後、目的変数を指定した応答を実験支援装置101に送信する。実験支援装置101は、加工装置200から目的変数を指定した応答を取得したか否かを判定する(ステップS205)。実験支援装置101が加工装置200から目的変数を指定した応答を取得したと判定するまで、実験支援処理は待機状態となる(ステップS205でNo)。
【0067】
一方で、実験支援装置101が加工装置200から目的変数を指定した応答を取得したと判定すると(ステップS205でYes)、応答に指定された目的変数が試加工データベース121に格納された後、終了判定部160は、現在の状態が予め定められた条件を満たすか否かを判定する(ステップS206)。例えば、終了判定部160は、試加工の回数が
図4の例に示す制約条件設定部110で設定された試行回数Gの上限回数を超えた場合に、予め定められた条件を満たしたと判定し(ステップS206でYes)、ループを抜け、実験を終了する(ステップS208)。実験が終了されると、実験支援処理は終了する。
【0068】
一方で、終了処理部160が、現在の状態が予め定められた条件を満たさないと判定すると(ステップS206でNo)、処理はステップS207に進み、次の試加工についてステップS203~ステップS207が繰り返される。
【0069】
このように実験処理によって得られた試加工データベース121の内容は、機械学習装置300に送信され、機械学習によって、目的変数である面粗さEが最小になるように入力変数の組み合わせである加工条件が推定されてもよい。
【0070】
ここで、試加工データベース121の内容を分散分析して、
図10に示すような結果が得られたとする。ここでは、目的変数である面粗さを最小にするために強く影響する要因が主軸回転数Aと径切込量Cであることが分かったとする。これにより、再度実験する際には主軸回転数Aと径切込量Cに絞って実験及び機械学習装置300を用いた機械学習をしてもよい、と判断することができる等、事前学習として利用することができる。
【0071】
以上のように第2実施形態によれば、ユーザが設定した試加工の上限回数を超える等予め定められた条件を満たした場合に、実験を終了する。これにより、試加工の回数が予め見込めないという事態を避けつつ、再実験の際の検討すべき項目を絞ることができ、効率良くデータを収集することができる。
【0072】
(第3実施形態)
次に、本開示の第3実施形態を説明する。第1実施形態及び第2実施形態と同等の構成及び処理には同一の符号を付す。第1実施形態では、実験を終了するか否かは、類似度の高いデータがある程度得られた否かにより判定したが、第3実施形態では、実験支援装置102と機械学習装置300がそれぞれ導き出す最適解が一致するか否かにより判定する。
【0073】
図11に示すように、実験支援装置102は、試加工データベース120から、目的変数が予め定められた条件を満たす入力変数の組み合わせを抽出する抽出部180を備える。
また、機械学習装置300は、実験支援装置102から試加工データベース120を取得し、強化学習等を行い、目的変数が予め定められた条件を満たす入力変数の組み合わせを推定する。予め定められた条件とは、例えば、目的変数である面粗さEが最小値をとることである。
【0074】
終了処理部160は、抽出部180が抽出した入力変数の組み合わせと、機械学習装置300が推定した入力変数の組み合わせとが一致した場合に、実験を終了する。ここで、「一致」とは完全な一致のみを表すものではなく、ある程度の一致、即ち「類似」の概念も含むものとする。類似しているかどうかは、2つの入力変数の組み合わせのユークリッド距離を計算し、予め定められた閾値を超えるか否かを判定する等一定の類似度演算により判定される。
【0075】
図12は、実験支援装置102によって実行される実験支援処理を説明するフローチャートである。以下、
図12を参照して、実験支援処理を説明する。
【0076】
実験支援処理は、例えば、実験支援処理のアプリ、プログラムが起動された際にスタートする。実験支援処理がスタートすると、まず、制約条件設定部110は、ユーザから
図4の例に示す入力変数、目的変数等の設定を受け付け、その制約条件が入力されたか否かを判定する(ステップS301)。制約条件設定部110がユーザから制約条件が入力されたと判定するまで、実験支援処理は待機状態となる(ステップS301でNo)。
【0077】
制約条件設定部110がユーザから制約条件が入力されたと判定すると(ステップS301でYes)、試加工データベース120が作成される(ステップS302)。この段階では、
図5(A)に示すように、いずれの項目も未設定となっている。
【0078】
続いて、ステップS303~ステップS312はループ処理であり、予め定められた条件を満たすまで、各試加工IDについて繰り返される。ループ処理が開始すると(ステップS303)、まず、正規化処理部140が、試加工データベース120に記憶されている過去の試加工における全ての入力変数及び目的変数を正規化する(ステップS304)。最初の試加工については、過去のデータがないのでステップS304はスキップされる。
【0079】
次に、試加工条件探索部130は、正規化処理部140によって正規化された過去の入力変数及び目的変数に基づいて、次の試加工で試されるべき入力変数の組み合わせであって、目的変数を最小化することが期待できる入力条件の組み合わせを探索する(ステップS305)。
【0080】
試加工条件探索部130により各入力変数の組み合わせが探索されると、正規化処理部140は、探索された入力変数の組み合わせを逆変換する(ステップS306)。そして、正規化処理部140は、逆変換された入力変数の組み合わせを試加工データベース120に追加する。試加工データベース120に新しい入力変数の組み合わせが追加されると、実験支援装置102は、加工装置200に、追加された入力変数の組み合わせを指定した試加工指示を送信する(ステップS307)。
【0081】
その後、加工装置200は、実験支援装置102から試加工指示を受け取り、試加工指示に指定された入力条件で試加工し、目的変数である面粗さを取得した後、目的変数を指定した応答を実験支援装置102に送信する。実験支援装置102は、加工装置200から目的変数を指定した応答を取得したか否かを判定する(ステップS308)。実験支援装置102が加工装置200から目的変数を指定した応答を取得したと判定するまで、実験支援処理は待機状態となる(ステップS308でNo)。
【0082】
一方で、実験支援装置102が加工装置200から目的変数を指定した応答を取得したと判定すると(ステップS308でYes)、応答に指定された目的変数が試加工データベース120に格納された後、抽出部180は、目的変数が最小値をとるときの入力変数の組み合わせを抽出する(ステップS309)。
【0083】
続いて、実験支援装置102は、機械学習装置300に現在の試加工データベース120の内容を指定した学習指示を送信する。機械学習装置300は、実験支援装置102から、学習指示を受信すると、その学習指示に指定されている試加工データベース120から、目的変数である面粗さEが最小値をとるときの入力変数の組み合わせを推定する。そして、機械学習装置300は、実験支援装置102に、推定した入力変数の組み合わせを指定した応答を送信する。実験支援装置102は、機械学習装置から、推定した入力変数の組み合わせを指定した応答を受信することにより、目的変数が最小値を取るときの入力変数の組み合わせを取得する(ステップS310)。
【0084】
その後、実験支援装置102は、抽出部180が抽出した入力変数の組み合わせと、機械学習装置300が推定した入力変数の組み合わせとが一致するか否かを判定する(ステップS311)。抽出部180が抽出した入力変数の組み合わせと、機械学習装置300が推定した入力変数の組み合わせとが一致すると判定された場合(ステップS311でYes)、ループを抜け、終了処理部160は、実験を終了する(ステップS313)。そして、実験支援処理は終了する。
【0085】
一方で、抽出部180が抽出した入力変数の組み合わせと、機械学習装置300が推定した入力変数の組み合わせとが一致しないと判定された場合(ステップS311でNo)、処理はステップS312に進み、次の試加工についてステップS303~ステップS312が繰り返される。
【0086】
以上のように第3実施形態によれば、実験支援装置102と機械学習装置300が算出した入力変数の組み合わせの最適解が一致したときに、実験を終了する。これにより、いわゆる局所最適解を最適解として推定しまうといった事態を防ぐことができる。
【0087】
(変形例1)
実施形態1において、実施支援処理によって得られた試加工データベース120の内容が機械学習装置300に送信され、機械学習装置300によって最適な加工条件が推定されてもよいことを記載した。ここで、実験支援装置100は、機械学習装置300に、試加工データベース120の内容を送信する前に、データ類似度が「0」である試加工に係るデータを削除してもよい。機械学習装置300に送信する前に削除することにより、ネットワークの負荷、機械学習時のCPU(Central Processing Unit)の負荷を抑制することができる。
【0088】
(変形例2)
上述した実施形態では、入力変数としてエンドミル210の主軸回転数A、送り速度B、径切込量C、軸切込量Dを、目的変数として切削面221の面粗さEを選択することを記載したが、入力変数、目的変数に選択される変数はこれに限られない。例えば、切削時に使用するクーラントの流量、エンドミル210等工具の特性値、ワーク220の特性値等を入力変数に追加してもよいし、切削抵抗値、主軸電流等を目的変数に追加してもよい。
【0089】
また、複数の目的変数を数式化して新しい目的変数としてもよい。例えば、加工装置200が備えるセンサ等により取得できる値であって、切削加工時にエンドミル210がワーク220から受ける抵抗を示す値である切削抵抗値を利用して、以下の数式で表される目的変数1、目的変数2を、目的変数として設定してもよい。
目的変数1=切削抵抗値×幾何公差
目的変数2=切削抵抗値/切削量
(切削量=軸切込量D×径切込量C×送り速度B)
【0090】
なお、多目的最適化問題として入力変数を推定する場合には、多目的最適化アルゴリズムであるPSO(Particle Swarm Optimization)、遺伝的アルゴリズム等を使用する。
【0091】
(変形例3)
上述した実施形態では、実験支援装置100、実験支援装置101又は実験支援装置102と、加工装置200と、機械学習装置300は別体として取り扱ったが、これらは一体となって構成されていてもよいし、いずれか2つが一体となって構成されていてもよい。
【0092】
(変形例4)
以上の実施の形態においては、加工装置の加工条件の学習データを求める場合を例に、本開示を説明したが、本開示はこれに限定されない。様々な実験を伴う学習データを効率良く取得するために広く活用可能である。
【0093】
(付記1)
機械学習の学習データを得るための実験における入力変数の組み合わせと予め定められた評価値とを対応付けて記憶する試加工データベースと、
前記試加工データベースに記憶されている入力変数の組み合わせに基づいて、次の入力変数の組み合わせを探索する試加工条件探索部と、
前記試加工条件探索部が探索した入力変数の組み合わせと、前記試加工データベースに記憶されている入力変数の組み合わせそれぞれとの類似度を示す前記評価値を求めて、前記試加工データベースに追加する類似判定部と、
前記類似判定部により求められた評価値が予め定められた条件を満たした場合に、学習用の入力データの生成を終了する終了処理部と、
を備える実験支援装置。
【0094】
(付記2)
前記試加工条件探索部により生成された入力変数の組み合わせを条件として実施された実験の結果を示す目的変数を取得して、前記試加工データベースに、実験で使用した入力変数と対応付けて格納し、
前記試加工条件探索部は、前記試加工データベースに記憶されている入力変数の組み合わせと対応する目的変数とに基づいて、次の入力変数の組み合わせを探索する、
付記1に記載の実験支援装置。
【0095】
(付記3)
前記類似判定部が、予め定められた回数以上連続で、現在の試加工における入力変数が過去のいずれの試加工における入力変数と類似していると判定した場合に、前記終了処理部は前記実験を終了する、
付記1又は2に記載の実験支援装置。
【0096】
(付記4)
前記類似判定部が、予め定められた回数以上、現在の試加工における入力変数が過去のいずれの試加工における入力変数と類似していると判定した場合に、前記終了処理部は前記実験を終了する、
付記1から3のいずれか1つに記載の実験支援装置。
【0097】
(付記5)
前記入力変数の範囲を設定する制約条件設定部をさらに備え、
前記試加工条件探索部は、前記設定された範囲内で、前記次に試みるべき試加工における入力変数を探索する、
付記1から4のいずれか1つに記載の実験支援装置。
【0098】
(付記6)
前記制約条件設定部は、さらに、前記実験に含まれる試加工の上限回数を設定し、
前記終了処理部は、前記試加工の回数が前記設定された上限回数を超えた場合に、前記実験を終了する、
付記5に記載の実験支援装置。
【0099】
(付記7)
前記試加工データベースに記憶されている過去の入力変数及び目的変数を予め定められた範囲内の数値に正規化する正規化処理部をさらに備え、
前記試加工条件探索部は、前記正規化された過去の入力変数及び目的変数に基づいて、次に試みるべき試加工における入力変数を探索する、
付記1から6のいずれか1つに記載の実験支援装置。
【0100】
(付記8)
実験計画法により前記試加工データベースを予め作成するデータベース作成部と、
前記実験に含まれる試加工の上限回数を設定する制約条件設定部と、をさらに備え、
前記終了処理部は、前記試加工の回数が前記設定された上限回数を超えた場合に、前記実験を終了する、
付記1から7のいずれか1つに記載の実験支援装置。
【0101】
(付記9)
前記試加工データベースから、前記目的変数が予め定められた条件を満たすときの前記入力変数の組み合わせを抽出する抽出部と、
前記試加工データベースを取得し、前記目的変数が予め定められた条件を満たすときの前記入力変数の組み合わせを推定する機械学習装置と、をさらに備え、
前記終了処理部は、前記抽出した入力変数の組み合わせと、前記推定した入力変数の組み合わせとが一致した場合に、前記実験を終了する、
付記1から8のいずれか1つに記載の実験支援装置。
【0102】
(付記10)
コンピュータが、
機械学習の学習データを得るための実験における入力変数の組み合わせと予め定められた評価値とを対応付けて記憶する試加工データベースに記憶されている入力変数の組み合わせに基づいて、次の入力変数の組み合わせを探索し、
前記探索した入力変数の組み合わせと、前記試加工データベースに記憶されている入力変数の組み合わせそれぞれとの類似度を示す前記評価値を求めて、前記試加工データベースに追加し、
前記求められた評価値が予め定められた条件を満たした場合に、学習用の入力データの生成を終了する、
実験支援方法。
【0103】
(付記11)
コンピュータに、
機械学習の学習データを得るための実験における入力変数の組み合わせと予め定められた評価値とを対応付けて記憶する試加工データベースに記憶されている入力変数の組み合わせに基づいて、次の入力変数の組み合わせを探索する試加工条件探索部、
前記試加工条件探索部が探索した入力変数の組み合わせと、前記試加工データベースに記憶されている入力変数の組み合わせそれぞれとの類似度を示す前記評価値を求めて、前記試加工データベースに追加する類似判定部、
前記類似判定部により求められた評価値が予め定められた条件を満たした場合に、学習用の入力データの生成を終了する終了処理部、
として機能させるプログラム。
【0104】
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この開示を説明するためのものであり、本開示の範囲を限定するものではない。すなわち、本開示の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、この開示の範囲内とみなされる。
【符号の説明】
【0105】
1 加工条件調整システム、10 入力部、20 表示部、30 制御部、40 主記憶部、50 補助記憶部、60 通信部、70 バス、100、101、102 実験支援装置、110 制約条件設定部、111 項目種、112 項目、113 制約条件、120、121 試加工データベース、130 試加工条件探索部、140 正規化処理部、150 類似判定部、160 終了処理部、170 データベース作成部、180 抽出部、200 加工装置、210 エンドミル、220 ワーク、221 切削面、300 機械学習装置、A 主軸回転数、B 送り速度、C 径切込量、D 軸切込量