SERL: Um Conjunto de Software para Aprendizado por Reforço Robótico com Amostras Eficientes
SERL: A Software Suite for Sample-Efficient Robotic Reinforcement Learning
January 29, 2024
Autores: Jianlan Luo, Zheyuan Hu, Charles Xu, You Liang Tan, Jacob Berg, Archit Sharma, Stefan Schaal, Chelsea Finn, Abhishek Gupta, Sergey Levine
cs.AI
Resumo
Nos últimos anos, foram feitos progressos significativos no campo do aprendizado por reforço (RL) robótico, permitindo métodos que lidam com observações complexas de imagens, treinam no mundo real e incorporam dados auxiliares, como demonstrações e experiências prévias. No entanto, apesar desses avanços, o RL robótico continua sendo difícil de usar. É reconhecido entre os profissionais que os detalhes específicos de implementação desses algoritmos são frequentemente tão importantes (se não mais) para o desempenho quanto a escolha do algoritmo. Nós propomos que um desafio significativo para a adoção generalizada do RL robótico, bem como para o desenvolvimento adicional de métodos de RL robótico, é a relativa inacessibilidade desses métodos. Para enfrentar esse desafio, desenvolvemos uma biblioteca cuidadosamente implementada contendo um método eficiente de RL profundo off-policy, juntamente com métodos para calcular recompensas e reiniciar o ambiente, um controlador de alta qualidade para um robô amplamente adotado e uma série de tarefas de exemplo desafiadoras. Disponibilizamos essa biblioteca como um recurso para a comunidade, descrevemos suas escolhas de design e apresentamos resultados experimentais. Talvez surpreendentemente, descobrimos que nossa implementação pode alcançar um aprendizado muito eficiente, adquirindo políticas para montagem de placas de circuito impresso, roteamento de cabos e realocação de objetos entre 25 a 50 minutos de treinamento por política, em média, superando os resultados de ponta relatados para tarefas semelhantes na literatura. Essas políticas alcançam taxas de sucesso perfeitas ou quase perfeitas, extrema robustez mesmo sob perturbações e exibem comportamentos emergentes de recuperação e correção. Esperamos que esses resultados promissores e nossa implementação de código aberto de alta qualidade forneçam uma ferramenta para a comunidade de robótica facilitar novos desenvolvimentos no RL robótico. Nosso código, documentação e vídeos podem ser encontrados em https://serl-robot.github.io/
English
In recent years, significant progress has been made in the field of robotic
reinforcement learning (RL), enabling methods that handle complex image
observations, train in the real world, and incorporate auxiliary data, such as
demonstrations and prior experience. However, despite these advances, robotic
RL remains hard to use. It is acknowledged among practitioners that the
particular implementation details of these algorithms are often just as
important (if not more so) for performance as the choice of algorithm. We posit
that a significant challenge to widespread adoption of robotic RL, as well as
further development of robotic RL methods, is the comparative inaccessibility
of such methods. To address this challenge, we developed a carefully
implemented library containing a sample efficient off-policy deep RL method,
together with methods for computing rewards and resetting the environment, a
high-quality controller for a widely-adopted robot, and a number of challenging
example tasks. We provide this library as a resource for the community,
describe its design choices, and present experimental results. Perhaps
surprisingly, we find that our implementation can achieve very efficient
learning, acquiring policies for PCB board assembly, cable routing, and object
relocation between 25 to 50 minutes of training per policy on average,
improving over state-of-the-art results reported for similar tasks in the
literature. These policies achieve perfect or near-perfect success rates,
extreme robustness even under perturbations, and exhibit emergent recovery and
correction behaviors. We hope that these promising results and our high-quality
open-source implementation will provide a tool for the robotics community to
facilitate further developments in robotic RL. Our code, documentation, and
videos can be found at https://serl-robot.github.io/