IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

特許7436702機械学習装置、制御装置、及び機械学習方法
<>
  • 特許-機械学習装置、制御装置、及び機械学習方法 図1
  • 特許-機械学習装置、制御装置、及び機械学習方法 図2
  • 特許-機械学習装置、制御装置、及び機械学習方法 図3
  • 特許-機械学習装置、制御装置、及び機械学習方法 図4
  • 特許-機械学習装置、制御装置、及び機械学習方法 図5
  • 特許-機械学習装置、制御装置、及び機械学習方法 図6
  • 特許-機械学習装置、制御装置、及び機械学習方法 図7
  • 特許-機械学習装置、制御装置、及び機械学習方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-22
(54)【発明の名称】機械学習装置、制御装置、及び機械学習方法
(51)【国際特許分類】
   B23K 26/00 20140101AFI20240214BHJP
   B23Q 15/00 20060101ALI20240214BHJP
   G05B 19/4155 20060101ALI20240214BHJP
   G16Y 10/25 20200101ALI20240214BHJP
【FI】
B23K26/00 P
B23Q15/00 301H
G05B19/4155 V
G16Y10/25
【請求項の数】 10
(21)【出願番号】P 2022557413
(86)(22)【出願日】2021-10-06
(86)【国際出願番号】 JP2021037047
(87)【国際公開番号】W WO2022080215
(87)【国際公開日】2022-04-21
【審査請求日】2023-05-12
(31)【優先権主張番号】P 2020172337
(32)【優先日】2020-10-13
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【弁理士】
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】八木 順
【審査官】松田 長親
(56)【参考文献】
【文献】特開2017-164801(JP,A)
【文献】特開2018-120453(JP,A)
【文献】特開2020-121338(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B23K 26/00-26/70
G05B 19/4155
(57)【特許請求の範囲】
【請求項1】
レーザ加工機において、加工対象物の加工を制御するための少なくともレーザ走査の待機時間を含む加工条件の機械学習を行う機械学習装置であって、
複数の加工条件から加工条件を行動として選択し、前記レーザ加工機に行動を出力する行動出力部と、
前記行動により加工された加工対象物の加工状態を撮影した画像データを状態情報として取得する状態取得部と、
少なくとも前記状態取得部により取得した前記状態情報に基づいて算出される前記加工状態の加工精度及び前記レーザ走査の待機時間に基づいて報酬を算出する報酬算出部と、
前記状態取得部により取得した前記状態情報、及び前記報酬算出部により算出した前記報酬に基づいて前記加工条件の機械学習を行う学習部と、を備える機械学習装置。
【請求項2】
前記加工状態は、加工開始から加工終了までの間の加工途中の1つ以上の加工状態を含み、前記加工条件は、前記加工途中の加工状態にそれぞれ対応する加工条件を含む、請求項1に記載の機械学習装置。
【請求項3】
前記状態取得部により取得した前記状態情報に基づいて算出される前記加工状態の加工精度により前記行動の状態報酬を算出する状態報酬算出部と、
前記行動に含まれる少なくともレーザ走査の待機時間に基づいて算出する前記行動の行動報酬を算出する行動報酬算出部と、
を備え、
前記報酬算出部は、前記状態報酬と、前記行動報酬と、に基づいて前記行動の報酬を算出する、請求項1又は請求項2に記載の機械学習装置。
【請求項4】
前記状態報酬算出部は、前記状態取得部により取得した前記状態情報を、加工精度の高い加工対象物の加工状態を撮影した画像データのみに基づいて学習したオートエンコーダに入力して出力される再構築画像データに基づいて、前記加工状態の加工精度を算出する、請求項3に記載の機械学習装置。
【請求項5】
前記行動出力部は、複数の加工条件から1つの加工条件を行動として選択するための方策に基づいて前記レーザ加工機に行動を出力し、
前記学習部は、前記状態取得部により取得した複数の前記状態情報と、前記報酬算出部により算出した複数の行動報酬と、に基づいて、前記方策の評価及び改善を行う、
請求項1から請求項4のいずれか1項に記載の機械学習装置。
【請求項6】
前記学習部による学習結果に基づいて、前記加工条件を前記レーザ加工機に対して出力する最適化行動出力部を備える、請求項1から請求項5のいずれか1項に記載の機械学習装置。
【請求項7】
複数個の前記機械学習装置が、ネットワークを介して前記加工条件の機械学習を分散して実行する請求項1から請求項6のいずれか1項に記載の機械学習装置。
【請求項8】
前記学習部は、アクター・クリティック法による強化学習を行う、請求項1から請求項7のいずれか1項に記載の機械学習装置。
【請求項9】
請求項1から請求項8のいずれか1項に記載の機械学習装置と、
前記加工条件に基づいて、レーザ加工機を制御する制御部と、
を備えた制御装置。
【請求項10】
コンピュータにより実現される、レーザ加工機において、加工対象物の加工を制御するための少なくともレーザ走査の待機時間を含む加工条件の機械学習を行う機械学習方法であって、
複数の加工条件から加工条件を行動として選択し、前記レーザ加工機に行動を出力し、
前記行動により加工された加工対象物の加工状態を撮影した画像データを状態情報として取得し、
少なくとも取得された前記状態情報に基づいて算出される前記加工状態の加工精度及び前記レーザ走査の待機時間に基づいて報酬を算出し、
取得された前記状態情報、及び算出された前記報酬に基づいて前記加工条件の機械学習を行う
機械学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習装置、制御装置、及び機械学習方法に関する。
【背景技術】
【0002】
近年の持続可能な開発目標(Sustainable Development Goals:SDGs)の策定により自動車や輸送機産業等では省エネルギーが重要課題となっている。そのため、自動車や輸送機産業等では電動化、軽量化に向けた取り組みが加速している。
例えば、軽量化を図るうえで、CFRP(Carbon Fiber Reinforced Plastics:炭素繊維強化プラスチック)は軽量で強度が高いため適材であるとして利用が検討されている。しかし、CFRPはその特性上、接触工具による切断が難しい(熱影響、素材構造の破壊や剥離、工具磨耗等)。そこで、レーザによる高速かつ高品位な加工が期待されている。
超短パルスレーザ(例えば、パルス幅がフェムト(10-15)秒単位のフェムト秒パルスレーザ等)を使用する高品位加工、微細加工、アブレーション加工等の熱影響を抑えたCFRPの切断技術(リモート切断よりもさらに熱影響が少ない)が知られている。例えば、特許文献1参照。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-131956号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、超短パルスレーザによる熱影響を抑えた切断加工は一度の走査では切断できないため、何度も繰り返し走査する。このとき、同一箇所を繰り返し走査するが、CFRPへの熱影響が増加することによる加工精度の低下を避けるため、前回のレーザ走査からあえて時間を空けて(待機して)走査する必要がある。これにより、(走査時間+待機時間)×繰り返し回数の加工時間を要し、生産効率が低くなる。
そこで、最適な加工条件を選定することにより、間接的に走査時間を短縮することに繋がる技術は提案されてきたが、待機時間を最小化して加工時間を短縮する技術はまだ提案されていない。
また、加工対象となるCFRPは用途に応じて、様々な種類(繊維形態や樹脂素材)のものが開発されており、材料毎に最適化された加工条件が選定される。このため、無数にある加工条件に対して最小の待機時間を求める必要がある。
【0005】
そこで、高い加工精度を維持したまま、待機時間を最小化して加工時間を短縮することが望まれている。
【課題を解決するための手段】
【0006】
(1)本開示の機械学習装置の一態様は、レーザ加工機において、加工対象物の加工を制御するための少なくともレーザ走査の待機時間を含む加工条件の機械学習を行う機械学習装置であって、複数の加工条件から加工条件を行動として選択し、前記レーザ加工機に行動を出力する行動出力部と、前記行動により加工された加工対象物の加工状態を撮影した画像データを状態情報として取得する状態取得部と、少なくとも前記状態取得部により取得した前記状態情報に基づいて算出される前記加工状態の加工精度及び前記レーザ走査の待機時間に基づいて報酬を算出する報酬算出部と、前記状態取得部により取得した前記状態情報、及び前記報酬算出部により算出した前記報酬に基づいて前記加工条件の機械学習を行う学習部と、を備える。
【0007】
(2)本開示の制御装置の一態様は、(1)の機械学習装置と、前記加工条件に基づいて、レーザ加工機を制御する制御部と、を備える。
【0008】
(3)本開示の機械学習方法の一態様は、コンピュータにより実現される、レーザ加工機において、加工対象物の加工を制御するための少なくともレーザ走査の待機時間を含む加工条件の機械学習を行う機械学習方法であって、複数の加工条件から加工条件を行動として選択し、前記レーザ加工機に行動を出力し、前記行動により加工された加工対象物の加工状態を撮影した画像データを状態情報として取得し、少なくとも取得された前記状態情報に基づいて算出される前記加工状態の加工精度及び前記レーザ走査の待機時間に基づいて報酬を算出し、取得された前記状態情報、及び算出された前記報酬に基づいて前記加工条件の機械学習を行う。
【発明の効果】
【0009】
一態様によれば、高い加工精度を維持したまま、待機時間を最小化して加工時間を短縮することができる。
【図面の簡単な説明】
【0010】
図1】一実施形態に係る数値制御システムの機能的構成例を示す機能ブロック図である。
図2】アクター・クリティック法による強化学習のアルゴリズムの基本的な概念を説明する図である。
図3】機械学習装置の機能的構成例を示す機能ブロック図である。
図4】更新された待機時間の行動方策の確率分布の一例を示す図である。
図5】一実施形態における機械学習時の機械学習装置20の動作を示すフローチャートである。
図6】最適化行動出力部による最適化行動情報の生成時の動作を示すフローチャートである。
図7】アクター・クリティックベースの深層強化学習器の一例を示す図である。
図8】数値制御システムの構成の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本開示の一実施形態について、図面を用いて説明する。ここでは、フェムト秒パルスレーザを有するレーザ加工機を例示する。
また、レーザ加工機(フェムト秒パルスレーザ)を用いてCFRP等の加工対象物を複数回レーザ走査して高品位加工、微細加工、アブレーション加工等により熱影響を抑えた穴加工、溝加工、切断等(以下、簡単のため「精度加工」ともいう)を行う際に、複数回のレーザ走査のうち予め設定された所定のレーザ走査(例えば、1回目、5回目、10回目等のレーザ走査)毎に学習する場合を例示する。なお、本発明は、複数回のレーザ走査のうち最後のレーザ走査における1回の学習や、複数回のレーザ走査それぞれにおける学習に対しても適用可能である。
なお、以下の本実施形態の説明において、特に断らない限り、機械学習装置は、同じ材料、及び同じ加工形状である加工対象物の加工毎に機械学習する。
<一実施形態>
図1は、一実施形態に係る数値制御システムの機能的構成例を示す機能ブロック図である。
図1に示すように、数値制御システム1は、レーザ加工機10、及び機械学習装置20を有する。
【0012】
レーザ加工機10、及び機械学習装置20は、図示しない接続インタフェースを介して互いに直接接続されてもよい。また、レーザ加工機10、及び機械学習装置20は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されていてもよい。この場合、レーザ加工機10、及び機械学習装置20は、かかる接続によって相互に通信を行うための図示しない通信部を備えている。なお、後述するように、数値制御装置101は、工作機械10に含まれるが、工作機械10と異なる装置でもよい。また、数値制御装置101は、機械学習装置20を含んでもよい。
【0013】
レーザ加工機10は、当業者にとって公知のレーザ加工機であり、前述したようにフェムト秒パルスレーザ100を含む。なお、本実施例では、レーザ加工機10は、数値制御装置101を含み、数値制御装置101からの動作指令に基づいて動作する構成を例示する。また、レーザ加工機10は、カメラ102を含み、後述する数値制御装置101の制御指示に基づいてフェムト秒パルスレーザ100により精度加工された加工対象物の加工状態をカメラ102に撮影させ、撮影された画像データを数値制御装置101に出力する構成を例示する。数値制御装置101及びカメラ102をレーザ加工機10から独立させてもよい。
【0014】
数値制御装置101は、当業者にとって公知の数値制御装置であり、数値制御装置101に含まれるプロセッサ等の制御部(図示しない)を含む。制御部(図示しない)は、CAD/CAM装置等の外部装置(図示しない)から取得した加工プログラムに基づいて動作指令を生成し、生成した動作指令をレーザ加工機10に送信する。これにより、数値制御装置101は、レーザ加工機10による高品位加工、微細加工、アブレーション加工等の精度加工動作を制御する。
数値制御装置101は、レーザ加工機10の動作を制御している間、レーザ加工機10に含まれる図示しないフェムト秒パルスレーザのレーザ出力、送り速度、及びレーザ走査の待機時間等の加工条件を、複数回(例えば、10回等)のレーザ走査のうち1回目、5回目、及び10回目のレーザ走査毎に、後述する機械学習装置20に出力してもよい。換言すれば、数値制御装置101は、加工途中、すなわち1回目及び5回目それぞれにおける加工対象物の加工状態に対応する加工条件を、後述する機械学習装置20に出力してもよい。
また、数値制御装置101は、1つの加工対象物を精度加工するにあたり図示しないフェムト秒パルスレーザで当該加工対象物上を複数回(例えば、10回等)レーザ走査させることから、例えば1回目、5回目及び10回目のレーザ走査毎にカメラ102に加工対象物の加工状態を撮影させるようにしてもよい。数値制御装置101は、カメラ102により撮影された画像データの状態情報を、上述した加工条件とともに後述する機械学習装置20に出力するようにしてもよい。
【0015】
設定装置111は、直近のレーザ加工機10による高品位加工、微細加工、アブレーション加工等の精度加工動作に基づいて後述する機械学習装置20から取得した行動としてのレーザ走査毎の待機時間を含む加工条件を、次の加工対象物の精度加工にあたりレーザ加工機10に設定する。
なお、設定装置111は、数値制御装置101の制御部(図示しない)等のコンピュータで構成することができる。
また、設定装置111は、数値制御装置101と異なる装置でもよい。
【0016】
<機械学習装置20>
機械学習装置20は、数値制御装置101が加工プログラムを実行することで、レーザ加工機10を動作させたとき、加工対象物を精度加工するレーザ走査毎にレーザ走査の待機時間を含む加工条件を強化学習する装置である。
機械学習装置20に含まれる各機能ブロックの説明に先立って、まず強化学習として例示するアクター・クリティック法による強化学習の基本的な仕組みについて説明する。ただし、後述するように、強化学習はアクター・クリティック法による強化学習に限定されない。
【0017】
図2は、アクター・クリティック法による強化学習のアルゴリズムの基本的な概念を説明する図である。
図2に示すアクター・クリティック法における、アクターとクリティックの相互作用の順序について簡単に説明する。(1)アクターは、環境から状態sを受け取る(エージェントの状態がsになる)。(2)エージェントは、アクターに与えられている行動方策πに基づき行動aを選択する。(3)時間がtからt+1に経過後に、クリティックは、エージェントの行動aの結果として、報酬rt+1を受け取る。(4)クリティックは、後述する数3式を用いてTD(Temporal Difference)誤差を計算する。(5)アクターは、TD誤差の値に応じて、行動方策πの確率分布を、後述する数4式で更新する。(6)クリティックは、後述する数1式で状態価値関数を更新する。
より具体的には、アクター・クリティック法による強化学習では、図2に示すように、価値関数とは独立に、方策を表現する構造を別に持っている。すなわち、アクター・クリティック法による強化学習は、当業者に公知のTD法の1種であり、行動方策π(s,a)に基づいて行動を選択する機構のアクター(行動器)と、アクターが現在利用している行動方策π(s,a)に対する評価を行う機構のクリティック(評価器)と、の2つの機構に分離して強化学習をモデル化している。
具体的には、アクター・クリティック法による強化学習では、例えば、或る時刻tにおける状態が状態sのとき、状態sがどのくらい良い状態であるのかを示す状態価値関数Vπ(s)の更新式は、数1式のように表すことができる。
【数1】
ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、ステップサイズパラメータ(学習係数)で、0<α≦1の範囲とする。また、rt+1+γVπ(st+1)-Vπ(s)は、TD誤差δと呼ばれる。
なお、状態価値関数Vπ(s)の更新式は、或る時刻tに対する実際の収益R(=rt+1+γV(st+1))を用いて、数2式のように表すことができる。
【数2】
また、上述のTD誤差δは、数3式のように、行動価値関数Qπ(s,a)から状態価値関数Vπ(s)を引いた、すなわち「行動のみ」の価値を示すアドバンテージ関数A(s,a)を示す。
【数3】
換言すれば、アクター・クリティック法による強化学習では、TD誤差δ(アドバンテージ関数A(s,a))は、行った行動aを評価するために用いられる。すなわち、TD誤差δ(アドバンテージ関数A(s,a))が正の値の場合、行った行動は価値を高めたことになるため、より選択されるように、逆に、TD誤差δ(アドバンテージ関数A(s,a))が負の値の場合、行った行動は価値を低めたことになるため、選択されないようにする。
そうするために、アクターが状態sで行動aを取る確率をp(s,a)とする場合、行動方策π(s,a)の確率分布は、softmax関数を用いて、数4式のように表すことができる。
【数4】
そして、アクターは、数5式に基づいて確率p(s,a)の学習を行い、数4式の行動方策π(s,a)の確率分布を状態の価値が最大となるように更新する。
【数5】
ここで、βは正のステップサイズパラメータである。
また、クリティックは、数1式に基づいて状態価値関数Vπ(s)を更新する。
【0018】
以上説明をしたアクター・クリティック法による強化学習を機械学習装置20が行う。具体的には、機械学習装置20は、複数回のレーザ走査のうち所定のレーザ走査(例えば、1回目、5回目、及び10回目のレーザ走査)において撮影された加工対象物の加工状態の画像データの状態情報と、所定のレーザ走査の待機時間を含む加工条件と、を状態sとして、当該状態sに係る所定のレーザ走査の待機時間を含む加工条件の設定/変更を状態sに対する行動aとして選択する、状態価値関数Vπ(s)及び行動方策π(s,a)を学習する。
以下の説明では、加工開始から加工終了までのレーザ走査の回数として10回とし、所定のレーザ走査の加工対象物の加工状態の画像データとして、1回目、5回目、及び10回目のレーザ走査後に撮影された画像データを例示する。また、所定のレーザ走査の待機時間として、1回目のレーザ走査の待機時間、5回目のレーザ走査の待機時間、及び10回目のレーザ走査の待機時間を例示する。なお、加工開始から加工終了までのレーザ走査の回数が10回以外の複数回で、所定のレーザ走査の待機時間が、1回目、5回目、10回目以外の場合でも、機械学習装置20の動作は同様であり説明を省略する。
【0019】
機械学習装置20は、カメラ102により撮影された1回目、5回目、及び10回目のレーザ走査後の画像データと、1回目、5回目、及び10回目のレーザ走査の待機時間を含む加工条件と、を含む状態情報(状態データ)sを観測して、行動aを決定する。機械学習装置20は、行動aをするたびに報酬が返ってくる。機械学習装置20は、将来にわたっての報酬の合計が最大になるように最適な行動aを試行錯誤的に探索する。そうすることで、機械学習装置20は、1回目、5回目、及び10回目のレーザ走査後の画像データと、1回目、5回目、及び10回目のレーザ走査の待機時間を含む加工条件と、を含む状態sに対して、最適な行動a(すなわち、「1回目のレーザ走査の待機時間」、「5回目のレーザ走査の待機時間」、及び「10回目のレーザ走査の待機時間」)を選択することが可能となる。
【0020】
図3は、機械学習装置20の機能的構成例を示す機能ブロック図である。
上述した強化学習を行うために、図3に示すように、機械学習装置20は、状態取得部21、記憶部22、学習部23、行動出力部24、最適化行動出力部25、及び制御部26を備える。また、学習部23は、前処理部231、第1学習部232、状態報酬算出部233、行動報酬算出部234、報酬算出部235、第2学習部236、及び行動決定部237を備える。制御部26は、状態取得部21、学習部23、行動出力部24、及び最適化行動出力部25の動作を制御する。
【0021】
次に、機械学習装置20の機能ブロックについて説明する。最初に記憶部22について説明する。
記憶部22は、SSD(Solid State Drive)やHDD(Hard Disk Drive)等であり、各種の制御用プログラムとともに、目標データ221、及び画像データ222を記憶してもよい。
目標データ221は、レーザ加工機10により精度加工された加工対象物であって、目標となる加工精度を有した複数の様々な加工対象物のカメラ102により撮影された画像データを加工結果として予め格納する。そして、目標データ221に格納された複数の画像データは、後述する第1学習部232に含まれる学習モデル(例えば、オートエンコーダ)を生成するために使用される。なお、目標となる加工精度で精度加工された加工対象物の加工時間は、特に気にすることなく、ゆっくり綺麗に加工するものとする。
本実施例では、目標データ221として、機械学習の対象とする、1回目、5回目、及び10回目のレーザ走査後の加工対象物の加工状態を撮影した画像データであって、目標となる加工精度を有した画像データを予め収集して、記憶部22に記憶する。そうすることで、後述する第1学習部232は、入出力にこれらの目標データを与えて学習することで、目標とする加工精度を有した画像データに含まれる特徴を学習する。そうすることで、第1学習部232により生成されるオートエンコーダに、目標とする加工精度を有した画像データを入力した場合、そのデータを正確に復元できるようになる。逆に、目標とする加工精度を有していない画像データを入力した場合、そのデータを正確に復元できない。これにより、後述するように、入力データと出力データとの誤差を算出することで、加工精度の良否の判断を行うことができる。
これに対して、画像データ222は、機械学習のために、レーザ走査の待機時間を含む複数の加工条件をそれぞれ適用して得られた、レーザ加工機10により加工された加工対象物であって、カメラ102により撮影された1回目、5回目、及び10回目のレーザ走査後の画像データを加工条件等に対応づけて格納する。
【0022】
上述したように、第1学習部232は、強化学習を行う際に、1回目、5回目、及び10回目のレーザ走査後の画像データに基づいて、それぞれの処理加工結果の精度を算出するためのオートエンコーダを予め生成するものであるため、次に、第1学習部232の機能について説明する。
第1学習部232は、例えば、当業者にとって公知の手法(オートエンコーダ)を用いて、予め目標データ221に格納されている目標データの画像データを入力データ及び出力データとして1回目、5回目、及び10回目のレーザ走査後の画像データ毎に予め機械学習し、1回目、5回目、及び10回目のそれぞれ目標とする加工精度を有する画像データ毎に生成された1回目、5回目、及び10回目に対応するオートエンコーダを有する。
後述するように、第2学習部236は、記憶部22の画像データ222に記憶された、レーザ加工機10により精度加工された加工対象物の1回目、5回目、及び10回目のレーザ走査後の画像データのそれぞれを、1回目、5回目、及び10回目の画像データ毎のオートエンコーダに入力することで、1回目、5回目、及び10回目のレーザ走査後の画像データそれぞれに対する再構築画像を、後述する状態報酬算出部233に出力することができる。
【0023】
状態取得部21は、図2のアクター・クリティック法による機械学習の(1)の機能部であり、カメラ102により撮影された1回目、5回目、及び10回目のレーザ走査後の加工対象物の加工状態を示す画像データと、1回目、5回目、及び10回目のレーザ走査の待機時間を含む加工条件と、を含む状態データsを、数値制御装置101から取得する。この状態データsは、強化学習における、環境状態sに相当する。
状態取得部21は、取得した状態データsを記憶部22に出力する。
【0024】
学習部23は、図2のアクター・クリティック法による機械学習の(2)から(6)の機能部であり、或る時刻tの状態データ(環境状態)sの下で、或る行動aを選択する場合のアクター・クリティック法による強化学習における状態価値関数Vπ(s)及び行動方策π(s,a)を学習する部分である。具体的には、学習部23は、前処理部231、第1学習部232、状態報酬算出部233、行動報酬算出部234、報酬算出部235、第2学習部236、及び行動決定部237を有する。
なお、学習部23は、学習を継続するかどうかを判断する。学習を継続するかどうかは、例えば、機械学習を始めてからの試行回数が最大試行回数に達したかどうか、又は、機械学習を始めてからの経過時間が所定時間を超えた(又は以上)かどうかに基づいて判断することができる。
【0025】
前処理部231は、画像データ222に格納されているカメラ102により撮影された現在精度加工されている加工対象物の1回目、5回目、及び10回目のレーザ走査後の画像データを、後述する第1学習部232により生成された各オートエンコーダに入力するために、画像データからピクセル情報のデータに変換したり、画像データのサイズを整えたりする前処理を行う。
【0026】
状態報酬算出部233は、図2のアクター・クリティック法による機械学習の(3)の機能部であり、状態取得部21により取得した状態情報に基づいて算出されるカメラ102により撮影された1回目、5回目、及び10回目のレーザ走査後の画像データが示す加工状態の加工精度により行動の状態報酬を算出する。
具体的には、状態報酬算出部233は、例えば、第1学習部232により生成された各オートエンコーダに入力された1回目、5回目、及び10回目のレーザ走査後の画像データそれぞれと、1回目、5回目、及び10回目のレーザ走査後の画像データそれぞれに対応する再構築画像と、の誤差を算出する。状態報酬算出部233は、算出されたそれぞれの誤差の絶対値のマイナスの値を、1回目、5回目、及び10回目のレーザ走査における行動の状態報酬r1、r2、r3として算出する。そして、状態報酬算出部233は、算出した状態報酬r1、r2、r3を記憶部22に記憶するようにしてもよい。ここで、誤差の算出は、任意の誤差関数を適用してもよい。
【0027】
行動報酬算出部234は、行動に含まれる少なくともレーザ走査の待機時間に基づいて算出する行動の行動報酬を算出する。
具体的には、行動報酬算出部234は、行動として決定された1回目、5回目、及び10回目のレーザ走査の待機時間の値に応じて報酬を計算する。すなわち、行動報酬算出部234は、1回目、5回目、及び10回目それぞれのレーザ走査の待機時間が短いほど(「0」に近いほど)良い報酬となるように、レーザ走査の待機時間の値を行動報酬r1、r2、r3aとして算出する。そして、行動報酬算出部234は、算出した行動報酬r1、r2、r3aを記憶部22に記憶するようにしてもよい。
【0028】
報酬算出部235は、少なくとも状態取得部21により取得した状態情報に基づいて算出される加工状態の加工精度及びレーザ走査の待機時間に基づいて或る状態sの下で、行動aを選択した場合の報酬を算出する。
具体的には、報酬算出部235は、例えば、状態報酬算出部233により算出された1回目のレーザ走査の状態報酬r1と、行動報酬算出部234により算出された行動報酬r1と、を例えば重み付け加算して報酬r1を算出する。このように、状態報酬r1と行動報酬r1とを重み付け加算することにより、加工状態の加工精度とレーザ走査の待機時間との両方の影響を反映した報酬r1を算出することができる。
同様に、報酬算出部235は、状態報酬算出部233により算出された5回目のレーザ走査の状態報酬r2と、行動報酬算出部234により算出された行動報酬r2と、を重み付け加算して報酬r2を算出する。また、報酬算出部235は、状態報酬算出部233により算出された10回目のレーザ走査の状態報酬r3と、行動報酬算出部234により算出された行動報酬r3と、を重み付け加算して報酬r3を算出する。
なお、報酬算出部235は、状態報酬r1、r2、r3それぞれと行動報酬r1、r2、r3aそれぞれとを単純に加算して報酬r1、r2、r3を算出してもよく、状態報酬r1、r2、r3それぞれと行動報酬r1、r2、r3aとを変数とする関数を用いて報酬r1、r2、r3を算出してもよい。
【0029】
第2学習部236は、上述したように、図2のアクター・クリティック法による強化学習の(4)から(6)の機能部であり、状態取得部21により取得した複数の状態情報と、報酬算出部235により算出した複数の報酬r1、r2、r3と、に基づいて、方策の評価及び更新を行う。
【0030】
具体的には、第2学習部236は、例えば、1回目のレーザ走査後の状態s1に対する状態価値関数Vπ1(s1)と、1回目のレーザ走査後の状態s1に対する行動方策π1t(s1,a1)を計算する。また、第2学習部236は、5回目のレーザ走査後の状態s2に対する状態価値関数Vπ2(s2)と、5回目のレーザ走査後の状態s2に対する行動方策π2t(s2,a2)を計算する。また、第2学習部236は、10回目のレーザ走査後の状態s3に対する状態価値関数Vπ3(s3)と、10回目のレーザ走査後の状態s3に対する行動方策π3t(s3,a3)を計算する。
そして、第2学習部236は、図2の(4)で説明したように、1回目のレーザ走査後の収益R1(=r1+r1t-1+…+r1)と算出した状態価値関数Vπ1(s1)との差、すなわち状態s1における数3式のTD誤差δを計算する。第2学習部236は、図2の(5)で説明したように、アクターとして、計算された状態s1のTD誤差δに応じて行動方策π1t(s1,a1)を更新する。
また、第2学習部236は、5回目のレーザ走査後の収益R2(=r2+r2t-1+…+r2)と算出した状態価値関数Vπ2(s2)との差、すなわち状態s2におけるTD誤差δを計算する。第2学習部236は、アクターとして、計算された状態s2のTD誤差δに応じて行動方策π2t(s2,a2)を更新する。また、第2学習部236は、10回目のレーザ走査後の収益R3(=r3+r3t-1+…+r3)と算出した状態価値関数Vπ3(s3)との差、すなわち状態s3におけるTD誤差δを計算する。第2学習部236は、アクターとして、計算された状態s3のTD誤差δに応じて行動方策π3t(s3,a3)を更新する。
また、第2学習部236は、図2の(6)で説明したように、クリティックとして、計算された状態s1のTD誤差δに応じて、状態価値関数Vπ1(s1)を更新する。また、第2学習部236は、クリティックとして、計算された状態s2のTD誤差δ)に応じて、状態価値関数Vπ2(s2)を更新する。また、第2学習部236は、クリティックとして、計算された状態s3のTD誤差δに応じて、状態価値関数Vπ3(s3)を更新する。
図4は、更新された待機時間の行動方策π1t(s1,a1)、π2t(s2,a2)、π3t(s3,a3)の確率分布の一例を示す図である。
なお、図4は、待機時間の行動方策の確率分布を示すが、第2学習部236は、加工条件に含まれる待機時間、レーザ出力、送り速度等の毎に行動方策の確率分布を更新してもよく、加工条件に含まれる待機時間、レーザ出力、送り速度等を全てまとめて1つの分布にして更新してもよい。
【0031】
行動決定部237は、図2のアクター・クリティック法による機械学習のうち(2)の機能部であり、1回目の状態s1、5回目の状態s2、10回目の状態s3それぞれに対応する改善された確率的方策π1t(s1,a1)、π2t(s2,a2)、π3t(s3,a3)に基づいて、行動a1、a2、a3をそれぞれ決定する。行動決定部237は、決定した行動a1、a2、a3を記憶部22に記憶する。そして、後述する行動出力部24は、記憶部22から行動a1、a2、a3を取得する。
具体的には、行動決定部237は、例えば、図4に示す更新された各行動方策π1t(s1,a1)、π2t(s2,a2)、π3t(s3,a3)の確率分布に基づいて行動a1、a2、a3をそれぞれ決定する。
【0032】
行動出力部24は、図2のアクター・クリティック法による機械学習のうち(2)の機能部であり、学習部23から出力される行動a1、a2、a3をレーザ加工機10に対して出力する部分である。行動出力部24は、例えば行動情報としての、更新された「1回目のレーザ走査の待機時間」、「5回目のレーザ走査の待機時間」、「10回目のレーザ走査の待機時間」の値を含む加工条件を、レーザ加工機10に出力するようにしてもよい。これにより、数値制御装置101は、受信して更新された「1回目のレーザ走査の待機時間」、「5回目のレーザ走査の待機時間」、「10回目のレーザ走査の待機時間」の加工条件に基づいて、レーザ加工機10の動作を制御する。
【0033】
最適化行動出力部25は、学習部23による学習結果に基づいて、「1回目のレーザ走査の待機時間」、「5回目のレーザ走査の待機時間」、「10回目のレーザ走査の待機時間」の値を含む加工条件をレーザ加工機10に対して出力する。
具体的には、最適化行動出力部25は、記憶部22に記憶されている行動方策π1t(s1,a1)と、行動方策π2t(s2,a2)と、行動方策π3t(s3,a3)と、を取得する。行動方策π1t(s1,a1)と、行動方策π2t(s2,a2)と、行動方策π3t(s3,a3)と、は、上述したように第2学習部236が機械学習を行うことにより更新したものである。そして、最適化行動出力部25は、行動方策π1t(s1,a1)と、行動方策π2t(s2,a2)と、行動方策π3t(s3,a3)と、に基づいて、行動情報を生成し、生成した行動情報をレーザ加工機10に対して出力する。この最適化行動情報には、行動出力部24が出力する行動情報と同様に、改善された「1回目のレーザ走査の待機時間」、「5回目のレーザ走査の待機時間」、「10回目のレーザ走査の待機時間」の値を示す情報が含まれる。
【0034】
以上、機械学習装置20に含まれる機能ブロックについて説明した。
これらの機能ブロックを実現するために、機械学習装置20は、CPU等の演算処理装置を備える。また、機械学習装置20は、アプリケーションソフトウェアやOS(Operating System)等の各種の制御用プログラムを格納したHDD等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAMといった主記憶装置も備える。
【0035】
そして、機械学習装置20において、演算処理装置が補助記憶装置からアプリケーションソフトウェアやOSを読み込み、読み込んだアプリケーションソフトウェアやOSを主記憶装置に展開させながら、これらのアプリケーションソフトウェアやOSに基づいた演算処理を行なう。また、この演算結果に基づいて、機械学習装置20が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
【0036】
機械学習装置20については機械学習に伴う演算量が多いため、例えば、パーソナルコンピュータにGPU(Graphics Processing Units)を搭載し、GPGPU(General-Purpose computing on Graphics Processing Units)と呼ばれる技術により、GPUを機械学習に伴う演算処理に利用するようにすると高速処理できるようになるのでよい。さらには、より高速な処理を行うために、このようなGPUを搭載したコンピュータを複数台用いてコンピュータ・クラスターを構築し、このコンピュータ・クラスターに含まれる複数のコンピュータにて並列処理を行うようにしてもよい。
【0037】
次に、図2のアクター・クリティック法による強化学習、及び図5のフローチャートを参照して本実施形態における機械学習時の機械学習装置20の動作について説明をする。
図5は、一実施形態における機械学習時の機械学習装置20の動作を示すフローチャートである。なお、前述したように、第1学習部232により、1回目、5回目、及び10回目のレーザ走査後の画像データに基づいて、それぞれの処理加工結果の精度を算出するためのオートエンコーダは予め生成されているものとする。
【0038】
ステップS10において、行動出力部24は、図2の(2)で説明したように、行動をレーザ加工機10に対して出力する。
【0039】
ステップS11において、状態取得部21は、図2の(1)で説明したように、レーザ加工機10の状態として、レーザ加工機10のカメラ102により撮影された1回目のレーザ走査後の画像データと、レーザ走査の待機時間を含む加工条件と、を含む状態データs1、5回目のレーザ走査後の画像データと、レーザ走査の待機時間を含む加工条件と、を含む状態データs2、及び10回目のレーザ走査後の画像データと、レーザ走査の待機時間を含む加工条件と、を含む状態データs3を、数値制御装置101から取得する。
【0040】
ステップS12において、報酬算出部235は、図2の(3)で説明したように、ステップS11で取得された状態データs1、s2、s3に基づいて算出される加工状態の加工精度及びレーザ走査の待機時間に基づいて各状態データs1、s2、s3の下で、行動を選択した場合の報酬r1、r2、r3を算出する。
具体的には、第2学習部236は、第1学習部232により生成された各オートエンコーダにステップS11で取得された状態データs1、s2、s3の画像データそれぞれを入力し、状態データs1、s2、s3の画像データに対する再構築画像をそれぞれ出力する。状態報酬算出部233は、入力された状態データs1、s2、s3の画像データそれぞれと、出力された状態データs1、s2、s3の画像データに対する再構築画像それぞれと、の誤差を算出し、算出された誤差それぞれの絶対値のマイナスの値を、各状態データs1、s2、s3の状態報酬r1、r2、r3として算出する。また、行動報酬算出部234は、各状態データs1、s2、s3の待機時間が短いほど(「0」に近いほど)良い報酬となるように、レーザ走査の待機時間の値を行動報酬r1、r2、r3として計算する。そして、報酬算出部235は、状態データs1、s2、s3毎に、状態報酬算出部233により計算された状態報酬r1、r2、r3それぞれと、行動報酬算出部234により計算された行動報酬r1、r2、r3それぞれと、を重み付け加算して報酬r1、r2、r3を算出する。
【0041】
ステップS13において、第2学習部236は、各状態(状態データ)s1、s2、s3に対する状態価値関数Vπ1(s1)、Vπ2(s2)、Vπ3(s3)と、行動方策π1t(s1,a1)、行動方策π2t(s2,a2)、行動方策π3t(s3,a3)と、を計算する。そして、第2学習部236は、図2の(4)で説明したように、各状態(状態データ)s1、s2、s3における収益R1、R2、R3それぞれと、計算した状態価値関数Vπ1(s1)、状態価値関数Vπ2(s2)、状態価値関数Vπ3(s3)それぞれとの差を、各状態(状態データ)s1、s2、s3におけるTD誤差δとして計算する。
【0042】
ステップS14において、第2学習部236は、図2の(5)で説明したように、アクターとして、ステップS13で計算された各状態(状態データ)s1、s2、s3のTD誤差δに応じて、行動方策π1t(s1,a1)、行動方策π2t(s2,a2)、行動方策π3t(s3,a3)を更新する。また、第2学習部236は、図2の(6)で説明したように、クリティックとして、ステップS13で計算された各状態(状態データ)s1、s2、s3のTD誤差δに応じて、状態価値関数Vπ1(s1)、状態価値関数Vπ2(s2)、状態価値関数Vπ3(s3)を更新する。
【0043】
ステップS15において、行動決定部237は、図2の(2)で説明したように、1回目の状態s1、5回目の状態s2、10回目の状態s3それぞれに対応する更新された確率的方策π1t(s1,a1)、π2t(s2,a2)、π3t(s3,a3)に基づいて、行動a1、a2、a3をそれぞれ決定する。
【0044】
ステップS16において、学習部23は、機械学習を始めてからの試行回数が最大試行回数に到達したかどうかを判断する。最大試行回数は予め設定しておく。試行回数が最大試行回数に到達した場合、処理は終了する。試行回数が最大試行回数に到達していない場合、処理はステップS17に進む。
【0045】
ステップS17において、学習部23は試行回数をカウントアップし、処理はステップS10に戻る。
【0046】
なお、図5のフローは、試行回数が最大試行回数に到達したときに処理を終了させているが、ステップS10からステップS16の処理に係る時間を、機械学習を始めてから累積した時間が、予め設定された最大経過時間を超えた(又は以上になった)ことを条件として処理を終了するようにしてもよい。
【0047】
以上、図5を参照して説明した動作により、本実施形態では、高い加工精度を維持したまま、待機時間を最小化して加工時間を短縮するための行動情報を生成するための行動方策π1t(s1,a1)、π2t(s2,a2)、π3t(s3,a3)を生成することができる。
【0048】
次に、図6のフローチャートを参照して、最適化行動出力部25による最適化行動情報の生成時の動作について説明をする。
ステップS21において、最適化行動出力部25は、記憶部22に記憶している行動方策π1t(s1,a1)、π2t(s2,a2)、π3t(s3,a3)を取得する。行動方策π1t(s1,a1)、π2t(s2,a2)、π3t(s3,a3)は、上述したように学習部23がアクター・クリティック法による強化学習を行うことにより更新したものである。
【0049】
ステップS22において、最適化行動出力部25は、行動方策π1t(s1,a1)、π2t(s2,a2)、π3t(s3,a3)に基づいて、最適化行動情報を生成し、生成した最適化行動情報をレーザ加工機10に対して出力する。
【0050】
以上のように、機械学習装置20は、高い加工精度を維持したまま、待機時間を最小化して加工時間を短縮することができる。
【0051】
以上、一実施形態について説明したが、機械学習装置20は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【0052】
<変形例1>
上述の実施形態では、機械学習装置20は、数値制御装置101と異なる装置として例示したが、機械学習装置20の一部又は全部の機能を、数値制御装置101が備えるようにしてもよい。
あるいは、機械学習装置20の状態取得部21、学習部23、行動出力部24、最適化行動出力部25、及び制御部26の一部又は全部を、例えば、サーバが備えるようにしてもよい。また、クラウド上で仮想サーバ機能等を利用して、機械学習装置20の各機能を実現してもよい。
さらに、機械学習装置20は、機械学習装置20の各機能を適宜複数のサーバに分散される、分散処理システムとしてもよい。
【0053】
<変形例2>
また例えば、上述の実施形態では、機械学習装置20は、状態データとして1回目、5回目、及び10回目のレーザ走査後の3つとしたが、これに限定されない。例えば、機械学習装置20は、1つの状態データでもよく、2つ以上の状態データでもよい。
機械学習装置20は、例えば、状態データを1つとする場合、レーザ加工機10による全ての走査が終了した10回目のレーザ走査後の画像データと、レーザ走査の待機時間を含む加工条件と、を状態データs1としてもよい。そうすることで、機械学習装置20は、加工対象のワーク毎に待機時間を最小化して加工時間を短縮することができる。
【0054】
<変形例3>
また例えば、上述の実施形態では、機械学習装置20(第2学習部236)は、アクター・クリティック法による強化学習を用いたが、これに限定されない。例えば、機械学習装置20(第2学習部236)は、アクター・クリティック法を適用するに際して深層学習を実装してもよい。アクター・クリティック法の深層学習として、当業者にとって公知のA2C(Advantage Actor-Critic)やA3C(Asynchronous Advantage Actor-Critic)等のニューラルネットワークを用いたアクター・クリティックベースの深層強化学習器を用いてもよい。なお、A2C又はA3Cについては、例えば、以下の非特許文献に詳細な記載がある。
図7は、アクター・クリティックベースの深層強化学習器の一例を示す図である。
図7に示すように、アクター・クリティックベースの深層強化学習器は、前処理された画像データ222の画像データ(状態データ)の状態s~sを入力して、行動a~a毎にアドバンテージ関数値(TD誤差δ)を出力するアクターと、状態価値関数V(s)を出力するクリティックと、を含む(n、mは正の整数)。アクター・クリティックベースの深層強化学習器のアクターは、出力されたアドバンテージ関数値(TD誤差δ)をsoftmax関数により確率に変換し、その分布を確率的方策として記憶部22に保存してもよい。
なお、重みθ s1~θ snは、各状態s~sの状態価値関数V(s)を計算するためのパラメータであり、重みθ s1~θ snの更新量dθ s1~dθ snは、勾配降下法に基づく「アドバンテージ関数の二乗誤差」を用いた勾配である。また、重みθ s1~θ snは、各状態s~sの行動方策π(s,a)を計算するためのパラメータであり、重みθ s1~θ snの更新量dθ s1~dθ snは、方策勾配法に基づく「方策×アドバンテージ関数」の勾配である。
【0055】
<非特許文献>
「Asynchronous Methods for Deep Reinforcement Learning」、Volodymyr Mnih著、[online]〈URL:https://arxiv.org/pdf/1602.01783.pdf〉
【0056】
<変形例4>
また例えば、上述の実施形態では、数値制御システム1において、1つのレーザ加工機10と、1つの機械学習装置20と、が通信可能に接続されたが、これに限定されない。例えば、図8に示すように、制御システム1は、1つのレーザ加工機10と、m個の機械学習装置20A(1)~20A(m)とが、ネットワーク50を介して接続されてもよい(mは2以上の整数)。この場合、機械学習装置20A(j)の記憶部22に格納された目標データ221及び画像データ222は、他の機械学習装置20A(k)との間で共有されるようにしてもよい(j、kは1からmの整数であり、k≠j)。目標データ221及び画像データ222を機械学習装置20A(1)-20A(m)で共有するようにすれば、各機械学習装置20Aにて分散して強化学習を行うことが可能となるので、強化学習の効率を向上させることが可能となる。
なお、機械学習装置20A(1)-20A(m)の各々は、図1の機械学習装置20に対応する。
【0057】
<変形例5>
また例えば、上述の実施形態では、機械学習装置20は、レーザ加工機10によるCFRP等の加工対象物を複数回レーザ走査して高品位加工、微細加工、アブレーション加工等により穴加工、溝加工、切断等の精度加工に対して適用したが、これに限定されない。例えば、機械学習装置20は、均一に敷き詰められた金属粉末に対してガルバノメーターミラーを介してレーザを照射することで照射部分のみの金属粉末を溶融して凝固(又は焼結)させ、当該照射を繰り返して積層することにより3次元の複雑な形状の加工対象物を生成する、レーザ加工機10によるレーザ積層造形加工に対して適用してもよい。この場合の加工条件には、レーザ走査の待機時間に替えて、積層後の待機時間が、走査間隔、積層の厚さ等とともに含まれてもよい。
【0058】
<変形例6>
また例えば、上述の実施形態では、機械学習装置20(第2学習部236)は、アクター・クリティック法による強化学習を用いたが、これに限定されない。例えば、機械学習装置20(第2学習部236)は、或る環境の状態sの下で、行動aを選択する行動価値関数Q(s,a)を学習する方法であるQ学習(Q-learning)を用いてもよい。
Q学習では、或る状態sのとき、取り得る行動aのなかから、行動価値関数Q(s,a)の値が最も高い行動aを最適な行動として選択することを目的とする。
【0059】
しかしながら、Q学習を最初に開始する時点では、状態sと行動aとの組合せについて、行動価値関数Q(s,a)の正しい値は全く分かっていない。そこで、エージェントは、或る状態sの下で様々な行動aを選択し、その時の行動aに対して、与えられる報酬に基づいて、より良い行動の選択をすることにより、正しい行動価値関数Q(s,a)を学習していく。
【0060】
また、将来にわたって得られる報酬の合計を最大化したいので、最終的にQ(s,a)=E[Σ(γ)r]となるようにすることを目指す。ここでE[]は期待値を表し、tは時刻、γは後述する割引率と呼ばれるパラメータ、rは時刻tにおける報酬、Σは時刻tによる合計である。この式における期待値は、最適な行動に従って状態変化した場合の期待値である。しかしQ学習の過程において最適な行動が何であるのかは不明であるので、様々な行動を行うことにより、探索しながら強化学習をする。このような行動価値関数Q(s,a)の更新式は、例えば、次の数6式により表すことができる。
【0061】
【数6】
上記の数6式において、sは、時刻tにおける環境の状態を表し、aは、時刻tにおける行動を表す。行動aにより、状態はst+1に変化する。rt+1は、その状態の変化により得られる報酬を表している。また、maxの付いた項は、状態st+1の下で、その時に分かっている最もQ値の高い行動aを選択した場合のQ値にγを乗じたものになる。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。また、αは、ステップサイズパラメータ(学習係数)で、0<α≦1の範囲とする。
【0062】
上述した数6式は、試行aの結果、返ってきた報酬rt+1を元に、状態sにおける行動aの行動価値関数Q(s,a)を更新する方法を表している。
この更新式は、状態sにおける行動aの行動価値関数Q(s,a)よりも、行動aによる次の状態st+1における最良の行動の価値max Q(st+1,a)の方が大きければ、Q(s,a)を大きくし、逆に小さければ、Q(s,a)を小さくすることを示している。つまり、或る状態における或る行動の価値を、それによる次の状態における最良の行動の価値に近づける。ただし、その差は、割引率γと報酬rt+1のあり方により変わってくるが、基本的には、ある状態における最良の行動の価値が、それに至る1つ前の状態における行動の価値に伝播していく仕組みになっている。
【0063】
ここで、Q学習では、すべての状態行動ペア(s,a)についてのQ(s,a)のテーブルを作成して、学習を行う方法がある。しかし、すべての状態行動ペアのQ(s,a)の値を求めるには状態数が多すぎて、Q学習が収束するのに多くの時間を要してしまう場合がある。
【0064】
そこで、公知のDQN(Deep Q-Network)と呼ばれる技術を利用するようにしてもよい。具体的には、行動価値関数Qを適当なニューラルネットワークを用いて構成し、ニューラルネットワークのパラメータを調整することにより、行動価値関数Qを適当なニューラルネットワークで近似することにより行動価値関数Q(s,a)の値を算出するようにしてもよい。DQNを利用することにより、Q学習が収束するのに要する時間を短くすることが可能となる。なお、DQNについては、例えば、以下の非特許文献に詳細な記載がある。
【0065】
<非特許文献>
「Human-level control through deep reinforcement learning」、Volodymyr Mnih著[online]、[平成29年1月17日検索]、インターネット〈URL:http://files.davidqiu.com/research/nature14236.pdf〉
【0066】
なお、一実施形態における、機械学習装置20に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0067】
機械学習装置20に含まれる各構成部は、電子回路等を含むハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータにインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。また、ハードウェアで構成する場合、上記の装置に含まれる各構成部の機能の一部又は全部を、例えば、ASIC(Application Specific Integrated Circuit)、ゲートアレイ、FPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)等の集積回路(IC)で構成することができる。
【0068】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【0069】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0070】
以上を換言すると、本開示の機械学習装置、制御装置、及び機械学習方法は、次のような構成を有する各種各様の実施形態を取ることができる。
【0071】
(1)本開示の機械学習装置20は、レーザ加工機10において、加工対象物の加工を制御するための少なくともレーザ走査の待機時間を含む加工条件の機械学習を行う機械学習装置であって、複数の加工条件から加工条件を行動として選択し、レーザ加工機10に行動を出力する行動出力部24と、行動により加工された加工対象物の加工状態を撮影した画像データを状態情報として取得する状態取得部21と、少なくとも状態取得部21により取得した状態情報に基づいて算出される加工状態の加工精度及びレーザ走査の待機時間に基づいて報酬を算出する報酬算出部235と、状態取得部21により取得した状態情報、及び報酬算出部235により算出した報酬に基づいて加工条件の機械学習を行う学習部23と、を備える。
この機械学習装置20によれば、高い加工精度を維持したまま、待機時間を最小化して加工時間を短縮することができる。
【0072】
(2) (1)に記載の機械学習装置20において、加工状態は、加工開始から加工終了までの間の加工途中の1つ以上の加工状態を含み、加工条件は、加工途中の加工状態にそれぞれ対応する加工条件を含んでもよい。
そうすることで、機械学習装置20は、加工精度の向上を図ることができる。
【0073】
(3) (1)又は(2)に記載の機械学習装置20において、状態取得部21により取得した状態情報に基づいて算出される加工状態の加工精度により行動の状態報酬を算出する状態報酬算出部233と、行動に含まれる少なくともレーザ走査の待機時間に基づいて算出する行動の行動報酬を算出する行動報酬算出部234と、を備え、報酬算出部235は、状態報酬と、行動報酬と、に基づいて行動の報酬を算出してもよい。
そうすることで、機械学習装置20は、加工精度とレーザ走査の待機時間に応じた報酬を精度良く算出することができる。
【0074】
(4) (3)に記載の機械学習装置20において、状態報酬算出部233は、状態取得部21により取得した状態情報を、加工精度の高い加工対象物の加工状態を撮影した画像データのみに基づいて学習したオートエンコーダに入力して出力される再構築画像データに基づいて、加工状態の加工精度を算出する。
そうすることで、機械学習装置20は、加工精度に応じた状態報酬を精度良く算出することができる。
【0075】
(5) (1)から(4)のいずれかに記載の機械学習装置20において、行動出力部24は、複数の加工条件から1つの加工条件を行動として選択するための方策に基づいてレーザ加工機10に行動を出力し、学習部23は、状態取得部21により取得した複数の状態情報と、報酬算出部235により算出した複数の行動報酬と、に基づいて、方策の評価及び改善を行ってもよい。
そうすることで、機械学習装置20は、最適な行動を選択することができる。
【0076】
(6) (1)から(5)のいずれかに記載の機械学習装置20において、学習部23による学習結果に基づいて、加工条件をレーザ加工機10に対して出力する最適化行動出力部を備えてもよい。
そうすることで、機械学習装置20は、最適な加工条件を出力することができる。
【0077】
(7) (1)から(6)のいずれかに記載の機械学習装置20Aにおいて、複数個の機械学習装置20Aが、ネットワーク50を介して加工条件の機械学習を分散して実行してもよい。
そうすることで、機械学習装置20Aは、強化学習の効率を向上させることができる。
【0078】
(8) (1)から(7)のいずれかに記載の機械学習装置20において、学習部23は、アクター・クリティック法による強化学習を行ってもよい。
そうすることで、機械学習装置20は、より精度良く待機時間を最小化して加工時間を短縮することができる。
【0079】
(9)本開示の数値制御装置101は、(1)から(6)のいずれかに記載の機械学習装置20と、加工条件に基づいて、レーザ加工機10を制御する制御部と、を備える。
この数値制御装置101によれば、(1)と同様の効果を奏することができる。
【0080】
(10)本開示の機械学習方法は、コンピュータにより実現される、レーザ加工機10において、加工対象物の加工を制御するための少なくともレーザ走査の待機時間を含む加工条件の機械学習を行う機械学習方法であって、複数の加工条件から加工条件を行動として選択し、レーザ加工機10に行動を出力し、行動により加工された加工対象物の加工状態を撮影した画像データを状態情報として取得し、少なくとも取得された状態情報に基づいて算出される加工状態の加工精度及びレーザ走査の待機時間に基づいて報酬を算出し、取得された状態情報、及び算出された報酬に基づいて加工条件の機械学習を行う。
この機械学習方法によれば、(1)と同様の効果を奏することができる。
【符号の説明】
【0081】
1 数値制御システム
10 レーザ加工機
101 数値制御装置
102 カメラ
20 機械学習装置
21 状態取得部
22 記憶部
23 学習部
231 前処理部
232 第1学習部
233 状態報酬算出部
234 行動報酬算出部
235 報酬算出部
236 第2学習部
237 行動決定部
24 行動出力部
25 最適化行動出力部
図1
図2
図3
図4
図5
図6
図7
図8