Qual é a "capacidade" de um modelo de aprendizado de máquina?

15

Estou estudando este tutorial sobre auto-codificadores variacionais de Carl Doersch . Na segunda página, afirma:

Um dos frameworks mais populares é o Autoencoder Variacional [1, 3], o assunto deste tutorial. As suposições deste modelo são fracas e o treinamento é rápido via retropropagação. Os VAEs fazem uma aproximação, mas o erro introduzido por essa aproximação é sem dúvida pequeno, considerando os modelos de alta capacidade . Essas características contribuíram para um rápido aumento de sua popularidade.

Eu li no passado esse tipo de afirmação sobre modelos de alta capacidade , mas não acho nenhuma definição clara para isso. Também encontrei essa pergunta relacionada ao stackoverflow, mas para mim a resposta é muito insatisfatória.

Existe uma definição para a capacidade de um modelo? Você pode medir isso?

Andrés Marafioti
fonte

Respostas:

13

Capacidade é um termo informal. É muito próximo (se não um sinônimo) da complexidade do modelo. É uma maneira de falar sobre quão complicado um padrão ou relacionamento um modelo pode expressar. Você poderia esperar que um modelo com maior capacidade pudesse modelar mais relacionamentos entre mais variáveis ​​do que um modelo com menor capacidade.

Traçando uma analogia a partir da definição coloquial de capacidade, você pode pensar nela como a capacidade de um modelo para aprender com mais e mais dados, até que seja completamente "preenchido" com informações.

Existem várias maneiras de formalizar a capacidade e calcular um valor numérico, mas, de maneira importante, essas são apenas algumas "operacionalizações" possíveis da capacidade (da mesma maneira que, se alguém sugerisse uma fórmula para calcular a beleza, você perceberia que a fórmula é apenas uma interpretação falível da beleza).


A dimensão VC é uma formulação matematicamente rigorosa de capacidade. No entanto, pode haver uma grande lacuna entre a dimensão VC de um modelo e a capacidade real do modelo de ajustar os dados. Mesmo sabendo que a intensidade do VC atrapalha o erro de generalização do modelo, isso geralmente é muito frouxo para ser útil nas redes neurais.

Outra linha de pesquisa ver aqui é usar a norma espectral das matrizes de peso em uma rede neural como uma medida de capacidade. Uma maneira de entender isso é que a norma espectral limita a constante de Lipschitz da rede.

A maneira mais comum de estimar a capacidade de um modelo é contar o número de parâmetros. Quanto mais parâmetros, maior a capacidade em geral. Obviamente, muitas vezes uma rede menor aprende a modelar dados mais complexos melhor do que uma rede maior; portanto, essa medida também está longe de ser perfeita.

Outra maneira de medir a capacidade pode ser treinar seu modelo com rótulos aleatórios ( Neyshabur et al. ) - se sua rede pode lembrar corretamente um monte de entradas juntamente com rótulos aleatórios, isso mostra essencialmente que o modelo tem a capacidade de lembrar de todos aqueles pontos de dados individualmente. Quanto mais pares de entrada / saída puderem ser "aprendidos", maior a capacidade.

Ao adaptar isso a um codificador automático, você pode gerar entradas aleatórias, treinar a rede para reconstruí-las e contar quantas entradas aleatórias você pode reconstruir com sucesso com menos de .ϵ

shimao
fonte
11
Esta é uma resposta melhor que a do stackoverflow, obrigado. Ainda tenho alguns problemas em ver termos vagamente definidos usados ​​como justificativa para outra coisa, mas acho que é assim que o campo está avançando.
Andrés Marafioti 9/11
11
"pode ​​haver uma grande lacuna entre a dimensão VC de um modelo e a capacidade real do modelo". esta é uma afirmação altamente enganadora, porque a "capacidade real" não está definida com precisão. De fato, a dimensão VC é uma boa medida da capacidade de um modelo. Somente porque as redes neurais parecem resolver certos problemas, isso não as torna "altamente capazes". De fato, na maioria das vezes, as pessoas pensam que as redes neurais estão resolvendo um problema, enquanto estão resolvendo um problema muito mais simples e, de fato, geralmente falham catastroficamente (porque foram "inesperadamente" treinadas para resolver um problema mais simples).
nbro 6/02