A neural network looking at itself.
There are two neural networks, Ego and Id. Ego ideally outputs 1 when the input is its own weights, and 0 otherwise. Id ideally outputs weights for the Ego net, that Ego scores highly. These are continually trained against each other using a generative adversarial network.
Video excerpt of training process (100MB) (note: has some stroboscopic parts).
Top ten highest scoring networks out of 1000 training sessions.
nnirror is implemented in Haskell using grenade.
Copyleft: This is a free work, you can copy, distribute, and modify it under the terms of the Free Art License.