社会人からAI・ロボットの研究を始めました

大学数学のまとめや研究活動に関することを書いています

学習とロボティクス(1) はじめに

f:id:kanichan_robot:20210813180324p:plain

はじめに

本シリーズは学習とロボティクスと題して、一般には制御モデルを立てるのが難しかったり時々刻々と変化する環境におけるロボットの制御問題を取り扱う学術分野について、大雑把にまとめていく。

学習×ロボティクスに関連するキーワード

所詮は大学の研究室で制御工学を扱った(ロボットではない)のと会社に入ってから数年AIとかロボットについて勉強した程度なので、まだまだ浅い知識ではあるが、 私の知る限りでは学習×ロボティクスに関連するキーワードとして知っておくべきなのは以下4つかと思う。

これらのうち「学習制御」と「適応制御」は制御工学の一分野として発展したのに対し、「強化学習」「模倣学習」は機械学習の分野で発展してきた、という印象を持っている。

ただし、いずれも制御工学と機械学習の重なり合う部分に属するとは思うので、立場によって見方は変わると思う。

それぞれの違い

これまた私の浅い知識で語るので、大学の先生とかが見たら何を言っているのだとなるかもしれないが(その場合は優しく指摘していただければ幸いです)、上記の4つの違いを記す。

学習制御 (Learning Control)

制御目的は明確だが、モデルが非線形だったりそもそもモデル化が困難な時に用いられる。

「制御目的が明確」とは、例えば「ロボットのアームの先端をこの軌道に沿って動かしなさい」とか。 これに対して制御モデルを立てずに施行を繰り返しながら制御ゲインや制御入力を調整する手法。

基本的には同じ動作を繰り返しながら微調整していくので、反復学習制御などと呼ばれたりもする。

適応制御 (Adaptive Control)

適応制御はちゃんと勉強したわけではないので合っているか不安だが、制御目的は明確でモデルもだいたいわかっているが、正確なモデルパラメータがわからなかったり時々刻々と変化するときに用いられる、というようなイメージを持っている。

モデルパラメータにはロボット自身のパラメータ(人間で言えば四肢の長さなど)や環境のパラメータ(地面が固いか柔らかいかなど)が含まれる。 例えば、移動ロボットの制御において走行中に路面環境が変化しても数秒たてば適切に制御できるようになるような感じ。

強化学習 (Reinforcement Learning)

制御目的が不明確(抽象的)で、モデル化も困難な時*1に用いられる。

「制御目的が不明確(抽象的)」といったのは、「どう動けばいいかはわからないけど最終的にはこうなってほしいな」あるいは「どう動けばいいかは教えないけどその動きがいい感じかどうかのヒントは教えるよ」というような状況。 後者のような意地悪な言い方は、前者の(人間側の)願望をロボットに伝えるためにこういう言い方をしている。

ロボットが試行錯誤をしながらより良い制御則を見つけていく手法。

こう聞くと学習制御と似ているが、学習制御のほうが無駄なく良い制御則を獲得しようとするイメージ。 逆に強化学習は失敗しながら学ぶので、時に奇想天外な動き方を編み出す。 また、制御目的が不明確である点も学習制御との違いになる。

模倣学習 (Imitation Learning)

知名度は若干下がるが、強化学習の親戚のようなもの。 制御目的が半分明確、半分不明確で、モデル化も困難な時に用いられる。

「制御目的が半分明確、半分不明確」という、これまた不明確な言い方になってしまったが、これは「制御目的を数値的に表現するのは難しいけど、人間の手動操作でなら欲しい動きを表現できる」という意味。

学習制御や強化学習はその動き方の良さを何かしらの数値で評価する。 しかし、ロボットに欲しい動きを獲得してもらうための適切な評価指標を設定するのは非常に難しい。

これに対して、人間がロボットを手動操作で動かして、そのときの動き方をマネ(模倣)するように学習する手法。

おわりに

次の記事からそれぞれについてもう少し詳しく見ていこうと思う。

*1:ただしモデルベース強化学習というのもある