Loading video...
Video Failed to Load
1/n Tweeprint 📢📢📢 on neuro-symbolic AI: Are basic neural networks (2-layer MLP) able to learn simple algorithms (addition of real numbers)? Prior theory says they should be and yet, during training, we see a highly complex error surface evolving
77,397 views • 3 years ago •via X (Twitter)
10 Comments

2/n Plotting the prediction error in input space (2D), we see MLPs learn a ridge of good solutions through the training data with increasing complexity for wider networks. Intriguingly, we see a similar behavior in Gaussian processes with small (RBF kernel) length scale

3/n The pattern adapts to the input domain (e.g., annulus) and becomes more and more intricate for wider networks and larger training datasets

4/n Following the construction in Neal 1996 ( we can control the smoothness of the function learned by the network – analogous to a GP

5/n Going back to addition, we can see the effect of making the networks more smooth – becoming more similar to a GP with well tuned length scale

6/n This has implications for neural network robustness / out-of-distribution generalization (see paper). However, it does not solve the larger problem that MLPs cannot make the (inductive) inference step from a (complex) look-up table to an underlying algorithm.

7/n This was the most minimal setting I could think of to study that problem. I hope that future work will look into other models (e.g., transformers, GNNs) and try to understand this phenomenon of the evolving loss surfaces in MLPs.

8/n This work was inspired by @MLStreetTalk and @PetarV_93's work on neural algorithmic reasoning:

9/n I am still extremely excited about these ideas, but I think that it needs something more in the mix. Maybe not just new models, but statistical theory about minimal failures of most basic networks, and epistemological theory about conceptual challenges of inductive inference.

Lastly, I want to thank @schott_lukas @Jingyang_zhou @TonyZador, anonymous reviewers @TmlrOrg & others for excellent feedback 🙏 This was my first, and frankly, last solo project. It was an interesting experience, but honestly, science is 10x more fun and productive in a team 😁

Prior theory says that a two-layer network with a sufficiently wide hidden layer of nonlinear units should be able to implement such a function. It does not say that it should be able to learn it from examples.
