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 .ϵ