Matthew D. Zeiler and Rob Fergus
Contexto: Modelos de Redes Neurais Convolucionais grandes (Large Convolutional Network models) têm demonstrado recentemente um desempenho impressionante em tarefas de classificação. Vários fatores são responsáveis por essa melhoria dramática no desempenho;
CONTUDO
Não há uma compreensão clara de por qual motivo esses modelos funcionam tão bem ou como poderiam ser melhorados.
Sem uma compreensão clara de como e por que eles funcionam, o desenvolvimento de modelos melhores se reduz a tentativa e erro.
OBJETIVO DO TRABALHO:
A técnica de visualização que os autores propõe utiliza uma Rede Deconvolucional de múltiplas camadas (deconvnet de Zeiler et al). [29], para projetar as ativações das características de volta para o espaço de pixels de entrada.
O que é? Uma deconvnet é um tipo de rede neural usada para mapear as ativações internas de uma CNN de volta para o espaço da imagem original.
Como funciona? Ela inverte as operações da CNN, como convolução e pooling, para reconstruir quais padrões (pixels ou regiões) na imagem de entrada ativaram um determinado mapa de características em uma camada específica.
Por que é útil? Essa projeção ajuda a identificar quais partes da imagem a rede está realmente “olhando” para aprender padrões ou tomar decisões.
O que é? Uma técnica que consiste em ocultar (ou “ocluir”) partes da imagem de entrada, uma de cada vez, e observar como isso afeta a saída do modelo.
Como funciona? Por exemplo, cobrindo um pedaço da imagem com um bloco preto ou desfocado e medindo a mudança na confiança ou no resultado do classificador.
Por que é útil? Revela quais regiões da imagem são mais relevantes para o modelo ao determinar sua classe ou rótulo. Isso é importante para interpretar e validar a lógica do modelo.
Pooling (na ConvNet): Durante o Max Pooling, cada região da entrada (ex.: 2x2) é reduzida ao valor máximo, registrando a localização desse valor (usando “switches”). Isso reduz a dimensionalidade da entrada, gerando Pooled Maps.
Unpooling (na DeconvNet): O processo de unpooling utiliza os “switches” para reposicionar os valores máximos nas mesmas localizações das regiões originais. Zeros são inseridos nas demais posições, resultando nos Unpooled Maps.
Convolução (ConvNet): Aplicação de filtros para gerar mapas de características (feature maps), seguida pela ativação (como ReLU), resultando em Rectified Feature Maps.
Deconvolução (DeconvNet): A operação inversa aplica filtros para reconstruir os mapas de características iniciais ou aproximar a entrada original. Isso é realizado por convolução transposta (uma operação que aumenta a resolução dos mapas).
A camada de deconvolução trabalha em conjunto com a convolucional para reconstruir características a partir de mapas reduzidos. Isso é alcançado por meio de operações inversas, como unpooling e convolução transposta, utilizando informações armazenadas durante o pooling. A técnica é amplamente usada em visualizações, segmentação e aplicações onde reconstruções detalhadas são críticas.
Entrada: Imagem 224 × 224. Camadas convolucionais (1 a 5): Extraem características progressivamente mais complexas. Dimensões espaciais vão reduzindo devido ao stride e max pooling. Camadas totalmente conectadas (6 e 7): Combinam as características em representações de alta dimensão. Camada softmax (8ª camada): Classifica a imagem em uma das C classes.
Arquitetura semelhante à usada por Krizhevsky et al. para classificação no ImageNet;
Substituição das conexões esparsas nas camadas 3, 4 e 5 por conexões densas (por ser dividido em 2 GPUs);
Foram feitos ajustes nas camadas 1 e 2 com base nas inspeções das visualizações.
Dataset: ImageNet 2012 (1,3 milhão de imagens, espalhadas por 1000 classes diferentes).
Técnica para para aumentar o tamanho do conjunto de treinamento.
Cada imagem RGB foi redimensionada para que a menor dimensão fosse 256 - pixels, com um recorte central de 256x256 pixels.
A média por pixel (calculada em todas as imagens) foi subtraída. Foram usados 10 sub-crops diferentes de 224x224 pixels (cantos e centro, com e sem flips horizontais).
Ao visualizar a primeira e a segunda camadas da arquitetura de Krizhevsky et al. (Fig. 5 (a) e (c)), vários problemas são aparentes. Os filtros da primeira camada são uma mistura de informações de frequência extremamente alta e baixa, com pouca cobertura das frequências médias. Além disso, a visualização da 2ª camada mostra artefatos de aliasing causados pelo grande passo 4 usado nas convoluções da 1ª camada.
Para remediar esses problemas Reduziram o tamanho do filtro da 1ª camada de 11x11 para 7x7. Alteraram o passo da convolução de 4 para 2.
Essa nova arquitetura retém muito mais informações nos recursos da 1ª e 2ª camadas, conforme mostrado na Fig. 5 (b) e (d). Mais importante, também melhora o desempenho da classificação, conforme mostrado na Seção 5.1.
Experimento visa determinar se o modelo se baseia na localização do objeto ou no contexto. Porções da imagem são ocluídas com um quadro cinza e a saída do classificador,os mapas de recursos e as visualizações são monitoradas.
Probabilidade da classe correta cai significativamente quando o objeto é ocluído, indicando que o modelo localiza objetos. A queda na atividade do mapa de recursos quando a região ocluída corresponde à estrutura visualizada confirma que a visualização representa a estrutura da imagem que estimula o mapa.
Embora treinado para classificação, é altamente sensível à estrutura local na imagem e não está apenas usando um contexto de cena amplo.
A replicação da arquitetura de Krizhevsky et al. resulta em uma taxa de erro próxima ao valor relatado (0,1% de diferença). O modelo com as mudanças arquiteturais supera significativamente a arquitetura original, com uma redução de 1,7% no erro de teste top-5. A combinação de múltiplos modelos resulta em um erro de teste de 14,8%, aproximando-se de técnicas de aumento de dados de Howard.
A remoção das camadas totalmente conectadas (6, 7) aumenta ligeiramente o erro, apesar de conterem a maioria dos parâmetros do modelo. Remover duas camadas convolucionais intermediárias causa um impacto relativamente pequeno. Remover as camadas convolucionais intermediárias e as totalmente conectadas resulta em um modelo de 4 camadas com desempenho drasticamente pior, indicando a importância da profundidade do modelo. Ajustar o tamanho das camadas totalmente conectadas no modelo da Figura 3 tem pouco efeito, enquanto aumentar o tamanho das camadas convolucionais intermediárias melhora o desempenho. Aumentar os dois resulta em overfitting.
A capacidade de generalizar para outros conjuntos de dados é avaliada em Caltech-101, Caltech-256 e PASCAL VOC 2012.
As camadas 1-7 do modelo treinado no ImageNet são mantidas fixas, e um novo classificador softmax é treinado com as imagens de treinamento do novo conjunto de dados.
A representação de recursos do modelo é comparada com recursos criados manualmente por outros métodos, ambos treinados apenas com os dados de treinamento Caltech/PASCAL.
Caltech-101: O modelo pré-treinado no ImageNet supera o melhor resultado relatado por Bo et al. por 2,2% com 30 imagens por classe. O modelo treinado do zero tem um desempenho ruim (46,5%), mostrando a dificuldade de treinar uma ConvNet grande em um conjunto de dados pequeno.
Caltech-256:O modelo pré-treinado no ImageNet supera significativamente os resultados de Bo et al., alcançando 74,2% de precisão com 60 imagens de treinamento por classe contra 55,2% do método anterior. O modelo treinado do zero também apresenta desempenho ruim. No regime de “aprendizagem one-shot”, o modelo pré-treinado supera o método líder usando apenas 6 imagens de treinamento Caltech-256 por classe, em contraste com as 60 imagens usadas pelo outro método.
PASCAL 2012: Um softmax de 20 vias é treinado com as imagens de treinamento e validação padrão do PASCAL, usando o modelo pré-treinado no ImageNet. O modelo apresenta desempenho 3,2% inferior ao melhor resultado da competição, possivelmente devido à diferença na natureza das imagens entre PASCAL e ImageNet. Apesar da diferença, o modelo supera os métodos líderes em 5 classes, com margens significativas em alguns casos.
As visualizações propostas pelo estudo revela que as características estão longe de padrões aleatórios e interpretáveis. Em vez disso, eles mostram muitas propriedades intuitivamente desejáveis, como composicionalidade, aumento da invariância e discriminação de classe à medida que subimos nas camadas;
A visualização também se mostra útil para identificar problemas no modelo e melhorar o desempenho, como demonstrado pelas modificações na arquitetura de Krizhevsky et al;
Os experimentos de oclusão comprovam a sensibilidade do modelo à estrutura local, mesmo sendo treinado para classificação;
A profundidade da rede é crucial para o desempenho do modelo, mais importante do que qualquer seção individual;
O modelo treinado no ImageNet generaliza bem para outros conjuntos de dados, com resultados superiores aos métodos de última geração em Caltech-101 e Caltech-256;
A generalização para PASCAL é menor, possivelmente devido a vieses do conjunto de dados, mas ainda dentro de 3,2% do melhor resultado relatado.
Futuras pesquisas: Explorar diferentes funções de perda para detecção de objetos, permitindo múltiplos objetos por imagem.
Aprendizado Profundo - Prof. Pedro - PPGI