CNN Flashcards
Quais as principais características a convoluçào tem que melhorem a rede convolucional?
- Interações esparsas
Cada neuron da camada de entrada tem conexões locais (chamado de kernel) não são conectadas com todos neurons da próxima camada como em redes tradicionais - Compartilhamento de parâmetros
Os pesos desses kernels são iguais e compartilhados de forma capturar a mesma característica em qualquer lugar da entrada - Equivariância à translação
Segue como consequência do compartilhamento dos pesos. Se um objeto muda de lugar ele ainda será “detectado”
A convolução é naturalmente equivariante a transformações como escala e rotação?
Não, alterações precisam ser feitas para lidar com essas transformações.
Quais os três estágios de uma camada convolucional típica?
- várias convoluções em paralelo nos kernels (estágio da convolução)
- as saídas da convolução são entradas de um função de ativação não-linear como a ReLU (estágio de detecção - detection stage)
- estágio de pooling que modifica a saída da camada convolucional
- 1 max-pooling - maior valor de saída
- 2 average pooling - média dos valores de saídas.
O que é pooling? Quais formas mais comuns de se realizar polling?
A função pooling substitui a saída da rede em uma certa localização com o resumo estatístico de saídas próximas.
-> tecnica de sub-amostragem após uma operação de convolução sobre uma imagem.
max pooling-> reporta a máxima saída dentro de uma viznhança retangular
average pooling -> média sobre uma vizinhança retangular.
Como pooling se relaciona a invariância a translação?
pooling ajuda a fazer a representação se tornar aproximadamente invariante a pequenas translações da entrada.
De onde vem a inspiração dos operadores convolucionais?
Inspiração no campo de receptores
Os operadores convolucionais foram inspirados na forma como os sensores
visuais cerebrais de mamíferos operam, usando campos de receptores.
Explique o que é o hiperparâmetro stride de uma rede convolucional.
Stride conhecido como passo de varredura.
Esse representa a distância entre dois campos receptores consecutivos.
É possível definir o stride para cada dimensão de movimento (horizontal e vertical).
Explique o conceito de padding.
É uma tecnica usada para controlar a largura do kernel e o tamanho da saída da camada anterior de forma indepedente.
A idéia principal é manter o tamanho da entrada pela adição de zeros na entrada. Sem isso o tamanho da representação reduz um pixel a menos em cada camada.
Quais os tipos mais comuns de zero-padding?
- no zero-padding (valid convolution)»_space; o tamanho da saída diminui a cada camada. Todos pixel da saída são uma função dos mesmo número de parametros da entrada.
entrada: tamanho m
kernel: k
saída: m-k+1
Para kernels grandes a redução pode ser dramática. Isso reduz o número de camadas convolucionais que podem incluidas. - zero-padding (same convolution )»_space; Uma quantidade adequada de zeros é adicionada para manter o tamanho da saída igual a entrada.
Pode conter quantas camadas convolucionais o hardware suportar.
Problema: pixels da entrada próximo a borda influenciam menos pixels de saída que pixels do centro. fazendo os pixels da borda não representativos. - Full convolution»_space; Uma quantidade adequada de zeros é adicionada para cada pixel para serem visitados k vezes em cada direção.
resultando em uma saída: m+k-1
Isso pode fazer ser difícil aprender um único kernel que faz bem em todas as posições no mapa de características.
Quais as vantagens de uma CNN sobre uma fully connected DNN para classificação de imagem?
- economia de conexões sinápticas (parâmetros treinaveis) quando comparado a rede DNN fully connected. Isso é devido ao compartilhamento de parâmetros em cada filtro local (feature map).
- Invariância a translação (devido também compartilahemento de parâmetros). Em uma rede CNN quando essa aprende um padrão para uma localização essa consegue reconhece-lo em QUALQUER localização da imagem. Uma DNN quando aprende um padrão em uma localização da imagem essa somente conseguirá reconhece-lo naquela localização específica.
No caso de filtros globais, para se detectar o referido objeto sempre que ele estiver presente, independente de sua posição relativa na imagem, é necessário um número muito elevado de filtros globais, supondo inclusive a possibilidade de matching parcial.
CNN requerem um único filtro por objeto a ser detectado e cada filtro local possui um número bem reduzido de conexões sinápticas, quando comparado com filtros globais
O que é invariância a translação? Quais principais características das redes convolucinais ajudam nessa invariância?
Não variar conforme a imagem é transladada.
Invariância a translação é uma propriedade muito útil se nós nos importamos mais sobre se alguma caracteristica é presente na imagem do que exatamente onde essa está.
-> Compartilhamento de parâmetros e pooling.