Playing the games simultaneously is actually innovative in how it let's them learn faster. If you play one game at a time consecutive moves are highly correlated which makes it difficult to make learning updates after each move. If you're playing 1250 parallel games that are starting and restarting so that they're at all at different stages of play, you can do an update after every move in every game and make better progress faster. This is known as Asynchronous Advantage Actor-Critic (A3C) and is a highly cited method discovered by the DeepMind team [1]. [1] https://arxiv.org/abs/1602.01783
Asynchronous Methods for Deep Reinforcement Learning
Volodymyr Mnih, Adrià Puigdomènech Badia, Mehdi Mirza
Show all 8 authors
Alex Graves, Timothy P. Lillicrap, Tim Harley, David Silver, Koray Kavukcuoglu
2016 · arXiv
- HN score
- 0
- Mentions
- 7
- Readers
- 7
- Months
- 7
From the abstract
We propose a conceptually simple and lightweight framework for deep reinforcement learning that uses asynchronous gradient descent for optimization of deep neural network controllers. We present asynchronous variants of four standard reinforcement learning algorithms and show that parallel actor-learners have a stabilizing effect on training allowing all four methods to successfully train neural network controllers. The best performing method, an asynchronous variant of actor-critic, surpasses the current state-of-the-art on the Atari domain while training for half the time on a single multi-core CPU instead of a GPU. Furthermore, we show that asynchronous actor-critic succeeds on a wide variety of continuous motor control problems as well as on a new task of navigating random 3D mazes using a visual input.
Metadata: arXiv. Abstracts retain their original authors’ rights.
In the conversation
Original HN comments, with labels from simple text rules. A label describes the whole comment and may miss context or irony. Read the discussion to make up your own mind. About the labels
7 selected excerpts · 7 total mentions
> we were able to solve one of the hardest MuJoCo tasks (a 3D humanoid) using 1,440 CPUs across 80 machines in only 10 minutes. As a comparison, in a typical setting 32 A3C workers on one machine would solve this task in about 10 hours. So using 80 times more machines makes you 60 times faster (assuming those are the same machines) "while performing better on 23 games tested, and worse on 28"[0]? [0] The paper for this blog post https://arxiv.org/pdf/1703.03864.pdf Asynchronous advantage actor critic (A3C) https://arxiv.org/pdf/1602.01783.pdf
What is state of the art in reinforcement learning right now? https://arxiv.org/abs/1602.01783 Is there a way to deal with "sparse" training data (state, action, reward) triples -- sparse in "state"?
There was a paper a few months back in deep reinforcement learning that got record setting RL results using only a CPU [0]. Previously, these algorithms would play fewer games and run a gpu over and over on the few games they had played. By using a CPU you can generate more samples that are up to date with your learning algorithm. It sounds obvious in hindsight, but you can't exactly run 60 atari sims on a gpu. [0] - https://arxiv.org/abs/1602.01783
Couple key points: This project[0] is going to keep developing. It has Deep Q Learning now, A3C[1] is working and more features are being added. Just as important: RL4J and DL4J run on a scientific computing framework called ND4J[2] that integrates with Spark and trains on multiple GPUs.[3][4] It's basically porting RL to the production stack of large organizations that work with the JVM and need to scale. The key thing to remember is that RL combines with other algorithms, like deep convolutional nets or Monte Carlo Search Trees. DL4J has the ConvNets already.[5] [0] https://github.com/deeplearning4j/rl4j [1] https://arxiv.org/abs/1602.01783 [2] http://nd4j.org/ [3] http://deeplearning4j.org/spark [4] http://deeplearning4j.org/gpu [5] http://deeplearning4j.org/convolutionalnets.html
Highlights: 1) No GPUs necessary, gives similar/better results in similar time (see http://arxiv.org/pdf/1602.01783v1.pdf) 2) 1-step Q (according to paper, maybe could do better with actor-critic + 1 LSTM layer) 3) Keras is really only used for a tiny fraction of the code. Which means that there is a lot of boilerplate that could be rolled up into a shared library still.
The progress in machine learning/deep learning for last 5 years has been literally staggering. Read about new state of art results. There is already superhuman visual object recognition, voice recognition, good machine translation, description of scenes in natural language, question answering (facebook babi dataset), visual question answering, algorithm learning (neural turing machines, neural GPUs), and finally really strong reinforcement learning (deepmind's DQN, A3C algorithms). The last one, reinforcement learning, is really important because it's a basis for general intelligence. By rewarding/punishing a reinforcement learning agent you can train it to execute very…
Read the full comment
complex tasks, for example navigating a maze with pixel input or controlling a robot body to do some tasks. DeepMind is on the cutting edge of this kind of research, you can read about their latest agent here http://arxiv.org/abs/1602.01783 With such rate of progress it's not inconceivable if a sub-human but general intelligence could be developed in 10-20 years, or even sooner.
Keep following the thread.
More in Machine learningMore from the same topics.
Language Models are Few-Shot Learners
Tom B. Brown, Benjamin Mann, Nick Ryder +28
Recent work has demonstrated substantial gains on many NLP tasks and benchmarks by pre-training on a large corpus of text followed by fine-tuning on a specific task.
Understanding deep learning requires rethinking generalization
Chiyuan Zhang, Samy Bengio, Moritz Hardt +2
Despite their massive size, successful deep artificial neural networks can exhibit a remarkably small difference between training and test performance.
Copy-and-Patch Compilation: A fast compilation algorithm for high-level languages and bytecode
Haoran Xu, Fredrik Kjolstad
Fast compilation is important when compilation occurs at runtime, such as query compilers in modern database systems and WebAssembly virtual machines in modern browsers.
End to End Learning for Self-Driving Cars
Mariusz Bojarski, Davide Del Testa, Daniel Dworakowski +10
We trained a convolutional neural network (CNN) to map raw pixels from a single front-facing camera directly to steering commands.