views:

218

answers:

4

I realize that this is probably a very niche question, but has anyone had experience with working with continuous neural networks? I'm specifically interested in what a continuous neural network may be useful for vs what you normally use discrete neural networks for.

For clarity I will clear up what I mean by continuous neural network as I suppose it can be interpreted to mean different things. I do not mean that the activation function is continuous. Rather I allude to the idea of a increasing the number of neurons in the hidden layer to an infinite amount.

So for clarity, here is the architecture of your typical discreet NN: alt text The x are the input, the g is the activation of the hidden layer, the v are the weights of the hidden layer, the w are the weights of the output layer, the b is the bias and apparently the output layer has a linear activation (namely none.)

The difference between a discrete NN and a continuous NN is depicted by this figure: alt text That is you let the number of hidden neurons become infinite so that your final output is an integral. In practice this means that instead of computing a deterministic sum you instead must approximate the corresponding integral with quadrature.

Apparently its a common misconception with neural networks that too many hidden neurons produces over-fitting.

My question is specifically, given this definition of discrete and continuous neural networks, I was wondering if anyone had experience working with the latter and what sort of things they used them for.

Further description on the topic can be found here: http://www.iro.umontreal.ca/~lisa/seminaires/18-04-2006.pdf

+3  A: 

In the past I've worked on a few research projects using continuous NN's. Activation was done using a bipolar hyperbolic tan, the network took several hundred floating point inputs and output around one hundred floating point values.

In this particular case the aim of the network was to learn the dynamic equations of a mineral train. The network was given the current state of the train and predicted speed, inter-wagon dynamics and other train behaviour 50 seconds into the future.

The rationale for this particular project was mainly about performance. This was being targeted for an embedded device and evaluating the NN was much more performance friendly then solving a traditional ODE (ordinary differential equation) system.

In general a continuous NN should be able to learn any kind of function. This is particularly useful when its impossible/extremely difficult to solve a system using deterministic methods. As opposed to binary networks which are often used for pattern recognition/classification purposes.

Given their non-deterministic nature NN's of any kind are touchy beasts, choosing the right kinds of inputs/network architecture can be somewhat a black art.

Hayman
hayman I don't think you're answering the question. gmatt (as he stated) is not asking about NN with continuous activation function like the sigmoid or tanh. In fact, perceptron ANNs (with a step function activation, what you call "binary networks") aren't actually used because they are not differentiable and thus can't be used with back-propagation. Moreover, besides the random initiation of weights I'm not sure what is non-deterministic about training an ANN; what did you mean by non-deterministic nature of ANN?
Junier
A: 

Feed forward neural networks are always "continuous" -- it's the only way that backpropagation learning actually works (you can't backpropagate through a discrete/step function because it's non-differentiable at the bias threshold).

You might have a discrete (e.g. "one-hot") encoding of the input or target output, but all of the computation is continuous-valued. The output may be constrained (i.e. with a softmax output layer such that the outputs always sum to one, as is common in a classification setting) but again, still continuous.

If you mean a network that predicts a continuous, unconstrained target -- think of any prediction problem where the "correct answer" isn't discrete, and a linear regression model won't suffice. Recurrent neural networks have at various times been a fashionable method for various financial prediction applications, for example.

dwf
Actually I'm not sure either of your two answers know what I mean when I say continuous NN. I don't mean that the activation is continuous, but rather take a look at http://www.iro.umontreal.ca/~lisa/seminaires/18-04-2006.pdf . The idea is that you replace the number of hidden units with an "infinite" amount so that your sum becomes an integral. In theory this should have many benefits over the usual method. I will add this detail in my question to make things clearer.
ldog
Ah, I remember this paper, vaguely. Writing another answer.
dwf
+2  A: 

I think this is either only of interest to theoreticians trying to prove that no function is beyond the approximation power of the NN architecture, or it may be a proposition on a method of constructing a piecewise linear approximation (via backpropagation) of a function. If it's the latter, I think there are existing methods that are much faster, less susceptible to local minima, and less prone to overfitting than backpropagation.

My understanding of NN is that the connections and neurons contain a compressed representation of the data it's trained on. The key is that you have a large dataset that requires more memory than the "general lesson" that is salient throughout each example. The NN is supposedly the economical container that will distill this general lesson from that huge corpus.

If your NN has enough hidden units to densely sample the original function, this is equivalent to saying your NN is large enough to memorize the training corpus (as opposed to generalizing from it). Think of the training corpus as also a sample of the original function at a given resolution. If the NN has enough neurons to sample the function at an even higher resolution than your training corpus, then there is simply no pressure for the system to generalize because it's not constrained by the number of neurons to do so.

Since no generalization is induced nor required, you might as well just memorize the corpus by storing all of your training data in memory and use k-nearest neighbor, which will always perform better than any NN, and will always perform as well as any NN even as the NN's sampling resolution approaches infinity.

Eric
Thanks for the input, I personally don't have experience with kNN algorithms, but from what I've read they are pretty competitive with most classification algorithms. For the NN to have an infinite number of hidden neurons you certainly don't need infinite memory to approximate its effects. You can approximate with very good accuracy such a setup by using quadrature and representing your contniuous function `w(j)` either as densely sampled points or piecewise interpolated functions, etc...
ldog
Perhaps you can clarify the use of the word infinite as in our description: "increasing the number of neurons in the hidden layer to an infinite amount". I would consider the use of infinite here to mean without an upper bound. I think you mean that the number of hidden units is chosen large enough to sample a particular function at a given resolution.
Eric
Well, I'm just keeping theory seperate from actual implementation. In theory, you can construct a neural network with an infinite number of hidden neurons such that when it is evaluated it has the same effect as computing that integral. In practice, this means instead of evaluating the integral you approximate it. I didn't say anything about constructing such a NN in memory.
ldog
"My understanding of NN is that the connections and neurons contain a compressed representation of the data it's trained on."This is not quite the case. In general a well-trained network will learn filters in the hidden units that reveal correlations useful for the classification task, but this need not be true always, and "compression" is certainly not the way to think about it.
dwf
What's the difference between lossy compression and generalization?
Eric
+1 for a very interesting point. Put succinctly: without any bias you're not really "learning." But you're perhaps making a leap that having an infinite number of units introduces no bias. I'm sure that the paper addresses this.
Junier
+1  A: 

The term hasn't quite caught on in the machine learning literature, which explains all the confusion. It seems like this was a one off paper, an interesting one at that, but it hasn't really led to anything, which may mean several things; the author may have simply lost interest.

I know that Bayesian neural networks (with countably many hidden units, the 'continuous neural networks' paper extends to the uncountable case) were successfully employed by Radford Neal (see his thesis all about this stuff) to win the NIPS 2003 Feature Selection Challenge using Bayesian neural networks.

dwf
Ohh interesting will dig into it.
ldog