É prática comum aplicar o aumento de dados apenas ao conjunto de treinamento ou aos conjuntos de treinamento e teste?
machine-learning
deep-learning
regularization
data-augmentation
rodrigo-silveira
fonte
fonte
Respostas:
Em termos do conceito de aumento, ou seja, aumentar o conjunto de dados por algum motivo, tendemos a aumentar apenas o conjunto de treinamento. Avaliaríamos o resultado de diferentes abordagens de aumento em um conjunto de validação.
No entanto, como @ Łukasz Grad salienta, talvez seja necessário executar um procedimento semelhante ao conjunto de testes, como foi feito no conjunto de treinamento. Isso geralmente ocorre para que os dados de entrada do conjunto de testes se assemelhem ao máximo possível aos do conjunto de treinamento. Por exemplo, @ Łukasz Grad mostra o exemplo de corte de imagem, onde também precisamos cortar as imagens de teste, para que elas tenham o mesmo tamanho das imagens de treinamento. No entanto, no caso das imagens de treinamento, podemos usar cada imagem de treinamento várias vezes, com colheitas em diferentes locais / compensações. No momento do teste, é provável que façamos uma única colheita centralizada ou faça colheitas aleatórias e faça uma média.
A execução do procedimento de aumento nos dados de teste não é para torná-los maiores / mais precisos, mas apenas para fazer com que os dados de entrada do conjunto de testes se assemelhem aos dos dados de entrada do conjunto de treinamento, para que possamos alimentá-los na mesma rede (por exemplo, mesmas dimensões). Nunca consideraríamos que o conjunto de testes é 'melhor' de alguma forma, aplicando um procedimento de aumento. Pelo menos, isso não é algo que eu já vi.
Por outro lado, para o conjunto de treinamento, o objetivo do aumento é reduzir o excesso de ajustes durante o treinamento. E avaliamos a qualidade do aumento executando o modelo treinado em nosso conjunto de teste / validação mais ou menos fixo.
fonte
Normalmente, o aumento de dados para o treinamento de redes neurais convolucionais é feito apenas no conjunto de treinamento. Não sei ao certo qual benefício aumentaria os dados de teste, pois o valor dos dados de teste é principalmente para seleção e avaliação de modelos e você está adicionando ruído à sua medição dessas quantidades.
fonte
Complementando as respostas, deixe-me adicionar meus 2 centavos em relação ao aumento de dados em tempo de teste.
O aumento de dados também pode ser realizado durante o tempo de teste com o objetivo de reduzir a variação. Isso pode ser realizado calculando a média das previsões de versões modificadas da imagem de entrada.
É uma prática muito comum aplicar o aumento do tempo de teste. AlexNet e ResNet fazem isso com a técnica de 10 cortes (pegando manchas nos quatro cantos e no centro da imagem original e também espelhando-as). O início vai além e gera 144 patches em vez de apenas 10. Se você verificar o Kaggle e outras competições, a maioria dos vencedores também aplicará o aumento do tempo de teste.
Sou o autor de um artigo sobre aumento de dados ( código ) no qual experimentamos treinamento e teste de aumento para classificação de lesões de pele (uma tarefa com poucos dados). Em alguns casos, o uso de forte aumento de dados apenas no treinamento é marginalmente melhor do que não o aumento de dados, enquanto o uso de treinamento e teste aumenta o desempenho do modelo por uma margem muito significativa.
fonte