Gostaria de acrescentar ao que já foi dito que sua pergunta aborda uma noção importante no aprendizado de máquina chamada aprendizado de transferência . Na prática, poucas pessoas treinam uma rede convolucional inteira do zero (com inicialização aleatória), porque é demorado e relativamente raro ter um conjunto de dados de tamanho suficiente.
As ConvNets modernas levam de duas a três semanas para serem treinadas em várias GPUs no ImageNet. Portanto, é comum ver pessoas liberando seus pontos de verificação ConvNet finais para o benefício de outras pessoas que podem usar as redes para o ajuste fino. Por exemplo, a biblioteca Caffe tem um zoológico modelo no qual as pessoas compartilham seus pesos de rede.
Quando você precisar de um ConvNet para reconhecimento de imagem, independentemente do domínio do seu aplicativo, considere usar uma rede existente, por exemplo, o VGGNet é uma escolha comum.
Há algumas coisas a serem lembradas ao realizar o aprendizado por transferência :
Restrições de modelos pré-treinados. Observe que, se você deseja usar uma rede pré-treinada, pode ser um pouco limitado em termos da arquitetura que pode usar para seu novo conjunto de dados. Por exemplo, você não pode remover arbitrariamente as camadas Conv da rede pré-treinada. No entanto, algumas mudanças são simples: devido ao compartilhamento de parâmetros, você pode executar facilmente uma rede pré-treinada em imagens de diferentes tamanhos espaciais. Isso é claramente evidente no caso das camadas Conv / Pool, porque sua função de avanço é independente do tamanho espacial do volume de entrada (desde que as passadas “se ajustem”).
Taxas de aprendizagem. É comum usar uma taxa de aprendizado menor para pesos ConvNet que estão sendo ajustados, em comparação com os pesos (inicializados aleatoriamente) para o novo classificador linear que calcula as pontuações de classe do seu novo conjunto de dados. Isso ocorre porque esperamos que os pesos do ConvNet sejam relativamente bons, portanto não desejamos distorcê-los muito rápido e demais (especialmente enquanto o novo Classificador Linear acima deles estiver sendo treinado a partir da inicialização aleatória).
Referência adicional se você estiver interessado neste tópico: Quão transferíveis são os recursos em redes neurais profundas?