DeepMindの実機ロボット学習の論文を読む
ランニングできず 英語:Toiec
(1)windows VirtualBox Ubuntu pythonのモデル開発環境で躓いたことを記す。
VirtualBoxでwindowsのフォルダーを共有指定して、Ubuntuでマウントした場合、読み込みはできるが書き込みは「プロトコルエラー」でできない場合がある。この対処にはwindowsのフォルダーでeveryoneで共有をする必要がある。この件はネットに無かったので解決まで丸1日費やしました。
(2) DeepMindの実機ロボットの論文(2017/07/27)を読む。
「Leverage Demonstation for Deep Reinforcement Learning on Robotics Problem with Sparse Reward」https://arxiv.org/abs/1707.08817
内容としては概要に示す様に以下である
深層方策勾配法(DDPG)が一般に良く知られているが、これに以下の工夫をしたら
かなりの効果があった。DDPGは方策の深層Q-Learningのこと
・人間の制御した経路を教師データとして使う。これによりかなりの改善が見られた。これはこの論文の表題となっている。
・2つの報酬を目的地到達までの報酬(Sparse Reward)と到達後の成功報酬(shaping Reward)を追加して学習
・4種の課題で上記の有効性を確認した
・ロボットの実機では、細かい手調整がないとうまく行かない
感想としては
・DeepMindは計算機が自分で知識を獲得する所謂シンギュラリティを目指しているので、その実験の場として模擬環境のみでモデル考案していると思っていたので、実機ロボットの論文はかなり意外であった。
・実機では強化学習の最適化と制御機構の最適化は一致しないので、かなりの工夫が必要である。この論文をよく読むとやはり実機での結果はおまけ程度になっている。
・DDPGの理論は詳細に記述してあるが、肝心の本論文のモデルであるDDPGfDのモデル記述の理論はかなり貧弱である。この傾向はDeepMindの殆どの論文が成果のみ強調していてモデル記述が貧弱であると同じである。
・目標到達までの報酬(Sparse Reward)に多くの値をあたえている。
要約として
人間の制御をデータとして使った
上記のデータとロボットの動きのデータを工夫して混合しサンプリングした
次の損失関数とN次先の損失関数を混合している
環境毎に複数回学習している
L2正則化項をいれている
・4種の課題は迫力があり、実験結果も説得力がある。
実験結果
単独で人間の制御で学習した場合に比べ、SparseやShaping報酬と人間の教えを入れた方が早期に報酬を獲得している。最後の鎖状の紐を入れる課題は困難なので試行回数が多くても報酬が安定しない
注意すべきは、この報酬の多寡でミッションが成功したかは不明であることである。
ミッションを達成するには実際にはビデオにある様に人間の調整が必要である。