Primeiro de tudo: eu sei, não há um número geral de tamanho de amostra necessário para treinar uma rede neural. Depende de muitos fatores, como complexidade da tarefa, ruído nos dados e assim por diante. E quanto mais amostras de treinamento eu tiver, melhor será minha rede.
Mas eu estava pensando: é teoricamente possível treinar uma rede neural com menos amostras de treinamento do que pesos, se eu assumir que minha tarefa é "simples" o suficiente? Alguém conhece um exemplo de como isso deu certo? Ou essa rede quase certamente terá um desempenho ruim?
Se considerar, por exemplo, regressão polinomial, não posso ajustar um polinômio de grau 4 (ou seja, com 5 parâmetros livres) em apenas 4 pontos de dados. Existe uma regra semelhante para redes neurais, considerando meu número de pesos como o número de parâmetros livres?
Respostas:
As pessoas fazem isso o tempo todo com grandes redes. Por exemplo, a famosa rede AlexNet possui cerca de 60 milhões de parâmetros, enquanto o ImageNet ILSVRC em que foi originalmente treinado possui apenas 1,2 milhão de imagens.
O motivo pelo qual você não ajusta um polinômio de 5 parâmetros a 4 pontos de dados é que ele sempre pode encontrar uma função que se ajusta exatamente aos seus pontos de dados, mas faz coisas sem sentido em outros lugares. Bem, como foi observado recentemente , o AlexNet e redes similares podem caber em rótulos aleatórios arbitrários aplicados ao ImageNet e simplesmente memorizá-los todos, presumivelmente porque eles têm muito mais parâmetros do que pontos de treinamento. Mas algo sobre os antecedentes da rede combinado com o processo de otimização de descida de gradiente estocástico significa que, na prática, esses modelos ainda podem generalizar bem para novos pontos de dados quando você lhes fornece rótulos reais. Ainda não entendemos realmente por que isso acontece.
fonte
Sistemas subdeterminados só são subdeterminados se você não impuser outras restrições além dos dados. Seguindo o seu exemplo, encaixar um polinômio de 4 graus em 4 pontos de dados significa que você tem um grau de liberdade não restrito pelos dados, o que deixa uma linha (em espaço coeficiente) de soluções igualmente boas. No entanto, você pode usar várias técnicas de regularização para tornar o problema tratável. Por exemplo, ao impor uma penalidade à norma L2 (ou seja, a soma dos quadrados) dos coeficientes, você garante que sempre exista uma solução única com a melhor adequação.
Também existem técnicas de regularização para redes neurais; portanto, a resposta curta para sua pergunta é 'sim, você pode'. De particular interesse é uma técnica chamada "desistência", na qual, para cada atualização dos pesos, você 'descarta' aleatoriamente um determinado subconjunto de nós da rede. Ou seja, para essa iteração específica do algoritmo de aprendizado, você finge que esses nós não existem. Sem desistência, a rede pode aprender representações muito complexas da entrada que dependem de todos os nós trabalhando juntos da maneira certa. É provável que essas representações 'memorizem' os dados de treinamento, em vez de encontrar padrões que generalizem. A desistência garante que a rede não possa usar todos os nós de uma vez para ajustar os dados de treinamento; ele deve ser capaz de representar bem os dados, mesmo quando alguns nós estão ausentes,
Observe também que, ao usar o abandono, os graus de liberdade em um determinado momento durante o treinamento podem ser realmente menores que o número de amostras de treinamento, mesmo que no total você esteja aprendendo mais pesos do que as amostras de treinamento.
fonte