Towards deep symbolic reinforcement learning
blog.acolyer.org
blog.acolyer.org
So, sure if you split up your decision making into more pieces, then you can specialize those pieces better to your specific task, then it will probably perform better at that task. But the whole point (and success) of deep learning is the feature extractor and decision model should are one network, where the early layers are acting as feature extractors (symbolic component) and the later layers are acting as the decision makers or value learners.
In my mind, this partitioning strategy runs counter to the greater goals of machine learning, which to me is a generic learner that can 'take raw data in' and 'get smart stuff out'.
[0] Figure 3 http://home.uchicago.edu/~arij/journalclub/papers/2015_Mnih_...
In arxiv:1412.6856 unsupervised object detectors emerge as byproducts in a CNN for another kind of task, for more interesting, photorealistic objects.
1. Objects are randomly placed such that all circles are reachable without hitting exes.
2. Objects do not move.
3. The objective function is the total points collected, discounted by time.
In this case, which is essentially the traveling salesman problem[1], it is possible to analytically compute the optimal strategy using discrete optimization methods (e.g. dynamic programming[2]). The optimal strategy gives us an absolute basis for algorithm evaluation. Next, divide the playing space into groups (maybe via spectral clustering[3]). Use dynamic programming to determine the order in which to visit groups, and automated planning for the sequence of moves to reach the groups. After group planning comes step planning. Build a state predictor that maps a the current state and a set of steps to a new state, where the steps have been determined through automated planning to reach an object. Again, use something like dynamic programming to determine the optimal series of plans to visit all the objects within the group.
This would be a hybrid system for using NN-derived features to fuel discrete optimization and automated planning algorithms. Such an approach should learn faster than DQNs and generate good solutions faster than dynamic programming.
In the more general case of an Atari game, I can see clustering frames into game states, mapping moves to those states, and using automated planning to determine the series of states, and therefore moves, to optimize score.
[1]: https://en.wikipedia.org/wiki/Traveling_salesman_problem
[2]: https://en.wikipedia.org/wiki/Dynamic_programming
[3]: http://scikit-learn.org/stable/modules/clustering.html#spect...
This seems kind of similar to Spaun [0]. You use Deep Learning to get the features you want and then you do symbolic like operations on those feature vectors to accomplish reinforcement learning. At least Spaun used neurons for the rule manipulation too. I also don't believe the transfer learning claim at all, because the tasks are way too similar. Still, it's a step in the right direction as far as I'm concerned [1]. That being said, good luck find a set of general prior rules and scaling them.
[0] http://science.sciencemag.org/content/338/6111/1202
[1] https://medium.com/@seanaubin/why-does-ai-still-suck-and-can...