
A TensorFlow implementation of the Differentiable Neural Computer - hurrycane
https://github.com/deepmind/dnc
======
meri_dian
The way in which the brain solves classification tasks - a reactionary process
that doesn't draw on deliberate reasoning ability - seems similar to how we
recreate such abilities in ANN's. So in that sense it seems our AI systems are
following the path laid out for us by our own brains.

However it seems to me (and I may be wrong) that the DNC tries to implement
procedural, deliberate thinking in a way divergent from the method implemented
by the human brain.

The brain is clearly capable of providing us with the ability to navigate
through complex procedure (like interpreting subway maps), something beyond
the abilities of modern AI which mainly excels at more reactionary
classification. So the question becomes, why is Deep Mind diverging from the
way the brain works in the case of the DNC?

Is it because we don't actually understand how the brain implements reasoning,
or is it because in order to do so in the brain's own way it would exceed our
technical capabilities? Or both?

~~~
rhcom2
> The way in which the brain solves classification tasks - a reactionary
> process that doesn't draw on deliberate reasoning ability

Does this mean that when I see an animal my brain reactivity just knows "cat"
instead of going "well it a small thing with fur and whiskers, fits cat"?

edit: A longer description I found helpful:
[https://deepmind.com/blog/differentiable-neural-
computers/](https://deepmind.com/blog/differentiable-neural-computers/)

~~~
meri_dian
I'd say that the classification of a cat as a cat is a fundamentally different
process from, say, solving a complex math problem.

The main difference seems to be that the former is a subconscious process and
the latter is conscious, but it's more than that because to solve the complex
problem we're relying on explicit selective recall from our long term memory
then transferring that knowledge to our short term memory for conscious
processing. I don't think this transfer of information from long term to short
term memory occurs when looking at a cat.

~~~
jacquesm
Subconscious: everything that has been abstracted away.

------
jostmey
I hate the format of the Nature paper. I have no idea how the algorithm is
different than their neural turing machine

~~~
pavledjo
IIRC, the difference is an additional read head. Also they removed location-
based addressing for the read/write heads in favor of a combination of
content-based adressing and a dynamic scheme to figure out empty locations.

~~~
zardo
Could you expand on the removal of location based addressing? That's not how I
understood it, but... I don't understand it very well.

------
zmgehlke
So, I'll own up to it, I'm kinda dumb (or at least not read up on this).

Can someone explain what a DNC is?

Assume I know most CS undergrad topics -- or can at least google them; eg, I
know what a Turing machine is but not what a neural Turing machine is.

~~~
deepnet
Neural Turing Machines by Alex Graves, Greg Wayne, Ivo Danihelka

[https://arxiv.org/abs/1410.5401](https://arxiv.org/abs/1410.5401)

A Neural Turing machine is a type of neural network with addressable memory -
it learns rather than being explicity programmed.

The net also learns to boot, i.e. how to read/ write it's own memory from
scratch.

Stochastic Gradient Descent learning relies on backpropagation of the error
corrections to the individual weights to make a slight improvement - this
requires a differentiable neural net.

This version innovates with content addressable memory. The authors
demonstrate learning from big data sets and with reinforcement learning, (i.e.
trial and error as an embodied agent).

------
crawfordcomeaux
I can't wait to start playing with this. The DNC is a big part of the initial
inspiration for how I started modeling and reprogramming my brain!

A key difference between one of my models for how our brain works and the DNC:
there's a mechanism for loading/unloading neural networks into the DNC. Also,
the inputs = signals from the brain + body + mind + environment (physical &
mental) = the outputs (though some outputs require iteratively applying the
inputs a good bit before manifesting).

~~~
trendia
> I started modeling and reprogramming my brain!

How did you model and reprogram your brain?

~~~
crawfordcomeaux
I've developed a systematic framework for generating practices to change how
my body, mind, and brain work. I haven't figured out a way to explain it in
simple terms, but working toward it.

EDIT: Here are some basic thoughts...

Everything we experience flows through our perceptual sets (composites of
relevant emotions, beliefs, behavioral strategies, and intentions), which we
can intentionally craft over time. Each component in a perceptual set is
processed with varying degrees of attention.

So to program your brain, the first step is to find a functional base line
perceptual set to work from & learn how to direct/focus your attention on the
different aspects of your perception.

To put it even more simply: go practice all the forms of Buddhism. All I seem
to be doing at this point is systematically rediscovering stuff they've known
for 2500 years and attempting to put a categorical structure onto it.

~~~
jbpetersen
Sounds like you may have stumbled into the same ideas behind CBT more or less.
It makes sense that they'd crop up in different places and times assuming they
work well.

I'm certainly no expert on it, but if that's a decent assessment then you may
be sitting on some very handy metaphors.

~~~
crawfordcomeaux
Correct! Some of my practices are specifically known things in CBT. Some of
them are specifically known in physical therapy. And some are more related to
mindfulness or tantra.

I find them incredibly handy & have been rapidly growing in weird ways since
New Year's Eve. I realized I can leverage natural cognitive biases for pattern
matching to start classifying each moment of my life as meeting some set of
fundamental human needs of mine.

The skill of choosing one's beliefs (ie. shortening the time it takes for a
belief to be internalized) is extremely useful and something we don't really
teach in society. It's no wonder we're experiencing such divisive times,
especially when we've developed all sorts of systems that fail to preserve
human connection.

~~~
anentropic
> The skill of choosing one's beliefs (ie. shortening the time it takes for a
> belief to be internalized) is extremely useful and something we don't really
> teach in society.

I don't follow... how is this extremely useful? What is an 'internalized'
belief, as opposed to what? ...something you just want to believe but don't
quite yet?

~~~
crawfordcomeaux
I think there's two skills here: the skill of choosing beliefs and the skill
of internalizing them.

The usefulness of choosing beliefs stems from several applications: 1\.
Choosing to believe things in order to intentionally set cognitive biases.
(eg. believing every moment meets some needs of mine combines with an
understanding of fundamental human needs to prime my brain to spot how my
needs are being met in the moment...particularly helpful for painful moments,
which can meet my need to learn how to better meet my needs) 2\. Choosing to
believe the opposite of problematic thoughts. (discovered this one by choosing
to stop believing an anxious thought that was plaguing me) 3\. Choosing to
believe I can safely abandon my judgments. (which accidentally changed my
food, music, media, and people preferences to be WAY more inclusive) 4\.
Choosing to believe I can learn to identify as a woman in the future.
(accidentally creating a second conscious voice in my head, ie. stumbling on
the Buddhist practice of deity visualization)

Internalizing a belief is when the thought processes change based on the
belief. Some beliefs are easier to internalize than others. I've got no idea
what goes into determining the time required & am also uncertain if it truly
is a skill we can learn.

