Hacker News new | past | comments | ask | show | jobs | submit login

It is interesting how almost none of these paradigms/principles are relevant to what we think of as AI today. Lisp, a language specifically formulated for AI applications, is now mostly relevant in the context of programming language theory (and essentially irrelevant to the statistical programming/linear algebra toolkits that underpin modern AI applications). Instead, Fortran and its descendants are actually what power today’s AI programs. Nobody could have foreseen this in the 50s!



PAIP is full of practical programming techniques and advice that are not at all specific to AI or even Lisp. Other commenters here have cited Norvig's retrospective on his book at

http://norvig.com/Lisp-retro.html

The next to last section in this, What Lessons are in PAIP? comprises 52 numbered sentences of advice, cross-referenced to fuller explanations in the book. Many (most?) of them apply to any programming or software engineering, not specifically AI or Lisp.


Lisp was once in the forefront of high level numerical computing systems:

https://en.wikipedia.org/wiki/Macsyma

Similar to the way Python today is a high level language used for numerical computing today. Lisp is certainly more than capable of this role, but the fallout from the AI winter killed Lisp's reputation and popularity, leading to other languages filling those niches.


I'm always surprised that the symbolic math paradigms aren't used more. I suppose most cost functions just aren't continuous?

That said, seems most of what is important in today's code is the ability to drive a gpu. Don't know why that couldn't be done from a lisp.


I'm not sure if anything has or will happen with this, but this seemed like an interesting symbolic extension of neural nets: https://syncedreview.com/2020/11/19/facebook-building-automa...

At least my take on it is: what if you simulate a domain (physics being the most tractable) then can you train using differentials of the model itself and not just differentiating the internal neuron estimators?

Lots of open questions... like what's the driving force that asks for an effect that calls for differentiating the model? We kind of expect the training process to just recreate everything internally.

Now it has me thinking about "coprocessors"... a lot of the domain-specific math is given to the NN as input features, but what if the NN could select inputs to those algorithm? That would give the NN the ability to speculate. Of course you'd need to also differentiate those algorithms.

Now that I'm thinking about it, I guess this is just another activation function, just one that is domain-specific. Are there approaches that use eclectic activation functions? Like in each layer 1-10 is one activation function, 11-20 is another, and then you finish off with tanh or relu or some other genetic activation function.


Neural nets do use extremely long compositions of nonlinear functions whose gradients need to be computed over and over. I guess because chain rule (automatic differentiation) works so well, most of the libraries in use are only “a little” symbolic in that they can automatically figure out first derivatives for symbolic input and output variables.


I thought automatic differentiation is a little different? Will have to look again. I thought the norm for a while was to manually enter the gradient, if possible, or to use a calculated one at each step.


The norm is to use library functions like addition, multiply, power, etc., which have hardcoded derivatives. Then the derivative is computed “symbolically” by composing these base derivatives, which is essentially an exercise of implementing calculator logic. I use scare quotes because there are numerical problems with some functions that have to be hacked around with more manual derivatives, like the cross-entropy/softmax function. In those cases, people suggest to use a different library function special-cased out for the situation, which is not really “symbolic” in the typical mathematical sense.


I'd say this is because the term "AI" has been redefined, not because the same work is being done in a different way




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: