Interaction Networks: Using a Reinforcement Learner to train other   Machine Learning algorithms
The wiring of neurons in the brain is more flexible than the wiring of connections in contemporary artificial neural networks. It is possible that this extra flexibility is important for efficient problem solving and learning.   This paper introduces the Interaction Network. Interaction Networks aim to capture some of this extra flexibility.   An Interaction Network consists of a collection of conventional neural networks, a set of memory locations, and a DQN or other reinforcement learner. The DQN decides when each of the neural networks is executed, and on what memory locations. In this way, the individual neural networks can be trained on different data, for different tasks. At the same time, the results of the individual networks influence the decision process of the reinforcement learner. This results in a feedback loop that allows the DQN to perform actions that improve its own decision-making.   Any existing type of neural network can be reproduced in an Interaction Network in its entirety, with only a constant computational overhead.   Interaction Networks can then introduce additional features to improve performance further. These make the algorithm more flexible and general, but at the expense of being harder to train.   In this paper, thought experiments are used to explore how the additional abilities of Interaction Networks could be used to improve various existing types of neural networks.   Several experiments have been run to prove that the concept is sound. These show that the basic idea works, but they also reveal a number of challenges that do not appear in conventional neural networks, which make Interaction Networks very hard to train.   Further research needs to be done to alleviate these issues. A number of promising avenues of research to achieve this are outlined in this paper.