Aumentar o ruído nos dados ajuda a melhorar a capacidade de aprendizado de uma rede? Faz alguma diferença ou depende do problema que está sendo resolvido? Como isso afeta o processo de generalização em geral?
Aumentar o ruído nos dados ajuda a melhorar a capacidade de aprendizado de uma rede? Faz alguma diferença ou depende do problema que está sendo resolvido? Como isso afeta o processo de generalização em geral?
O ruído nos dados, em uma quantidade razoável, pode ajudar a rede a generalizar melhor. Às vezes, tem o efeito oposto. Depende em parte do tipo de ruído ("verdadeiro" vs. artificial).
O FAQ da AI na RNA fornece uma boa visão geral. Excerto:
O ruído nos dados reais nunca é uma coisa boa, pois limita a precisão da generalização que pode ser alcançada, independentemente da extensão do conjunto de treinamento. Por outro lado, a injeção de ruído artificial (tremulação) nas entradas durante o treinamento é uma das várias maneiras de melhorar a generalização de funções suaves quando você tem um pequeno conjunto de treinamento.
Em alguns campos, como na visão computacional, é comum aumentar o tamanho do conjunto de treinamento copiando algumas amostras e adicionando alguns ruídos ou outras transformações.
Normalmente, pensamos nos modelos de aprendizado de máquina como modelando duas partes diferentes dos dados de treinamento - a verdade generalizável subjacente (o sinal) e a aleatoriedade específica para esse conjunto de dados (o ruído).
O encaixe de ambas as partes aumenta a precisão do conjunto de treinamento, mas o ajuste do sinal também aumenta a precisão do conjunto de teste (e o desempenho do mundo real) enquanto o ajuste do ruído diminui ambos. Portanto, usamos coisas como regularização e evasão e técnicas semelhantes para tornar mais difícil ajustar o ruído e ter mais probabilidade de ajustar o sinal.
Apenas aumentar a quantidade de ruído nos dados de treinamento é uma dessas abordagens, mas parece improvável que seja tão útil. Compare o jitter aleatório ao aumento do adversário, por exemplo; o primeiro melhorará lenta e indiretamente a robustez, enquanto o segundo melhorará drasticamente e diretamente.
PS: Já existem algumas respostas muito boas fornecidas aqui, apenas adicionarei a essas respostas na esperança de que alguém ache isso útil:
A introdução de ruído em um conjunto de dados pode realmente ter uma influência positiva em um modelo. De fato, isso pode ser visto como fazendo a mesma coisa que você normalmente faria com regularizadores como a evasão . Alguns dos o exemplo de fazer isso são Zur at.al , Cires¸at.al onde os autores introduziram com sucesso ruído no conjunto de dados para reduzir o excesso de montagem.
O problema é saber quanto barulho é demais. Se você adicionar muito ruído, isso poderá tornar seu conjunto de dados inútil, pois o conjunto de dados resultante pode não conter mais semelhança com o conjunto de dados original, portanto, você também deve estar treinando em um conjunto de dados completamente diferente. Assim, muito barulho pode ser visto como causador de falta de ajuste, assim como taxas de abandono extremamente altas.
Como diz o ditado; mudar o equilíbrio é o tempero da vida :).