Neural Networks and Self-Replication
You know what quines are, right? They’re programs that print their own source code (the term comes from Douglas Hofstadter, who invented the term in Godel, Escher, Bach: an Eternal Golden Braid to describe self-replicating expressions such as: “‘is a sentence fragment’ is a sentence fragment”. (•)
The fascinating thing about quines, especially when it comes to programming, is that it is a (very primitive!) form of self-replication. Howard Chang and Hod Lipson have a paper out — Neural Network Quine — in which they have worked on bringing this self-replication to the world of neural networks. Well, to be precise, they’ve figured out a mechanism for a neural network to output it’s weights, by, effectively, cycling through prediction and optimization (they call this mechanism regeneration).
Why would you want to do that? Well, for a couple of reasons
- 1. Repair: Knowing how one is put-together, and how one replicates, allows for fixing errors in the process
- 2. Natural selection: Effectively, improve the performance and abilities of these systems through adaptation/evaluation of the “offsprings”
- 3 Self-awareness: A critical step in the process of (ongoing!) learning, that allows for introspection.
- 4 Security: As Deep Learning becomes more relevant, we’ll want to be able to prevent replication — I mean, we don’t want to end up as grey goo, do we?
- 5. Security v2: aka, “no reverse-engineering” (not just from an IP perspective, it’s also to prevent adversarial attacks!)
Incidentally, the parallels with nature are quite extraordinary. When Chang and Lipson trained the (regenerating) network on an additional task, it turned out that there was a tradeoff. The better the regeneration, the worse the performance on the additional task — which is not unlike nature, where animals frequently optimize for survival at the expense of reproduction, or vice versa.
It’s truly interesting stuff, and looks like it might be applicable to even more complex models (like CNNs, RNNs, etc.). Heck, it might even be able to create a Universal Replication, one that replicates other networks!
(•) The Quine Page — for all the quines that you could ever want!
Comments