Qual é o significado do número de filtros de convolução em uma rede convolucional?

16

O que o número de filtros em uma camada de convolução transmite?
Como esse número afeta o desempenho ou a qualidade da arquitetura? Quero dizer, devemos sempre optar por um número maior de filtros? o que é bom deles? e Como as pessoas atribuem diferentes números de filtros para diferentes camadas? Quero dizer, olhando para esta pergunta: como determinar o número de operadores convolucionais na CNN?
A resposta especificou três camadas de convolução com diferentes números de filtros e tamanho. Novamente nesta pergunta: número de mapas de recursos em redes neurais convolucionais você pode ver na imagem que temos 28 * 28 * 6 filtros para a primeira camada e 10 * 10 * 16 para a segunda camada de conv. Como eles apresentam esses números? Isso ocorre por tentativa e erro? desde já, obrigado

Rika
fonte

Respostas:

8

O que o número de filtros em uma camada de convolução transmite? - Geralmente gosto de pensar em filtros como detectores de recursos. Embora dependa do domínio do problema, o significado # dos detectores de recursos intuitivamente é o número de recursos (como arestas, linhas, partes de objetos etc.) que a rede pode potencialmente aprender. Observe também que cada filtro gera um mapa de recursos. Os mapas de recursos permitem que você aprenda os fatores explicativos da imagem; portanto, quanto mais filtros # significa, mais a rede aprende (não necessariamente boa o tempo todo - a saturação e a convergência são mais importantes)

Como esse número afeta o desempenho ou a qualidade da arquitetura? - Acho que você não encontrará uma boa resposta para esse tipo de pergunta, pois ainda estamos tentando formalizar o que está acontecendo dentro da caixa preta do DL. Intuitivamente, mais uma vez, você aprenderá uma função não linear mais robusta quanto mais bancos de filtros tiver, no entanto, o desempenho dependerá do tipo de tarefa e das características dos dados. Você normalmente deseja saber com que tipo de dados está lidando para determinar os # parâmetros em sua arquitetura (incluindo o filtro). De quantos filtros eu preciso? é mais como perguntar quão complexas (especialmente) são as imagens no meu conjunto de dados. Não existe nenhuma noção formal que relacione # filtros ao desempenho. É tudo experimental e iterativo. Muita trilha e erro forsure.

Henok G.
fonte
Boa resposta, acrescentando os pontos acima: CNNs, no entanto, não são mais caixas pretas. Você pode realmente ver os recursos aprendidos pelos mapas de recursos. O número de filtros que você define em uma camada é para permitir que contêineres SUFICIENTES se conectem à rede para aprender recursos relevantes (ou suas combinações). Qual é o número suficiente -> depende do conjunto de dados. Por exemplo, uma rede CNN na camada X precisa de pelo menos 24 mapas de recursos para aprender recursos importantes; portanto, você fornece, digamos, 32, trabalhando com a idéia de dar um espaço à rede e deixá-la decidir por si própria, talvez alguns dentre 32 são redundantes ou ligeiramente variados.
MANU