Submitted by currentscurrents t3_1007w5u in MachineLearning
Correct me if any of these priors are wrong:
-
Every problem solvable by a neural network is provably solvable in code, although not necessarily in a useful way - at worst you could generate the pytorch source code and the model weights.
-
Neural networks can discover algorithms during training, and use them internally to accomplish the task. This happens emergently in today's large transformer models; it's part of learning how to solve the problem.
-
While neural networks can do a lot of things that classical algorithms can't, there's also a lot of things that both can do - pathfinding for example. Maybe there's more yet-unknown overlap between them.
Stripping away the neural network and running the underlying algorithm could be useful, since classical algorithms tend to run much faster and with less memory.
Has there been any research into converting neural networks into code that accomplishes the same thing? My first thought would be to train a network to take another neural network as input and output the corresponding code. You could create a dataset for this by taking various chunks of code and training neural networks to imitate them.
yaosio t1_j2g4wqx wrote
Deepmind put out a paper on discovering faster matrix multiplication. I only know enough machine learning to ask where the bathroom is so I don't know the methods they used.
https://www.deepmind.com/blog/discovering-novel-algorithms-with-alphatensor
https://www.nature.com/articles/s41586-022-05172-4