Pode-se (teoricamente) treinar uma rede neural com menos amostras de treinamento que pesos?

12

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?

Hobbit
fonte
Sim: se os pesos são inicializados aleatoriamente, é teoricamente possível obter uma rede neural perfeitamente treinada, mesmo com zero amostras de treinamento. (Publicar como um comentário, não como resposta, pois eu sei que isso não é realmente o que você está perguntando).
Darren Cook

Respostas:

17

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.

Dougal
fonte
2
+1. Posso acrescentar que, para uma comparação com a regressão polinomial, também consideraria que as amostras são altamente dimensionais. A resolução média da imagem no ImageNet é de cerca de 469x387 pixels; se cortada para 256x256, temos 1,2 milhão de parâmetros de entrada de 65k, altamente correlacionados em cada amostra, fornecendo muito mais informações à rede neural (e especialmente a um NN convolucional). do que no caso de regressão polinomial.
Jjmontes
3
@jjmontes é verdade, mas o principal mistério é que essas redes têm a capacidade de memorizar e generalizar (também). Em outras palavras, eles podem quebrar os dados de treinamento com rótulos aleatórios e ainda assim generalizar bem. Isso não é algo que se vê nos métodos tradicionais de ML.
Amelio Vazquez-Reina
6

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.

Ruben van Bergen
fonte
2
Talvez isso exagere o papel que a regularização explícita desempenha em redes profundas: este documento a que me referi na minha resposta mostra a evasão e outras formas de regularização tendo apenas pequenos efeitos sobre o quanto a rede pode memorizar. Pode ser, no entanto, que sua história básica esteja certa, mas a principal regularização em jogo é a implícita da SGD; tudo isso ainda é um tanto sombrio.
Dougal