Full text but no figures (gzip-compressed postscript)
Full text but no figures (Adobe pdf format)
We consider the computational complexity of learning by neural nets. We
are interested in how hard it is to design appropriate neural net
architectures and to train neural nets for general and specialized
learning tasks. Our main result shows that the training problem for
2-cascade neural nets (which have only two non-input nodes, one of which
is hidden) is
-complete, which implies that finding an optimal
net (in terms of the number of non-input units) that is consistent with
a set of examples is also
-complete. This result also
demonstrates a surprising gap between the computational complexities of
one-node (perceptron) and two-node neural net training problems, since
the perceptron training problem can be solved in polynomial time by
linear programming techniques. We conjecture that training a
k-cascade neural net, which is a classical threshold network training
problem, is also
-complete, for each fixed
.
We also
show that the problem of finding an optimal perceptron (in terms of the
number of non-zero weights) consistent with a set of training examples
is
-hard.
Our neural net learning model encapsulates the idea of modular neural nets, which is a popular approach to overcoming the scaling problem in training neural nets. We investigate how much easier the training problem becomes if the class of concepts to be learned is known a priori and the net architecture is allowed to be sufficiently non-optimal. Finally, we classify several neural net optimization problems within the polynomial-time hierarchy.