19-01-30 Measuring Network Similarity
Category: Idea Lists (Upon Request)
<!-- gdoc-inlined -->
Candidate research ideas in networks similarity.
- Jensen-Shannon Divergence over set of Logits
- Wasserstein Distance over Logits
- Do alignment over convolutional kernels (akin to the alignment step in canonical correlation analysis)
- One algorithm for doing the alignment looks like seeing which activations are active over a sample of datapoints, and using the shared activation patterns for the alignment.
- After the representations are aligned, directly computing the distance between convolutional layers starts to be meaningful.
- Fraction of datapoints similarly classified
- Decision boundary metrics
- Architecture Similarity
- Comparing depth, width of hiddens, counts of layer types, orderings, etc.
- Ways to embed neural networks?
- Learn a neural network autoencoder that creates a latent space of networks. Measure similarity in the latent space.
- Similarity of the embedding over the Representation of the network in NAS, where the LSTM has some hidden state that generates a network which can be compared to the hidden state that generates another network
- Would have to find a way to, instead of going from data to representation architecture, go from architecture to representation to data (inversion)
- Represent the output of each neuron over the dataset as a vector, and create one vector for each neuron in the network. Compare the resulting matrices after a decomposition (SVCCA)
- Can use the intermediate matrices and computer aligned neurons with activation patterns rather than CCA
- Cosine Distance / Angles between tensors?
- Convergence / divergence of learning throughout training (this is an instance of a temporal / course of optimization metric, which is actually an entire family of new metrics)
- Recombine with the above, evaluating each notion of network similarity over the course of training
Source: Original Google Doc