Dynamic Growing and Shrinking of Neural Networks with Monte Carlo Tree Search
摘要
The issue of data-driven neural network model construction is one of the core problems in the domain of Artificial Intelligence. A standard approach assumes a fixed architecture with trainable weights. A conceptually more advanced assumption is that we not only train the weights, but also find out the optimal model architecture. In this paper, we present a new method that realizes just that. We show how to create a neural network with a procedure that allows dynamic shrinking and growing of the model while it is being trained. The decision-making mechanism for the architectural design is governed by a Monte Carlo tree search procedure which simulates network behavior and allows to compare several candidate architecture changes to choose the best one. The solution utilizes a Stochastic Gradient Descent-based optimizer developed from scratch to realize the task of network architecture modification. The paper is accompanied with a Python source code of the prepared method. The proposed approach was tested in visual pattern classification problems and yielded highly satisfying results.