ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • RL to Robotics
    Robotics 2019. 7. 4. 00:44

     

     

     

    Reinforcement Learning for Real-World Robotics

    Ideas from the literature on RL for real-world robot control

    towardsdatascience.com

    RL을 로봇에 적용하는 데에는 많은 어려움이 있으며, 내 생각에는 이들 중 많은 부분을 다음 네 가지 카테고리로 크게 나눌 수 있습니다.

    Sim2Real: If we wish to train our policies in a simulated environment and then deploy them

    Reward specification: When playing chess or StarCraft2 the goal is very clear and easily quantified; win or lose. However, how do you quantify the level of success in something like washing dishes? Or folding laundry?

    Safety: Our robot policies must be safe (during both training on a robot and deployment to the real world), in order to ensure the integrity of the robot itself and the safety of people and property in the environment.

    I will mostly address the first two categories, briefly touch on the third one and avoid the last.

    샘플 효율성 : 실제 로봇을 사용하여 정책을 교육하고자하는 경우, 우리는 오늘날 우리가 가지고있는 많은 알고리즘과 달리 학습을 수행 할 수있는 충분한 시도가 거의 필요없는 알고리즘을 개발해야합니다.

    Sim2Real : 시뮬레이션 된 환경에서 정책을 수립하고 배포하려는 경우

    보상 사양 : 체스 나 스타 크래프트 2를 할 때 목표는 매우 분명하고 쉽게 계량화됩니다. 이기거나 지거나. 그러나 설거지와 같이 성공의 수준을 어떻게 계량합니까? 세탁기를 접으시겠습니까?

    안전성 : 로봇 자체의 무결성과 환경 내의 사람과 재산의 안전을 보장하기 위해 당사의 로봇 정책은 안전해야합니다 (로봇 교육 및 실제 환경으로의 전개 중).

    나는 주로 처음 두 범주를 다루고, 세 번째 범주를 짧게 터치하고 마지막 것을 피할 것입니다.

    샘플 효율성

    Sample Efficiency

    Traditionally, the go-to approach when desiring extremely low sample complexity in RL is model-based RL. In model-based RL, instead of learning a policy only based on rewards obtained by interaction with the environment, the agent tries to learn a model of the environment and use it to plan and improve its policy, thus dramatically reducing the number of interactions it needs with the environment. However, this approach often results in lower asymptotic performance compared to model-free algorithms, and sometimes suffers from catastrophic failures due to errors in the learned model.

    전통적으로 RL에서 극단적으로 낮은 샘플 복잡성을 원할 때 접근 방식은 모델 기반 RL입니다. 모델 기반 RL에서 에이전트는 환경과의 상호 작용으로 얻은 보상을 기반으로 정책을 학습하는 대신 환경 모델을 학습하고 정책을 계획 및 개선하기 위해 이를 사용하여 상호 작용 수를 극적으로 줄입니다. 환경에 대한 요구. 그러나이 방법은 종종 모델없는 알고리즘에 비해 점근 적 성능이 낮아지고 학습 된 모델의 오류로 인해 치명적인 오류가 발생할 수 있습니다.

    Model-based RL showed great success in problems where the dynamics can be sufficiently represented by a simple model, such as a linear one, but have not had great successes in more complex environments where non-linear models (such as deep neural networks) are required. In 2018 researchers from Berkeley published a paper on the subject, in which they identified a suspected cause to the instability issues and suggested a solution.

    모델 기반 RL은 선형 모델과 같은 간단한 모델로 동역학을 충분히 표현할 수있는 문제에서 큰 성공을 거뒀지만 비선형 모델 (예 : 심 신경 네트워크)이 더 복잡한 환경에서는 큰 성공을 거두지 못했습니다. 필수. 버클리 (Buckley)의 연구원은 2018 년에이 주제에 관한 논문  출간 하여 불안정성 문제의 원인을 규명하고 해결책을 제안했습니다.

    In their paper, they claim that during learning and planning, the policy tends to exploit those regions of the state-space on which the learned model performs poorly, which veers the agent “off-course” from areas in which it can reliably plan ahead using the learned model to those in which it is completely blind, rendering it ineffective.

    Their solution is relatively simple; learn several different models of the environment, and during planning uniformly sample from these different models, effectively regularizing the learning process. This enabled applying model-based RL to more complex tasks than previously possible, achieving asymptotic performance comparable to model-free algorithms in orders of magnitude less attempts.

    그들의 논문에서 그들은 학습과 계획 중에 정책이 학습 된 모델이 제대로 수행되지 않는 국가 공간의 영역을 악용하는 경향이 있다고 주장한다. 이는 사전에 안정적으로 계획 할 수있는 영역에서 "오프 코스" 학습 된 모델을 사용하여 완전히 눈이 멀게되어 비효율적입니다. 그들의 해결책은 비교적 간단합니다. 여러 다른 모델의 환경을 학습하고, 이러한 다양한 모델의 샘플을 일정하게 계획하면서 효과적으로 학습 과정을 정규화합니다. 이를 통해 모델 기반 RL을 기존의 것보다 더 복잡한 작업에 적용 할 수 있었으며 모델리스 알고리즘에 비견할만한 성능을 달성했습니다.

    Interestingly, a recent model-free algorithm has demonstrated excellent sample complexity, so much so that it was possible to train a policy on a real robot in a relatively short amount of time. In 2019 researchers from Berkeley and Google Brain published a paper in which they describe an off-policy actor-critic algorithm called Soft Actor Critic (SAC). They demonstrated that this algorithm performs very well with low sample complexity on several traditional RL control benchmarks, and then proceeded to train a robot to walk in only 4 hours of environment interaction.

    흥미롭게도 최근의 모델이없는 알고리즘은 샘플 복잡성이 뛰어나므로 실제 로봇에 대한 정책을 비교적 짧은 시간 내에 교육 할 수 있습니다. 2019 년 Berkeley와 Google Brain의 연구원은 Soft Actor Critic (SAC)이라는 정책 외 배우 비평 알고리즘을 설명하는 논문  발표했습니다 . 그들은이 알고리즘이 몇 가지 전통적인 RL 제어 벤치 마크에서 낮은 샘플 복잡성으로 매우 잘 수행하고, 로봇이 4 시간의 환경 상호 작용 만 수행하도록 로봇을 훈련 시키도록 진행한다는 것을 입증했습니다.

    출처

    https://sites.google.com/view/sac-and-applications

    The robot was trained to walk on a flat surface, and then successfully tested on surfaces with different obstacles, showing the robustness of the learned policy.

    Another nice paper took a different path to sample efficiency; by doing away with the notion that the policy must be learned from scratch, and should utilize existing imperfect control algorithms to provide a “skeleton” on which to grow the policy. By exploiting the fact that existing control algorithms are reasonably well-behaved for the problem, the policy can learn to fine-tune the control system and not start from random behavior as in most RL algorithms. They use this approach to train a robot for a real block assembly task involving complex dynamics.

    로봇은 평평한 표면 위를 걸어 다닐 수 있도록 훈련을 마친 후 다른 장애물이있는 표면에서 성공적으로 테스트하여 학습 된 정책의 견고 함을 보여주었습니다.

    또 다른 멋진 논문 은 효율성을 샘플링하는 다른 길을 택했습니다. 정책을 처음부터 배워야한다는 개념을 버리고 기존의 불완전한 제어 알고리즘을 활용하여 정책을 성장시킬 수있는 "해골"을 제공해야합니다. 기존 제어 알고리즘이 문제에 대해 합리적으로 잘 작동한다는 사실을 이용하여 정책은 제어 시스템을 미세 조정하고 대부분의 RL 알고리즘과 마찬가지로 무작위 적 동작에서 시작하지 않도록 배울 수 있습니다. 그들은이 접근법을 사용하여 복잡한 역 동성을 포함하는 실제 블록 조립 작업을 위해 로봇을 훈련시킵니다.

    심 2 리얼

    지난 몇 년 동안 많은 연구 논문은 물리적 로봇 플랫폼에서 작동하는 학습 된 RL 정책의 기능을 보여 주었지만 좁은 작업으로 제한되며 일반적으로 제대로 작동하려면 광범위한 수동 조정이 필요합니다. 특히 시각적 감지 기능을 사용하는 로봇의 경우 로봇이 직면하게 될 이미지를 사실적으로 시뮬레이트하는 것은 극히 어렵습니다. 이로 인해 유명한 Sim2Real 갭이 생성됩니다.

    역학이 시뮬레이션에 의해 충분히 포착 될 수있는 문제에서, RL은 실제로이 문서 에서 볼 수 있듯이 시뮬레이션을 사용하여 사중 로봇에 대한 복구 기법을 학습하는 정책을 훈련 한 후 실제로 잘 작동 할 수 있습니다. 실제 로봇은 97 %의 놀라운 성공률로 매우 잘 작동합니다. 그러나이 문제에서 시각적 표현과 달리 상태는 상대적으로 낮았습니다.

    시각적 인 입력에 대처하는 문제를 해결하기 위해 OpenAI와 Berkeley가 만든 2017 년 의 멋진 논문 은 매우 깔끔한 해결책을 제공합니다. 현실 세계가 시뮬레이션의 또 다른 변형을 원하기 때문에 환경에 의해 제공된 시각적 인 입력을 무작위로 추출하고 정책이 이러한 변화에 매우 강력하도록 교육하십시오.

    Sim2Real

    In the past few years, many research papers have demonstrated the capabilities of their learned RL policies to operate in a physical robot platform, but these are often limited to narrow tasks and usually require extensive manual adjustments to work properly. Especially for robots that use visual sensing, it is extremely difficult to realistically simulate the images a robot is likely to encounter, and this creates the famous Sim2Real gap.

    In problems where the dynamics can be sufficiently captured by a simulation, RL can actually work pretty well, as can be seen in this paper, in which a policy was trained to learn recovery maneuvers for a quadrupedal robot using a simulation, and it transferred to the real robot very well, with an impressive 97% success rate. However, in this problem the state was relatively low dimensional, unlike visual representations.

    To tackle the problem of coping with visual inputs, a nice paper from 2017 by OpenAI and Berkeley offers a very neat solution; randomize the visual inputs provided by the environment, and train the policy to be very robust to these changes, in the hopes that the real world would like just another variation of the simulation.

    출처

    이것은 매우 효과적이었고 실제 로봇을 잡는 시스템에서 시뮬레이션에서 유일하게 훈련 된 물체 감지기를 사용할 수있었습니다.

    그 일의 아주 시원한 연속은 2019 년 논문 에 발표되었습니다 . 이 논문에서 연구자들은 정책을 강건하게 훈련시키는 데 도움이되는 유사한 무작위 시뮬레이션을 사용했지만 무작위 이미지를 원래 시뮬레이션의 표준 형태로 다시 변환하기 위해 조건부 GAN (cGAN)을 교육했습니다. 테스트 시간 동안 cGAN은 정책이 익숙한 표준 이미지 형식으로 실제 이미지를 변형하여 Sim2Real 갭을 줄이는 데 도움을주었습니다. 이 방법을 사용하여 시뮬레이션에서 에이전트를 교육하고 70 %의 성공률로 로봇에 사용했습니다. 실제 로봇에서 미세 조정을 사용하여 91 % 및 99 %의 성공률을 달성 할 수있었습니다.

    This worked very well, and they were able to use an object detector trained solely in simulation, in a real robot grasping system.

    A very cool continuation of that work was published in a 2019 paper. In this paper the researchers used a similar randomized simulation to help train the policy to be robust, but simultaneously trained a conditional GAN (cGAN) to transform the randomized images back to a canonical form of the original simulation. During test time, the cGAN transformed the real images to the canonical image form that the policy was familiar with, thus helping to reduce the Sim2Real gap. Using this method, they trained an agent in simulation and used it on a robot with 70% success rate. Using some finetuning on the real robot, they were able to achieve 91% and even 99% success rates.

    출처

    보상 사양

    로봇이 책꽂이에 책을 놓는 법을 배우고, 샘플 복잡성이 매우 낮은 알고리즘을 가지고 있다고 가정 해보십시오. 이것을 위해 보상 기능을 설계하는 방법은 무엇입니까? 매우 근사한 2019 년 논문 에서 버클리의 연구자들은 바로 그 일을했습니다. 보상 기능을 지정하는 대신 목표 상태 (정렬 된 서가)의 여러 이미지와 함께 알고리즘을 제공하고 현재 상태가 목표 상태 인 경우 사용자에게 쿼리를 허용합니다 (몇 번). r = 이전에 언급 한 Soft Actor Critic 알고리즘을 다른 알고리즘과 함께 사용하여 몇 시간 만에 실제 로봇에 대한 정책을 수립했습니다. 그들은 선반에 책을 놓고 상자 위에 천을 입히는 것과 같이 다양한 업무에 대해 서로 다른 정책을 수립했습니다.

    Reward Specification

    Say you want your robot to learn to place books in a bookshelf, and that you have an algorithm with very low sample complexity. How does one go about designing a reward function for this? In a very cool 2019 paper, researchers from Berkeley did just that. Instead of specifying a reward function, they provide the algorithm with several images of a goal state (arranged bookshelves), and allow it to query the user (very few times) if the current state is a goal state. Using the r=previously mentioned Soft Actor Critic algorithm together with several other algorithms, they trained their policy on a real robot in a few hours. They trained different policies for different tasks, such as putting books in the shelf and draping a cloth over a box.

    출처

    결론

    실제 로봇 공학 문제에 RL을 적용하는 문제는 아직 해결되지 않았지만 많은 진전이 이루어지고 있으며 흥미 진진한 분야에서 앞으로도 계속 발전 할 것으로 기대됩니다.

    source

    Conclusion

    The challenge of applying RL to real-world robotics problems is still far from being declared solved, but much progress is being made and hopefully we will continue to see further breakthroughs in this exciting field.

    Disclaimer: the views expressed in this article are those of the author and do not reflect those of IBM.

    'Robotics' 카테고리의 다른 글

    [Ref] Path Planning Algorithms  (0) 2019.08.16
    PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization  (1) 2019.08.02
    scipy.signal.stft  (0) 2019.07.25

    댓글

Designed by Tistory.