JP2023163444A - 学習装置、学習装置の制御方法、プログラム - Google Patents

学習装置、学習装置の制御方法、プログラム Download PDF

Info

Publication number
JP2023163444A
JP2023163444A JP2022074366A JP2022074366A JP2023163444A JP 2023163444 A JP2023163444 A JP 2023163444A JP 2022074366 A JP2022074366 A JP 2022074366A JP 2022074366 A JP2022074366 A JP 2022074366A JP 2023163444 A JP2023163444 A JP 2023163444A
Authority
JP
Japan
Prior art keywords
learning
control target
observation
state
control
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.)
Pending
Application number
JP2022074366A
Other languages
English (en)
Inventor
航平 江口
Kohei Eguchi
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2022074366A priority Critical patent/JP2023163444A/ja
Publication of JP2023163444A publication Critical patent/JP2023163444A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Feedback Control In General (AREA)

Abstract

【課題】 状況に応じて変化する制御目標に対応した制御を行うことが難しい場合があった。【解決手段】 観測周期ごとに制御の対象の状態を観測する観測手段と、前記観測手段で観測したデータに応じた操作量を制御の対象へ出力する推論手段と、前記推論手段が制御の対象へ出力する操作量を強化学習する学習手段と、前記観測手段が出力する状態の少なくとも1つに対応する制御目標を設定する設定手段と、を備え、前記学習手段が強化学習しているあいだに、前記設定手段が前記制御目標を変更し、報酬は前記制御目標と前記対象の状態に基づいて算出することを特徴とする学習装置。【選択図】 図1

Description

本発明は、制御について学習する際の制御目標を設定する学習装置に関する。
従来より、制御目標によって制御パラメータを変更する技術が開示されている。例えば、特許文献1では自動制御を稼働させている状態で、制御目標の変化に対して制御出力が大きく変化することなく、調整パラメータを変更する技術が開示されている。特許文献2ではフィードフォワード補償信号を発生するニューラルネットワーク補償器を学習する際に、目標値の顕著な変化が発生した際には学習が適切に行えないため学習を中止する技術が開示されている。
特開2020-30567号公報 特開平4―326101号公報
強化学習においてエージェントと呼ばれる学習主体は、環境と呼ばれる学習対象の状態を観測し、その状態に応じた行動を環境に指示する。そして、その指示の結果観測周期後の環境の状態がどう変化したかを観測し報酬という指標を基に初めの状態で指示した行動が良かったか判断する。強化学習は初めの状態を観測してから次の状態を観測するまでを1観測周期間で行う。
強化学習を制御に応用する場合、エージェントは制御器、環境は制御対象となるが、強化学習制御器を実用するためには変化する制御目標が入力された際に制御量が追従できるように制御できなければならない。これは制御対象であるモータを状況に応じて異なる速度で駆動することがあるためで、例えば、速度について制御を行う場合は複数の速度目標を状況に応じて使い分けることがある。しかし、速度目標を可変にしたい場合に、一つの速度目標で学習するとその速度目標に特化してしまう。その結果、推論時つまり実際に速度制御動作を行う際に学習時に用いていない他の速度目標を設定した場合に適切な制御ができずに速度目標と実速度の間に偏差が出てしまうことがある。
上述の特許文献1に開示された従来技術では、制御目標の変化に対して調整パラメータを変更しているが、強化学習で変化する制御目標に対応するための学習はできない。
また上述の特許文献2に開示された従来技術では、目標値の顕著な変化に対して学習を止めることで学習を適切に行っているが、変化する制御目標に対応するという課題に対しては効果的ではない。
そこで、本発明は、状況に応じて変化する制御目標に対応した制御を行うことを可能にした強化学習方法を提供することを目的とする。
上記目的を達成するために本発明における学習装置は、観測周期ごとに制御の対象の状態を観測する観測手段と、前記観測手段で観測したデータに応じた操作量を制御の対象へ出力する推論手段と、前記推論手段が制御の対象へ出力する操作量を強化学習する学習手段と、前記観測手段が出力する状態の少なくとも1つに対応する制御目標を設定する設定手段と、を備え、前記学習手段が強化学習しているあいだに、前記設定手段が前記制御目標を変更し、報酬は前記制御目標と前記対象の状態に基づいて算出することを特徴とする。
本発明によれば状況に応じて変化する制御目標に対応した制御を行うことを可能にした強化学習方法を提供することができる。
本発明の実施形態1における強化学習の概念を示す図である。 本発明の実施形態1における学習に使用するディープニューラルネットワークを示す図である。 本発明の実施形態1における強化学習方法の構成を示すブロック図である。 本発明の実施形態1における複数の目標速度の一例を示す図である。 本発明の実施形態1における複数の目標速度についての学習のための報酬を示す図である。 本発明の実施形態1におけるモータの初期状態を変化させた場合の応答例を示す図である。 本発明の実施形態1における処理の流れを示すフローチャートである。 本発明の実施形態2における処理の流れを示すフローチャートである。
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
[第一の実施形態]
図1は、本発明の実施形態に関わる強化学習の概念図である。強化学習は学習主体をエージェント、学習対象と学習対象が影響を及ぼす系をまとめて環境と定義する。エージェントは実際に学習を行うディープニューラルネットワーク(DNN)と、学習中の経験を蓄積する経験データ記憶部で構成される。DNNへの入力は状態S、DNNの出力は行動Aで、状態Sは学習対象である環境の状態を十分に表現できる情報を設定する。強化学習は状態Sを観測し、DNNに入力することで行動Aを出力する。次に環境はDNNが出力した行動Aを実行し、状態Sが次の状態である状態Saに遷移する。環境はあらかじめ定められた報酬算出方法を参照し、状態Saを基に報酬Rを算出してエージェントへ渡す。強化学習では1観測周期で上記の処理を行い、得られた1観測周期での状態S、行動A、報酬R、次の状態Saを経験データ記憶部に蓄積し、あらかじめ定めた学習タイミングで蓄積した経験データを呼び出しDNNの学習を行う。
図2は、図1のディープニューラルネットワーク(DNN)の構造の一例を示したものである。丸はノードを、ノード間を繋ぐ矢印は重みを表し、各ノードでは重みと前層の出力の積と固定の値であるバイアスの総和を活性化関数と呼ばれる非線形関数に入力し、関数出力を次の層に出力する。図1の説明で示したように入力は状態Sである。出力はQ値と呼ばれる各行動の価値を表す値であり、図2中のQa~Qfが各行動のQ値を表す。DNNは入力された各状態Sにおける各行動の価値を予測し、最もQ値が大きい行動を選択する。学習時にはDNNの重みを更新し、より正しく各行動の価値を予測できるようにしていく。
図3は、本実施形態の強化学習装置300のハードウェア構成をブロック図で示したものである。通信部301は外部との通信を行い他のブロックに対してのやり取りを行う。入出力インターフェース302はユーザーが機械学習装置300に対しての入力を行うためのインターフェースである。DNN処理部303は強化学習に使用するディープニューラルネットワーク演算を行う。CPU304は通信部301を通したユーザーの指示の実施などを行う。ROM305にはCPU304が実施すべき処理内容が格納されているものとする。メモリ306は機械学習装置300の処理で必要なパラメータを格納するためのもので、行列演算の重み行列の値を格納する役割などを担う。
図4は、本実施形態において3つの制御目標がある場合を表す図である。本実施形態では、強化学習対象をモータとし、その一定速制御を学習する。図4では目標速度が3つ設定されている例を表しており、速度応答401、402、403のようにそれぞれの目標速度に追従する制御を一つの学習器で実現することを目標とする。
図5は、本実施形態において環境からエージェントに与える報酬を表現する関数、図6は初期状態を変化させた場合の速度応答の例であり、図7は制御目標を切り替えながら強化学習する際のフローチャートである。以後、図7のフローチャートの流れに沿って、本発明の第1の実施形態による、強化学習によるDCモータの速度制御動作の獲得について説明する。本実施形態では図1のエージェント101が強化学習器で、環境104がDCモータとなる。
図7のS701では環境の状態Sを観測する。本実施形態では状態Sは目標速度と現時刻の回転速度との差分である速度偏差とする。一番初めの状態Sはモータの回転速度を0とするため速度偏差=目標速度となる。目標速度は学習開始前にあらかじめ複数定めておき、目標速度番号を連番で与える。学習開始直後の初めてのS701の処理では目標速度番号1の目標速度を使用し、それ以降はS701の処理を行う際の目標速度番号を参照して目標速度を使用する。
S702ではS701で観測した状態Sを図1のDNN103に入力し、DNN103は各行動のQ値を出力し、最もQ値が大きい行動Aを操作量としてDCモータに入力する推論を行う。図2の出力Qa~Qfが各行動のQ値を示す。本実施形態での行動A(操作量)は、DCモータに入力する電圧であり、0Vから最大印可電圧までをあらかじめ定めた分解能で分割する。例えば、最大印可電圧が5.5Vで分解能を0.5Vとする場合、行動は0V、0.5V、1.0V、…、5.5Vで12パターンある。
S703では、環境104であるDCモータがS702でDNN103が出力した電圧を印可され、制御量である回転速度が変化する。S702で出力された操作量を印可される時間は観測周期Tで定められ、時間T後の回転速度が新たな状態Saとなる。
S704では、新たな状態Saに応じてあらかじめ定められた報酬算出方法に則り報酬Rを算出し、エージェント101に送る。
本実施形態では、DCモータの速度制御を学習により獲得するために、報酬算出方法は速度偏差が小さいほど高い報酬Rを与えるように設定し、図5の報酬関数を用いた。図5の報酬関数はS703で遷移した新たなDCモータの回転速度を目標速度で割って算出した偏差率が、100%に近いほど高報酬となるように設定している。偏差率ではなく目標速度と現在速度の差分で算出する速度偏差に応じて報酬を算出する場合、複数の目標速度に対して同じ速度偏差となった時に同じ報酬を算出するが実際には同じ価値を持たない可能性があるため正しく学習することができない。
例えば、図4において目標速度2が100rps、目標速度3が50rpsであり速度偏差が50であったとする。この時、目標速度2の場合は現在速度が50rpsであり加速途中であと少しの加速で良いという状態だが、目標速度3の場合は現在速度0rpsであり全く加速できておらず加速が必要である。しかし、報酬としては同じ値を与えてしまうためどちらの目標速度の場合でも行動Aを同じ価値だと評価しまい、結果正しく学習を行うことができない。そのため、目標速度を切り替えながら強化学習を行う場合は速度偏差ではなく偏差率を用いた方がより正しく学習を行うことができる。
S705では、1観測周期Tでの状態S、行動A、新たな状態Sa、報酬Rを同じ観測周期Tでのデータとしてまとめて、エージェント101の経験データ記憶部102に保存する。ここまでの1観測周期間を強化学習ではステップという単位で表す。
S706では規定ステップ数に到達しているかを判定する。規定ステップ数は環境の特性を鑑みて、定常的に目標速度を出力するのに十分なステップ数をあらかじめ定めておく。到達していた場合は、S708に移行し経験データ記憶部102に蓄積されているデータからランダムな複数のステップの状態S、行動A、新たな状態Sa、報酬Rを読み出し、DNN103の重みの更新を行う。
S708での重みの更新方法を説明する。強化学習は観測した状態Sに対して、その状態Sでの各行動の価値を表すQ値を出力する。そして最もQ値が大きい行動を環境に対して行うため、様々な状態における各行動のQ値を正しく出力するように重みを更新する。Q値は報酬を用いて(式1)で更新する。
Figure 2023163444000002
γは将来の行動価値をどれぐらい考慮するかを制御する割引率と呼ばれるパラメータである。(式1)は状態Sの時に行動Aを行った結果貰った報酬R(S,A)と、行動Aにより遷移した新たな状態Saにおいて最も大きいQ値の和と、状態Sにおける行動Aの現在のQ値(Q(S,A))との差分で重みを更新することを表している。
S706で規定ステップ数に到達していなかった場合、S707でステップ数を1増やし、S702に戻りS703で遷移した新たな状態SaをDNN103に入力し、次の行動Aを出力する。
S709ではエピソード数が所定の数(規定エピソード数)に達しているか否かを判定する。エピソードとは、規定ステップ数到達回数を表す単位で、規定ステップ数到達後は状態Sとステップ数を初期状態に戻す。S709で規定エピソード数に到達していなかった場合、S710の処理を行う。規定エピソード数に到達していた場合は、学習処理を終了する。
S710の処理内容を(b)のフローチャートを用いて説明する。S711では現在の目標速度番号を確認する。S712ではS711で確認した目標速度番号を使用してその後の処理を選択する。目標速度番号が目標速度番号の最大値と一致していなかった場合、現在の目標速度番号に1を加算しその値を新たな目標速度番号に設定する。一致していた場合はそれ以上大きい目標速度番号を持つ目標速度は存在しないため、目標速度番号に1を設定する。S715ではエピソード数を1増やす。
これらのS710の処理により、例えば学習前に目標速度を3つ定めた場合、目標速度番号はエピソードが切り替わる度に1、2、3、1、2、3、1、・・・と切り替わり、それに伴い目標速度が切り替わる。
以上の処理により、強化学習によってDCモータの速度制御の獲得を学習する場合に任意の目標速度に対して追従する制御を行うことができる。
本実施形態では初期状態におけるモータの回転速度を0としたが、任意の回転速度として図6のような目標速度1を初期状態として目標速度2に追従する減速に関する制御として実施してもよい。
また本実施形態では環境をDCモータとしたが、他のモータを使用してもよい。
また本実施形態では制御方式を速度制御としたが例えば位置制御のような他の制御方式としてもよい。
また本実施形態では図7(b)のS712、S713、S714で目標速度番号に1を加算し新たな目標速度番号に設定し、目標速度番号の最大値に到達した場合は1に戻るという処理とした。これについては、目標速度番号の最大値までの中からランダムに一つ選択した値を目標速度番号に設定してもよい。
[第二の実施形態]
以下、図を参照しながら、本発明の第二の実施形態における処理について説明する。
第一の実施形態においては制御器の設計段階での学習時の制御目標の変更とその時の報酬について説明した。これについては、製品に搭載する制御器である場合ユーザーの元に渡ってから制御について強化学習を行うことで、モータの劣化やグリスの硬化等の経年劣化に合わせた制御を行うことができる。本実施形態では、実装置内で稼働中のDCモータを例にして説明する。
図8(a)はユーザーの元で学習を行う際のフローチャートである。図8(b)はユーザーの元で学習を行う際の制御目標の変更に関わる部分のフローチャートである。以後、図8(a)のフローチャートの流れに沿って、本発明の第2の実施形態によるユーザーの元での実装置内で稼働中のDCモータ制御の強化学習による獲得について説明する。
図8(a)のS801では最新日時の取得を行う。
S802では規定日数が経過しているかをS801で取得した日時を用いて判定する。本実施形態でユーザーの元で学習を行う目的は、経年劣化による制御性の変化に対応するためであるため規定日数ごとに強化学習を行い、最新の駆動系の状態に対応する。規定日数は出荷前にあらかじめ定めておく。
S803では規定日数が経過していた場合に、学習を行ってよいかの確認をユーザーに行う。学習時はCPU負荷がかかるため他の操作ができなくなる。そのためユーザーにすぐに他の操作を行う予定がある場合は学習を行わない。S803でユーザーが「学習を開始して良い」を選択した場合、S804の学習処理を開始する。S804の処理内容は図7(a)のフローチャートと同様の処理内容であるため、詳細な説明は省略する。実施形態1と異なる点は、出荷前に新品状態に合わせた学習は行われておりすでに重みがある程度最適化されている点である。
第一の実施形態と同様に、図7のS710では目標速度の変更を行う。S710の処理内容を図8(b)のフローチャートを用いて説明する。S805では1からS701で与えた目標速度番号の最大値、つまり学習前にあらかじめ定めた目標速度の個数の中からランダムな整数を一つ選択する。S806ではS805で取得した整数を目標速度番号に設定する。これらの図8(b)の処理により、エピソードが切り替わる度に学習前に定めた複数の目標速度の中からランダムな一つの目標速度を設定する。
以上の処理により、ユーザーが実装置を使用していく中での経年劣化によるDCモータの制御性の低下を防ぐための学習を任意の目標速度に追従するように行うことができる。
本実施形態ではS801で最新日時を取得し、S802の判定に規定日数を使用したが、これらは経時したことが分かればどのような値を用いてもよい。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (10)

  1. 観測周期ごとに制御の対象の状態を観測する観測手段と、
    前記観測手段で観測したデータに応じた操作量を制御の対象へ出力する推論手段と、
    前記推論手段が制御の対象へ出力する操作量を強化学習する学習手段と、
    前記観測手段が出力する状態の少なくとも1つに対応する制御目標を設定する設定手段と、
    を備え、
    前記学習手段が強化学習しているあいだに、前記設定手段が前記制御目標を変更し、
    報酬は前記制御目標と前記対象の状態に基づいて算出すること
    を特徴とする学習装置。
  2. 前記観測手段により観測が行われた回数を観測の周期の数とし、
    前記学習手段は前記観測手段があらかじめ定められた所定の観測の周期の数を経るまで学習を行わず、
    前記所定の観測の周期の数が終了した時に学習を行い、
    制御の対象が初期状態から前記所定の観測の周期の数を経るまでの処理であるエピソードが終了した後は、制御の対象の状態をあらかじめ定められた初期状態にし、
    前記観測の周期の数を0にしたのち次のエピソードを始めることを特徴とする請求項1に記載の学習装置。
  3. 前記設定手段が前記制御目標を変更するタイミングは、前記エピソードが終了した時とすることを特徴とする請求項1または2に記載の学習装置。
  4. 前記報酬は、前記観測手段で観測した前記状態を制御目標で割って算出する偏差率に応じて与えることを特徴とする請求項1~3のいずれか1項に記載の学習装置。
  5. 前記エピソードを開始する時の初期状態は、エピソードが開始するたびに変化させることを特徴とする請求項1~4のいずれか1項に記載の学習装置。
  6. 前記制御目標は、所定のタイミングにあらかじめ定められた複数の制御目標の中から一つずつ選択することを特徴とする請求項1~5のいずれか1項に記載の学習装置。
  7. 前記設定手段が前記制御目標を所定のタイミングで変更する際に、あらかじめ定められた全ての制御目標に変更が終わった場合は、再びあらかじめ定められた複数の制御目標の中から一つずつ選択することを特徴とする請求項1~6のいずれか1項に記載の学習装置。
  8. 前記制御目標は、所定のタイミングであらかじめ定められた複数の制御目標の中からランダムに一つ選択することを特徴とする請求項1~7のいずれか1項に記載の学習装置。
  9. 観測周期ごとに制御の対象の状態を観測する観測ステップと、
    前記観測したデータに応じた操作量を制御の対象へ出力する推論ステップと、
    前記推論ステップで制御の対象へ出力する操作量を強化学習する学習ステップと、
    前記観測ステップで出力する状態の少なくとも1つに対応する制御目標を設定する設定ステップと、
    を備え、
    前記学習ステップで強化学習しているあいだに、前記設定ステップで前記制御目標を変更し、
    報酬は前記制御目標と前記状態に基づいて算出すること
    を特徴とする学習装置の制御方法。
  10. コンピュータを、請求項1乃至8のいずれか1項に記載の学習装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
JP2022074366A 2022-04-28 2022-04-28 学習装置、学習装置の制御方法、プログラム Pending JP2023163444A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022074366A JP2023163444A (ja) 2022-04-28 2022-04-28 学習装置、学習装置の制御方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022074366A JP2023163444A (ja) 2022-04-28 2022-04-28 学習装置、学習装置の制御方法、プログラム

Publications (1)

Publication Number Publication Date
JP2023163444A true JP2023163444A (ja) 2023-11-10

Family

ID=88651917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022074366A Pending JP2023163444A (ja) 2022-04-28 2022-04-28 学習装置、学習装置の制御方法、プログラム

Country Status (1)

Country Link
JP (1) JP2023163444A (ja)

Similar Documents

Publication Publication Date Title
JP7104121B2 (ja) 故障予知装置、故障予知システム及び故障予知方法
TWI743986B (zh) 馬達控制裝置及馬達控制方法
JP6063013B1 (ja) びびり或いは工具摩耗/破損の発生を抑制する加工条件調整機能を有する数値制御装置
JP6219897B2 (ja) 最適な加減速を生成する工作機械
JP6169655B2 (ja) 工作機械、シミュレーション装置、及び機械学習器
CN106552974B (zh) 具有移动轴异常负载警告功能的线放电加工机
JP6077617B1 (ja) 最適な速度分布を生成する工作機械
US11156988B2 (en) Drive apparatus and machine learning apparatus
CN108803499B (zh) 控制装置以及机器学习装置
CN106560997B (zh) 机械学习装置以及电动机控制装置
US20190317472A1 (en) Controller and control method
JP6841852B2 (ja) 制御装置及び制御方法
CN108830376B (zh) 针对时间敏感的环境的多价值网络深度强化学习方法
CN109725597B (zh) 测试装置以及机器学习装置
CN113614743A (zh) 用于操控机器人的方法和设备
CN111389006A (zh) 一种动作预测方法及装置
JP2023163444A (ja) 学習装置、学習装置の制御方法、プログラム
JP3703821B2 (ja) 並列学習装置、並列学習方法及び並列学習プログラム
JP2023128332A (ja) 学習装置、その制御方法、プログラム
JP7381751B2 (ja) 制御支援装置、制御装置及び制御支援方法
JP6659260B2 (ja) Plcプログラムの最適化機能を備えた制御装置及び機械学習器
JP6866940B1 (ja) 自動操縦ロボットの制御装置及び制御方法
Mukherjee A comparison of reward functions in q-learning applied to a cart position problem
CN116954156B (zh) 数控加工的工艺路线规划方法、装置、设备及介质
JP6996655B1 (ja) 稼働調整システム、モータ制御システム、稼働調整方法、および稼働調整プログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213