Na verdade, acho que a pergunta é um pouco ampla! De qualquer forma.
Noções básicas sobre redes de convolução
O que é aprendido nas ConvNets
tentativas de minimizar a função de custo para categorizar as entradas corretamente nas tarefas de classificação. Todos os parâmetros alterados e filtros aprendidos são para atingir o objetivo mencionado.
Recursos aprendidos em diferentes camadas
Eles tentam reduzir o custo aprendendo recursos de baixo nível, às vezes sem sentido, como linhas horizontais e verticais em suas primeiras camadas e, em seguida, empilhando-os para criar formas abstratas, que geralmente têm significado, nas últimas camadas. Para ilustrar esta fig. 1, que foi usado a partir daqui , pode ser considerado. A entrada é o barramento e o gird mostra as ativações após passar a entrada por diferentes filtros na primeira camada. Como pode ser visto, a moldura vermelha que é a ativação de um filtro, cujos parâmetros foram aprendidos, foi ativada para arestas relativamente horizontais. A moldura azul foi ativada para arestas relativamente verticais. É possível queConvNets
aprenda filtros desconhecidos que são úteis e nós, como, por exemplo, profissionais de visão computacional, não descobrimos que eles podem ser úteis. A melhor parte dessas redes é que elas tentam encontrar filtros apropriados por conta própria e não usam nossos filtros limitados descobertos. Eles aprendem filtros para reduzir a quantidade de função de custo. Como mencionado, esses filtros não são necessariamente conhecidos.
Em camadas mais profundas, os recursos aprendidos nas camadas anteriores se reúnem e criam formas que geralmente têm significado. No presente trabalho foi discutido que essas camadas podem ter ativações que são significativos para nós ou os conceitos que têm significado para nós, como seres humanos, pode ser distribuído entre outras ativações. Na fig. 2 a moldura verde mostra as atividades de um filtro na quinta camada de umConvNet
. Esse filtro se preocupa com os rostos. Suponha que o vermelho se importe com o cabelo. Estes têm significado. Como pode ser visto, existem outras ativações que foram ativadas na posição de faces típicas na entrada, a moldura verde é uma delas; A moldura azul é outro exemplo disso. Por conseguinte, a abstração de formas pode ser aprendida por um filtro ou por vários filtros. Em outras palavras, cada conceito, como face e seus componentes, pode ser distribuído entre os filtros. Nos casos em que os conceitos são distribuídos entre diferentes camadas, se alguém olhar para cada uma delas, elas podem ser sofisticadas. As informações são distribuídas entre eles e para entender que as informações de todos esses filtros e ativações devem ser consideradas, embora possam parecer muito complicadas.
CNNs
não devem ser consideradas caixas pretas. Zeiler et all em este papel incrível ter discutido o desenvolvimento de melhores modelos é reduzida a tentativa e erro , se você não tem a compreensão do que é feito dentro dessas redes. Este artigo tenta visualizar os mapas de recursos no ConvNets
.
Capacidade de lidar com diferentes transformações para generalizar
ConvNets
use pooling
camadas não apenas para reduzir o número de parâmetros, mas também para ser insensível à posição exata de cada recurso. Além disso, o uso deles permite que as camadas aprendam características diferentes, o que significa que as primeiras camadas aprendem características simples de baixo nível, como arestas ou arcos, e as camadas mais profundas aprendem características mais complicadas, como olhos ou sobrancelhas. Max Pooling
por exemplo, tenta investigar se um recurso especial existe ou não em uma região especial. A idéia de pooling
camadas é muito útil, mas é capaz de lidar com a transição entre outras transformações. Embora os filtros em diferentes camadas tentem encontrar padrões diferentes, por exemplo, uma face girada é aprendida usando camadas diferentes das de uma face comum,CNNs
por lá próprio não tem nenhuma camada para lidar com outras transformações. Para ilustrar isso, suponha que você queira aprender faces simples sem nenhuma rotação com uma rede mínima. Nesse caso, seu modelo pode fazer isso perfeitamente. suponha que você seja solicitado a aprender todos os tipos de faces com rotação arbitrária de faces. Nesse caso, seu modelo precisa ser muito maior do que a rede aprendida anteriormente. A razão é que deve haver filtros para aprender essas rotações na entrada. Infelizmente, essas nem todas são transformações. Sua entrada também pode estar distorcida. Esses casos deixaram Max Jaderberg e todos irritados. Eles compuseram este artigo para lidar com esses problemas, a fim de acalmar nossa raiva como deles.
Redes neurais convolucionais funcionam
Finalmente, depois de se referir a esses pontos, eles funcionam porque tentam encontrar padrões nos dados de entrada. Eles os empilham para criar conceitos abstratos pelas camadas de convolução. Eles tentam descobrir se os dados de entrada têm cada um desses conceitos ou não em camadas densas para descobrir a qual classe os dados de entrada pertencem.
Eu adiciono alguns links que são úteis: