
Programming with a Differentiable Forth Interpreter (2016) - ghosthamlet
http://arxiv.org/abs/1605.06640v3
======
exikyut
Discussion from 2016:
[https://news.ycombinator.com/item?id=11766092](https://news.ycombinator.com/item?id=11766092)

I also found this article on differentiable programming:
[https://pseudoprofound.wordpress.com/2016/08/03/differentiab...](https://pseudoprofound.wordpress.com/2016/08/03/differentiable-
programming/) but a foundational TL;DR would be highly appreciated.

~~~
sedachv
I think Richard Fateman's paper on the subject is a good introduction:
[https://people.eecs.berkeley.edu/~fateman/papers/ADIL.pdf](https://people.eecs.berkeley.edu/~fateman/papers/ADIL.pdf)

------
MaxBarraclough
> end-to-end differentiable interpreter for the programming language Forth
> which enables programmers to write program sketches with slots that can be
> filled with behaviour trained from program input-output data. We can
> optimise this behaviour directly through gradient descent techniques on
> user-specified objectives

Neat. What sort of things have been achieved with machine-learning over
algorithms, though? I've seen the topic crop up now and then, but I couldn't
name any real successes.

~~~
noelwelsh
I haven't read this paper, but the way deep learning is evolving is becoming
more like general-purpose programming. People have even started calling it
"differentiable programming". The basic driving force is that the neural
network architectures people are using are becoming more and more complex,
employing state and dynamically changing structures. To express this deep
learning frameworks are becoming like general-purpose languages with the
constraint that everything has to be differentiable for optimisation to work.
So I don't think the driving force is that "normal" programs will have machine
learned components, but that machine learning is becoming more like
programming.

~~~
jacobush
... and will soon be seen as (and actually be!) very mundane and not really AI
at all, although a very useful tool. Just like optimizing compilers.

~~~
aje403
It still does the exact same thing as it did 10 years ago. Whether or not it
is seen as OR is AI is a different topic. Anything that becomes more widely
understood seems mundane and less sexy than when it is an emerging field.

~~~
0xdeadbeefbabe
On that different topic, real progress starts the moment it is not seen as AI.

------
whitten
So does this combination procedural language + neural net architecture allow
random modification of FORTH words or does it only allow random use of pre-
defined subroutines with random values for parameters?

Random modification / creation of random algorithms sounds like Doug Lenat's
Eurisko. The use of random values for parameters in a pre-defined subroutine
sounds like a contraint propagation language like Prolog. I guess the random
use of a pre-defined set of subroutines is similar to a system that does load
balancing for choice between various algorithms instead of different machines.

~~~
sehugg
It manipulates "sketches" which seem to act as a template and search strategy.
E.g. for the word algebra problem, the neural net is told to look at the top 4
stack elements and figure out how to arrange a pair of arithmetic operations
(the sentence is first "parsed" by a RNN.)

