Listening to ae's universe-shattering 3rd episode of Special Education, while trying to just barely grok my way into deep learning, this was the series of visions I had. Using Hopfield networks, which are a kind of neurophysicist spiking toy model that always converges to a stable state due to its definition in terms of the lagrangian of the neurons (the Lagrangian is an often useful equation of Lagrangian := (is defined as) Kinetic energy - the potential energy (Plus whatever lagrange modifier/constraints which is probably important but I didn't see that mentioned yet). In the unevolved case, a finished-training stable-state Hopfield network takes a distorted or incomplete input of the dimensions of what it learned from, and returns the best match. Traditional hopfield networks have memory for n neurons ~ O ( 0.14 n ), but a modern modification gives a storage efficiency of O ( exp n ) (crazy) associated with activation functions like (lambda (x) (cond ((< x 0) 0) (t (expt x 2)))) but that's not really here nor there. With some unlettered sticking points, and just with the simple notion of a Hopfield network, I was imagining having two hopfield networks, one storing truly arbitrary anaphora that have been encountered before I : original-form (progn (get-out pot) (put-on stove pot) (fill-with water pot)) Say we encode (in different hopfield nets) II : LEAVES.txt (a (b c) (d e c) (f g c)) as the leaf structure and separately III : INPUTS.txt (progn get-out pot put-on stove fill-with water) Then we can recover the original form without deep learning like this: (multiple-value-bind (leaves inputs) (apply 'values (mapcar (lambda (x) (with-open-file (in (format nil "~a.txt" x)) (read in))) '(leaves inputs))) (eval `(let (,@(pairlis '(a b c d e f g) (mapcar 'list inputs))) ,leaves))) Now the applicability of a Hopfield net - a best-matcher - is that when faced with a fragment of a new problem, a best-match leaf structure can be shown up : and a partially defined leaf structure or a partially-known argument list can turn up argument lists. Metacircularly, there could be a class of memorised functions whose function is to modify a common leaf structure for another purpose, and/or an argument list similarly. A research extension would be to somehow have search references into this hopfield net supporting larger equations of this hopfield net. I was thinking of using gray level ~ graphic-char-p, prin1s of II and III above in the normalised range 0..1 if that's actually important, and simply define a fixed character length. So far, my impression was that whereas Bayesian statistics is a wholly robotic tool to be operated by experts, for example Hopfield nets are the purview of physicists (a physicist is anyone who doesn't afraid of calculus). This is quite counter to the python module providing C++ company advertisements everywhere, which imply that deep learning is a flight dashboard ready for operation by pilots, like Bayesian statistics is. That's not my impression at all. In the sense that Bayesian statistics is about a hundred years old, deep learning is about 50-60 years old; maybe that's the difference. I'm not sure how to make it dynamical. Since it by definition converges (on the condition of symmetric edge weights), normally it is trained to convergence: However Hopfield found that the chaos introduced by some asymmetries did not necessarily affect other useful bits of the network. That makes me hopeful that new data could be added in a funky way, if somehow a tour through a new-data-add cycle could be provoked in between uses, without blandly retraining the entire network to a different completion. But that kind of local limit cycle modification is probably badly behaved, in general. * I still didn't implement this for the first time myself so WIP