To training from the stracth is computationally expensive and required many data (w.r.t network architecture). On the other hand, transfer learning is computationally efficient and provides good results.
In general, I think you need to check this empirically. Since transfer learning is low-cost, I recommend you starts by testing this approach. In this work Conference Paper Face Verification: Strategies for Employing Deep Models
, we have evaluated a low-cost transfer learning applied to face verification, I think it can help you.
Here you can find some guidelines that need to be contextualized in the specific use case. Generally speaking, given a task A and a task B, Transfer Learning (from A -> B) makes sense if three conditions are satisfied:
Task A and B have the same input; e.g. task A can be an image recognition task and task B can be a radiology diagnosis task...
You have a lot of more data for task A than task B; e.g. it is likely that you have much more data - e.g. 1 million images - for a general purpose image recognition task (=task A) than for a radiology diagnosis task (=task B) - e.g. 1,000 images -
Low level features from A could be helpful for learning B; e.g. you could suspect that low level features of image recognition can help learning radiology diagnosis ...
In case these three conditions are satisfied, you can decide to
just fine tuning the network meaning that you take the pre-trained network of task A, just replace the last layers and retrain the network using the samples available for task B assuming immutable the weights of the pre-trained network of task A; basically, you are just training the last layers on the new samples of task B; this practice is typically recommended if you have not many (
You can only use transfer learning when there is a relation between your dataset and the pretrained model. For example you can use different pretrained model over ImageNet dataset with Cifar10,100 datasets, but you can not use the pretrained model of ImageNet with biomedical images because of ImageNet not contains images belongs to biomedical field, so in such case you should trains the model from scratch over biomedical images and then you can uses this model for transfer learning.