Estou iniciando um projeto em que a tarefa é identificar os tipos de tênis nas imagens. Atualmente, estou lendo as implementações TensorFlow e Torch . Minha pergunta é: quantas imagens por classe são necessárias para alcançar um desempenho razoável de classificação?
12
Respostas:
De Quão poucos exemplos de treinamento são escassos ao treinar uma rede neural? no CV:
Realmente depende do seu conjunto de dados e da arquitetura da rede. Uma regra geral que li (2) foi de alguns milhares de amostras por classe para a rede neural começar a ter um desempenho muito bom. Na prática, as pessoas tentam ver.
Uma boa maneira de avaliar até que ponto pode ser benéfico ter mais amostras de treinamento é traçar o desempenho da rede neural com base no tamanho do conjunto de treinamento, por exemplo, a partir de (1):
(2) Cireşan, Dan C., Ueli Meier e Jürgen Schmidhuber. "Transfira o aprendizado de caracteres latinos e chineses com redes neurais profundas." Na Conferência Conjunta Internacional Internacional de Redes Neurais de 2012 (IJCNN), pp. 1-6. IEEE, 2012. https://scholar.google.com/scholar?cluster=7452424507909578812&hl=pt_BR&as_sdt=0,22 ; http://people.idsia.ch/~ciresan/data/ijcnn2012_v9.pdf :
fonte
A melhor abordagem é coletar o máximo de dados possível. Em seguida, inicie o projeto e faça um modelo de dados.
Agora você pode avaliar seu modelo para ver se ele possui alta polarização ou alta variação.
Alta variação : nessa situação, você verá que o erro de validação cruzada é maior que o erro de treinamento após a convergência. Existe uma lacuna significativa se você plotar o mesmo em relação ao tamanho dos dados de treinamento.
Viés alto : nessa situação, o erro de validação cruzada é um pouco maior que o erro de treinamento, que é alto quando representado graficamente em relação ao tamanho dos dados de treinamento. e erros de plotagem.
Se você vir seu modelo com alta variação (super ajuste), adicionar mais dados geralmente ajudará em contraste com o modelo de alto viés (baixo ajuste), onde a adição de novos dados de treinamento não ajuda.
Também por classe, você deve tentar obter o mesmo número de imagens, caso contrário, os conjuntos de dados podem ficar distorcidos (mais de um tipo).
Sugiro também que, se você estiver usando o TensorFlow , leia mais sobre o INCEPTION Image Classifier do GOOGLE . Ele já é um classificador treinado no banco de dados de imagens do Google e você pode usá-lo para suas imagens, assim os requisitos para o número de imagens diminuem drasticamente.
fonte