I’d like to train this model using discriminative learning rates and gradual unfreezing on the encoder. The issue is the main model, SiameseNet, has a length of 1. This means the fastai library gives the model a single layer group, so discriminative learning rates and gradual unfreezing doesn’t work out the box.
To access the layers in the encoder, it has to be specifically indexed into by model.encoder, so the standard format of indexing into a model layers like model[:n] won’t work.
Does anyone know a way to set layer groups/discriminative learning rates with a model like this? Or if there is a way to make this model structure sequential?
Might as well explain a bit about the tags I am not trying to be technically correct. These stuffs are super new to me.
Zero-shot, one-shot and few-shot learning are some approaches for “learning to learn” problem (meta-learning field). Siamese Networks is an approach for one-shot learning. It consists of twin networks with the same set of parameters (symmetric architecture). The basic idea of the model is to compute the output category of one given test example by computing a kind of ‘similarity’ with all the training examples.
Triplet loss is a type of metric distance learning?