Avaliação da Similaridade Cosseno Afiada na Classificação de Imagens
Um estudo sobre SCS versus camadas convolucionais tradicionais na classificação de imagens.
― 8 min ler
Índice
As camadas de convolução sempre foram as principais ferramentas pra classificar imagens em várias tarefas de visão computacional. Recentemente, um novo método chamado Similaridade Cosinóide Afinada (SCS) foi sugerido como uma alternativa à abordagem tradicional de convolução. Muitos relatos indicam que a SCS pode ser uma forma melhor de detectar características em imagens. No entanto, um estudo completo comparando o desempenho de redes neurais que incluem SCS com aquelas que usam camadas de convolução padrão ainda não foi feito até agora.
O Que Fizemos
No nosso estudo, analisamos como a SCS se comporta em termos de seus parâmetros e se pode ser facilmente trocada por camadas de convolução em diferentes designs de redes neurais testados no dataset CIFAR-10. Descobrimos que, embora a SCS pode não melhorar muito a precisão, ela pode oferecer representações mais claras dos dados. Também observamos que a SCS poderá trazer alguns benefícios na defesa do modelo contra Ataques Adversariais.
Contexto
Por muitos anos, as camadas de convolução foram a base da classificação de imagens em redes neurais. Essas camadas funcionam deslizando pela imagem e calculando quão similar a imagem é a certos padrões ou "kernels". No entanto, alguns especialistas sugeriram que, embora as camadas de convolução se saiam bem em filtrar imagens, elas podem não ser sempre as melhores em detectar características. Há preocupações de que a forma como as camadas de convolução funcionam poderia levar a problemas como aumento da sensibilidade e má generalização.
Em resposta, pesquisadores sugeriram usar a similaridade cosinóide, que mede quão similares são dois sinais, em vez disso. Uma vantagem da similaridade cosinóide é que ela é limitada, o que pode ajudar a reduzir a variabilidade no desempenho do modelo.
Seguindo essa ideia, pesquisadores propuseram uma versão modificada, a Similaridade Cosinóide Afinada, que visa aprimorar a similaridade cosinóide padrão para uma melhor detecção de características. Essa abordagem eleva a pontuação de similaridade a uma certa potência, mantendo a direção original do vetor.
Um estudo de fevereiro de 2020 mostrou que um kernel SCS detecta características com mais precisão do que um kernel de convolução padrão quando testado em um vetor unidimensional. Essa ideia nos levou a investigar se trocar camadas de convolução por SCS resultaria em melhorias na precisão das previsões.
Trabalhos Relacionados
Desde as discussões iniciais sobre SCS, muitos tentaram usá-la em diversos modelos. Resultados iniciais mostraram que usar camadas SCS pode economizar parâmetros, o que é benéfico quando se trabalha com recursos limitados. Por exemplo, um estudo alcançou uma alta precisão de 99% no dataset MNIST usando um modelo baseado em SCS com menos de 1.400 parâmetros. Além disso, redes SCS parecem fornecer pesos interpretáveis e podem funcionar bem sem precisar de normalização de dados.
No dataset CIFAR-10, um modelo usando SCS afirmou 80% de precisão com apenas 25.200 parâmetros. No entanto, tentativas de escalar redes SCS para conjuntos de dados maiores revelaram que geralmente levam mais tempo para treinar do que seus contrapartes baseados em convolução. Isso acontece porque a operação de exponenciação na SCS não funciona bem com as capacidades de processamento paralelo das GPUs.
Alguns estudos descobriram que a SCS não melhora a precisão do modelo quando comparada a arquiteturas existentes. Outros também apontaram que a SCS não requer funções de ativação não lineares, camadas de dropout ou camadas de normalização para ter um desempenho bom. Pesquisadores experimentaram adicionar camadas SCS a várias arquiteturas como ResNet e GANs, mas os resultados foram mistos.
Nossa Abordagem
Para examinar as camadas SCS, usamos dois designs principais de rede para nossos testes: uma rede SCS com 100.000 parâmetros e uma rede ResNet18 com cerca de 11,6 milhões de parâmetros. Também testamos outros modelos baseados em SCS com diferentes contagens de parâmetros pra ver como seu desempenho variava. O dataset CIFAR-10 serviu como nosso benchmark para testes.
Para cada variante de modelo, mudamos as configurações entre usar camadas de convolução ou SCS, MaxPooling ou MaxAbsPooling, e se incorporar funções de ativação não lineares. Treinamos cada modelo por um número especificado de épocas e registramos suas precisões, perdas e tempos de treinamento.
Experimentos Iniciais
Começamos testando as camadas SCS nos modelos. Nossos resultados mostraram que as redes SCS geralmente precisavam de mais tempo pra alcançar sua melhor precisão em comparação com as redes de convolução. Os modelos baseados em SCS alcançaram níveis de precisão semelhantes aos das camadas de convolução, mas sem precisar de funções de ativação não lineares, enquanto as camadas de convolução precisavam dessas funções pra funcionar bem.
Curiosamente, em um dos nossos modelos, descobrimos que usar camadas de convolução padrão com MaxAbsPool levou a uma queda na precisão, mas isso não aconteceu com a arquitetura ResNet18.
Enquanto as redes SCS eram geralmente mais lentas para treinar, elas às vezes se saíam melhor durante a avaliação. Isso indica que a SCS pode oferecer benefícios em certas situações.
Similaridade Cosinóide vs. Similaridade Cosinóide Afinada
Descobrimos que a SCS não parece precisar de funções de ativação como ReLU para ter um desempenho máximo porque a SCS pode agir como sua própria função de ativação. Isso ficou evidente quando comparamos a precisão da similaridade cosinóide não afinada com e sem ReLU, mostrando que a versão afinada oferece resultados melhores.
Interpretabilidade
Normas de Peso ePra entender como a SCS afeta os pesos do modelo, comparamos os pesos das nossas redes baseadas em SCS com os das redes de convolução padrão. Quando treinamos os modelos baseados em SCS, os pesos permaneceram estáveis, enquanto os pesos do modelo de convolução pré-treinado aumentaram significativamente. Essa descoberta implica que os modelos SCS podem tolerar pesos maiores melhor do que os modelos de convolução, o que pode ajudar a melhorar a sensibilidade na detecção de características.
Também analisamos a interpretabilidade de ambos os tipos de modelos através de mapas de saliência, que visualizam como um modelo toma decisões. Nossas descobertas indicaram que os modelos SCS produziam mapas de saliência mais focados em comparação com os mapas dispersos dos modelos de convolução. Isso sugere que a SCS pode ajudar o modelo a se concentrar em áreas críticas da imagem.
Robustez Adversarial
Pra avaliar ainda mais a interpretabilidade e robustez das redes SCS, submetemos elas a ataques adversariais de diferentes intensidades. Nossos resultados mostraram que os modelos baseados em SCS foram mais resistentes a ataques adversariais do que os modelos baseados em convolução.
Experimentos de Seguimento
Nos nossos testes de seguimento, aplicamos os mesmos métodos a quatro modelos SCS adicionais pra verificar se nossas observações iniciais se mantinham verdadeiras. Também exploramos a ideia de usar uma camada alternativa chamada SharpenedSDP, que se comporta de forma semelhante à SCS. Descobrimos que, em diferentes modelos, a SCS consistentemente produziu melhor precisão sem precisar de funções de ativação adicionais.
No geral, os modelos usando SCS mostraram uma habilidade de aprender representações mais claras. Também testamos esses modelos sob condições adversariais novamente, encontrando resultados diferentes dos nossos testes iniciais. Essa inconsistência destaca a necessidade de mais pesquisas sobre os fatores que afetam a robustez das redes SCS.
Discussão e Direções Futuras
A partir do nosso estudo, podemos tirar várias conclusões sobre o desempenho da SCS. Primeiro, a SCS não eleva significativamente os níveis de precisão em comparação com camadas de convolução tradicionais. Segundo, embora os modelos SCS possam levar mais tempo pra treinar, eles frequentemente se beneficiam de tempos de avaliação mais rápidos. Terceiro, a SCS pode operar bem sem normalização ou funções de ativação extras. Quarto, a SCS tende a gerar representações mais claras dos dados aprendidos. Por fim, em alguns casos, a SCS pode levar a redes mais resilientes contra ataques adversariais.
No entanto, essas observações não devem ser vistas como absolutas, já que o desempenho da SCS pode mudar dependendo da arquitetura da rede e de outros componentes. Isso indica que mais trabalho é necessário pra desenvolver melhores práticas de uso da SCS e pra criar novas arquiteturas que possam aproveitar totalmente as vantagens únicas da SCS.
Uma direção promissora para o futuro é aplicar a SCS a modelos de texto existentes, que podem se beneficiar da representação mais clara que ela fornece. Outra área pra explorar é usar a SCS em sistemas de detecção de malware ou modelos transformer projetados para diversas tarefas.
Em conclusão, a SCS mostra potencial como uma alternativa às camadas de convolução tradicionais com suas características únicas e benefícios potenciais.
Título: Exploring the Sharpened Cosine Similarity
Resumo: Convolutional layers have long served as the primary workhorse for image classification. Recently, an alternative to convolution was proposed using the Sharpened Cosine Similarity (SCS), which in theory may serve as a better feature detector. While multiple sources report promising results, there has not been to date a full-scale empirical analysis of neural network performance using these new layers. In our work, we explore SCS's parameter behavior and potential as a drop-in replacement for convolutions in multiple CNN architectures benchmarked on CIFAR-10. We find that while SCS may not yield significant increases in accuracy, it may learn more interpretable representations. We also find that, in some circumstances, SCS may confer a slight increase in adversarial robustness.
Autores: Skyler Wu, Fred Lu, Edward Raff, James Holt
Última atualização: 2023-07-25 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2307.13855
Fonte PDF: https://arxiv.org/pdf/2307.13855
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.