Live data from Hacker News

Differentiable Neural Computers

deepmind.com

41–50 of 77 posts

Re: Differentiable Neural Computers

#41
post #40
post #39

Waiting for Schmidhuber to pipe up that he wrote about something similar in -93 and Alex Graves was his student anyway

Exactly. I saw his webpage and was overawed until I read about him on reddit. That guy is full of himself.

He has done a lot of pioneering work, to be honest. I recommend seeing him talk (or watch a video), I think his humour comes across better that way

Re: Differentiable Neural Computers

#42

Earlier quoted context omitted.

In order to use a turing machine in a neural network - or at least to train it, in any way that isn't impractical and/or cheating - you need to make it differentiable somehow. Graves and co. have been really creative in overcoming problems in their ongoing program to differentiate ALL the things.

In this context what does differentiable mean?

It means it can be trained by backpropagating the error gradient through the network.

To train a neural network, you want to know how much each component contributed to an error. We do that by propagating the error through each component in reverse, using the partial derivatives of the corresponding function.

Re: Differentiable Neural Computers

#43
post #30

Earlier quoted context omitted.

They sure put a lot of focus on "toy" problems such as sorting and path planning in their papers - perhaps because they are easy to understand and show a major improvement over other ML approaches. IMHO they should focus more on "real" problems - e.g. in Table 1 of this paper it seems to be state of the art on the bAbl tasks, which is amazing.

Once you have a learning machine that can solve simple problems. You can scale it up to solve very complex problems. Its a first step to true AI imho. Al lot of small steps are needed to go towards this goal. Integrating Memory & Neural Nets is a big step imho.

> Once you have a learning machine that can solve simple problems. You can scale it up to solve very complex problems.

Nope. It's really easy to solve simple problems; it can sometimes even be done by brute-force.

That's what caused the initial optimism around AI, e.g. the 1950s notion that it would be an interesting summer project for a grad student.

Insights into computational complexity during the 1960s showed that scaling is actually the difficult part. After all, if brute-force were scalable then there'd be no reason to write any other software (even if a more efficient program were required, the brute-forcer could write it for us).

That's why the rapid progress on simple problems, e.g. using Eliza, SHRDLU, General Problem Solver, etc. hasn't been sustained, and why we can't just run those systems on a modern cluster and expect them to tackle realistic problems.

Re: Differentiable Neural Computers

#44
post #41
post #40

Earlier quoted context omitted.

Exactly. I saw his webpage and was overawed until I read about him on reddit. That guy is full of himself.

He has done a lot of pioneering work, to be honest. I recommend seeing him talk (or watch a video), I think his humour comes across better that way

It's interesting to think that Schmidhuber's actually applying machine learning methods to the field of machine learning, e.g. see the opening of http://people.idsia.ch/~juergen/deep-learning-conspiracy.htm...

If AGI is the goal and machine learning research is the search algorithm, then Schmidhuber's attempting to perform backpropagation by pushing rewards back along the connections :)

Re: Differentiable Neural Computers

#45

Earlier quoted context omitted.

In order to use a turing machine in a neural network - or at least to train it, in any way that isn't impractical and/or cheating - you need to make it differentiable somehow. Graves and co. have been really creative in overcoming problems in their ongoing program to differentiate ALL the things.

In this context what does differentiable mean?

I think the easiest way to see this is by an example of a non-differentable architecture.

Let's suppose on the current training input, the network produces some output that is a little wrong. It produced this output by reading a value v at location x of memory.

In other words, output = v = mem[x]

It could be wrong because the value in memory should have been something else. In this case, you can propagate the gradient backwards. Whatever the error was at the output, is also the error at this memory location.

Or it could be wrong because it read from the wrong memory location. Now you're a bit dead in the water. You have some memory address x, and you want to take the derivative of v with respect to x. But x is this sort of thing that jumps discretely (just as an integer memory address does). You can't wiggle x to see what effect it has on v, which means that you don't know which direction x should move in in order to reduce the error.

So (at least in the 2014 paper, ignoring the content-addressed memory), memory accesses don't look like v = mem[x]. They look like v = sum_i(a_i * mem[i]). Any time you read from memory, you're actually reading all the memory, and taking a weighted sum of the memory values. And now you can take derivatives with respect to that weighting.

To me, the question this raises is, what right do we have to call this a Turing machine. This is a very strong departure from Turing machines and digital computers.

Re: Differentiable Neural Computers

#47

Earlier quoted context omitted.

The reason other researchers haven't jumped on NTMs may be that, unlike commonly-researched types of neural nets such as CNNs or RNNs, NTMs are not currently the best way to solve any real-world problem. The problems they have solved so far are relatively trivial, and they are very inefficient, inaccurate, and complex relative to traditional CS methods (e.g. Dijkstra's algorithm coded in C). That's not to say that NT…

They sure put a lot of focus on "toy" problems such as sorting and path planning in their papers - perhaps because they are easy to understand and show a major improvement over other ML approaches. IMHO they should focus more on "real" problems - e.g. in Table 1 of this paper it seems to be state of the art on the bAbl tasks, which is amazing.

At least some of the "toy" problems aren't chosen just for being easy to solve or understand. They're chosen for being qualitatively different than the kinds of problems other neural nets are capable of solving. Sorting, for example, is not something you can accomplish in practice with an LSTM.

Mainstream work on neural nets is focused on pattern recognition and generation of various forms. I don't mean to trivialize at all when I say this - this gives us a new way to solve problems with computers. It allows us to go beyond the paradigm of hand-built algorithms over bytes in memory.

What DeepMind is exploring with this line of research is whether neural nets can even subsume this older paradigm. Can they learn to induce the kinds of algorithms we're used to writing in our text editors? Given this goal, I think it's better to call problems like sorting "elementary" rather than "toy".

Re: Differentiable Neural Computers

#48
post #30

Earlier quoted context omitted.

Once you have a learning machine that can solve simple problems. You can scale it up to solve very complex problems. Its a first step to true AI imho. Al lot of small steps are needed to go towards this goal. Integrating Memory & Neural Nets is a big step imho.

> Once you have a learning machine that can solve simple problems. You can scale it up to solve very complex problems. Nope. It's really easy to solve simple problems; it can sometimes even be done by brute-force. That's what caused the initial optimism around AI, e.g. the 1950s notion that it would be an interesting summer project for a grad student. Insights into computational complexity during the 1960s showed tha…

The point of this is generality. If you can use the same architecture to do many different types of tasks, and you keep adding to the variety of tasks it can do, eventually you cover all classes of tasks and then you never ever need to switch over to brute-force architectures. This is not nothing.

Re: Differentiable Neural Computers

#49
post #5

This paper builds off of DeepMind's previous work on differentiable computation: Neural Turing Machines. That paper generated a lot of enthusiasm when it came out in 2014, but not many researchers use NTMs today. The feeling among researchers I've spoken to is not that NTMs aren't useful. DeepMind is simply operating on another level. Other researchers don't understand the intuitions behind the architecture well enou…

The reason other researchers haven't jumped on NTMs may be that, unlike commonly-researched types of neural nets such as CNNs or RNNs, NTMs are not currently the best way to solve any real-world problem. The problems they have solved so far are relatively trivial, and they are very inefficient, inaccurate, and complex relative to traditional CS methods (e.g. Dijkstra's algorithm coded in C). That's not to say that NT…

The brain is not a single universal neural network that does everything well. It's a collection of different neural networks that specialize in different tasks, and probably use very different methods to achieve them.

It seems like the way forward would be networking together various kinds of neural networks to achieve complex goals. For example, an NTM specialized in formulating plans that has access to a CNN for image recognition, and so on.

Re: Differentiable Neural Computers

#50

It appears they are touting 'memory' as the key new feature, but I know at least in the deep learning NLP world there already exists models with 'memory', like LSTMs or RNNs with dynamic memory or 'attention.' I can't imagine this model is too radically different than the others. Maybe I just feel a bit uneasy with a claim such as: > We hope DNCs provide a new metaphor for cognitive science and neuroscience.

Basically they're using differentiable memory allocation, which means that training can not just change 'what' is stored in memory but 'where' it's stored.
Post reply on HN