What? Any classification function is non-differentiable because it can only ever take discrete values. Yet this is a task that neural networks do every day. You can approximate a non-differentiable function with a differentiable one.
What? Any classification function is non-differentiable because it can only ever take discrete values. Yet this is a task that neural networks do every day. You can approximate a non-differentiable function with a differentiable one.
There are many situations that are not differentiable. Images work well because adjusting color values during back prop can easily be done with a gradient. For example, during backprop it is feasible to increase the level of blue by 10% by increasing its RGB value. Likewise for 3%, 15%, -7%, etc.
For other types of data, a gradient may not exist.
You don't calculate a gradient on the data, you calculate a gradient on the parameters of the model. But I'm going to assume you mean that some types of data are not well represented by floating point numbers, which is true, but there are workarounds, e.g. vector embeddings for words or simply one-hot encodings for categorical values.
What is true is that if you need to make a hard decision in one part of the network, for example deciding that the image is a cat, in order to further process that decision. This would not be differentiable. But we can represent objects in a non-discrete way, with embeddings, hidden state vectors etc. My point is, people are getting around this problem.
I also want to add that I agree that we are way far off from building apps automatically, but I think you're giving way too little importance to the advances that's been made. Just take a look at the latest GANs, or the advances in machine translation using the Transformer and attention architectures, or Neural Turing Machines.
Whether a gradient exists will depend on the type of data and what you're trying to predict.
But we can represent objects in a non-discrete way, with embeddings, hidden state vectors etc. My point is, people are getting around this problem.
Great progress has been made using that, e.g. advancements in NLU. But it is not a complete workaround. Embeddings don't work if your relationship is non differentiable. And you will lose the gradient for very long contexts (deep networks), even using new techniques like attention and transformers.
It seems to me that there is no difficulty in using it to model fixed functions {0,1}^n -> {0,1}^m .
I don’t know for sure that all such functions can be learned reasonably efficiently, but I do know that there are feedforward standard neural nets which, with some weights, can approximate any such function arbitrarily closely.
But, again, I’m not saying that these functions can be learned effectively by backprop, idk if they can be.
Are these functions examples of relations you would say aren’t differentiable.
I’m confident that SOME of these functions can be learned by backprop, but I don’t know what would make these ones “more differentiable” than others, So, I don’t see how differentiability could be the obstacle here?
But I may be misunderstanding.
What is true is that if you need to make a hard decision in one part of the network, for example deciding that the image is a cat, in order to further process that decision. This would not be differentiable.
CNNs can work for image classification because a smooth gradient will exist for incrementally "stepping" color values during backprop. But asking the question "is this an image of a cat" is much different than "what do I do if this is an image of a cat".
Also very deep neural networks (i.e. many, many time steps) essentially lose their gradient, or context. Even with attention and transformers. Which is partly why we haven't seen AIs that can write lengthy programs, books etc that are coherent and grammatically correct. And we probably never will by only relying on current "curve fitting" techniques.
You can train another NN to predict the best course of action for each decision of the first net. Or even train a single net to choose actions based on the initial input. Not sure what's the problem here.
we haven't seen AIs that can write lengthy programs, books etc that are coherent and grammatically correct. And we probably never will
Have you completely missed the recent NLP breakthroughs (BERT, GPT-2, XLNet, etc)? OpenAI even refused to publish their model because it could generate long coherent and grammatically correct text.
Can you give an example of such a function? They very well may exist. But I think we can agree that non-differentiability of the target function is not sufficient.
The function that describes the neural network itself has to be differentiable. Whether we can create a differentiable function/NN for any kind of input remains to be shown.
Brownian motion. Try using a NN to model stock prices (not Brownian exactly, but same concept).
IIRC, the first neural network book I read in the 1990s had that as the big illustrative application in the latter part of the book.
There are plenty of other time series problems where NNs don't outperform classical methods such as ARIMA.
There is no empirical data to support that it is more effective than other methods.
Theory is not that valuable when evaluating papers in AI. It is all about the empirical results.
The function needs to be continuous.
Discontinuous functions are not differentiable.
You can approximate discontinuous functions with continuous ones (e.g. with logistic functions).
In the end, we are still talking about curve fitting and optimization, not artificial general intelligence.