Como os kernels são aplicados aos mapas de recursos para produzir outros mapas de recursos?

44

Estou tentando entender a parte da convolução das redes neurais convolucionais. Observando a figura a seguir:

insira a descrição da imagem aqui

Não tenho problemas para entender a primeira camada de convolução, na qual temos 4 núcleos diferentes (de tamanho ), que convolvemos com a imagem de entrada para obter 4 mapas de recursos.k×k

O que não entendo é a próxima camada de convolução, de onde passamos de 4 mapas de recursos para 6 mapas de recursos. Suponho que temos 6 kernels nessa camada (consequentemente fornecendo 6 mapas de recursos de saída), mas como esses kernels funcionam nos 4 mapas de recursos mostrados em C1? Os kernels são tridimensionais ou são bidimensionais e replicados nos 4 mapas de recursos de entrada?

utdiscant
fonte
1
Eu estou preso no mesmo lugar. Infelizmente, o artigo de Yann Lecun-s não explica isso - eu estive revisando vários PDFs e vídeos dos últimos dias e todo mundo parece pular essa parte. O artigo de Yann Lecun fala de 6 a 16 mapas de características com uma tabela de mapeamento na camada 2. O primeiro mapa de características de saída recebe informações de 0,1,2 mapas de características de entrada. Mas esse mapa de recursos de saída é 10 por 10, os 3 mapas de recursos de entrada sendo 14 por 14. Então, como isso funcionou? Você entendeu o que está acontecendo? É um kernel 3D? ou está calculando a média das saídas do local * do kernel (convolução)?
Run2

Respostas:

18

Os núcleos são tridimensionais, onde a largura e a altura podem ser escolhidas, enquanto a profundidade é igual ao número de mapas na camada de entrada - em geral.

Eles certamente não são bidimensionais e replicados nos mapas de recursos de entrada no mesmo local 2D! Isso significaria que um kernel não seria capaz de distinguir entre seus recursos de entrada em um determinado local, pois usaria um e o mesmo peso nos mapas de recursos de entrada!

Angelorf
fonte
5

Não há uma correspondência individual entre camadas e núcleos necessariamente. Isso depende da arquitetura específica. A figura que você postou sugere que nas camadas S2 você tem 6 mapas de recursos, cada um combinando todos os mapas de recursos das camadas anteriores, ou seja, diferentes combinações possíveis dos recursos.

Sem mais referências, não posso dizer muito mais. Veja, por exemplo, este artigo

jpmuc
fonte
Estou olhando para LeNet-5 em particular, e usando este deeplearning.net/tutorial/lenet.html como minha referência. Parece nessa página que os núcleos são tridimensionais, mas não é 100% claro para mim.
utdiscant
2
Você precisa ler este documento ( yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf ). Na página 8, é descrito como as diferentes camadas estão conectadas. Como eu disse, cada camada na camada combina vários recursos da camada anterior no mesmo local.
jpmuc
2
O link está morto.
julho
2

A Tabela 1 e a Seção 2a da "Aprendizagem baseada em gradiente aplicada por Yann LeCun ao reconhecimento de documentos" explica isso bem: http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf Nem todas as regiões da convolução 5x5 são usado para gerar a 2ª camada convolucional.

Travis Desell
fonte
0

Este artigo pode ser útil: Entendendo a convolução na aprendizagem profunda por Tim Dettmers de 26 de março

Realmente não responde à pergunta porque explica apenas a primeira camada de convolução, mas contém uma boa explicação da intuição básica sobre convolução nas CNNs. Também descreve uma definição matemática mais profunda de convolução. Eu acho que está relacionado ao tópico da pergunta.

Anatoly Vasilyev
fonte
1
Bem vindo ao site. Estamos tentando construir um repositório permanente de informações estatísticas de alta qualidade na forma de perguntas e respostas. Portanto, temos receio de respostas somente para links, devido ao linkrot. Você pode postar uma citação completa e um resumo das informações no link, caso elas desapareçam?
gung - Restabelece Monica
@ Gung, obrigado pelo aviso, desculpe por não entender os conceitos. A situação é: este artigo realmente não responde à pergunta, mas quando eu estava procurando por intuição básica sobre as CNNs, encontrei essa pergunta e esperava ajudar com este artigo a alguém que também procurasse por intuição básica e fiz essa pergunta. Ok, melhor excluí-lo, sim? Obrigado.
Anatoly Vasilyev
Eu acho que seria bom dizer: 'este artigo pode servir como alimento para o pensamento, mas não responde completamente à pergunta', ou algo assim. Pode muito bem haver valor aqui. Apenas faça uma citação completa e faça um resumo das informações contidas, caso o link fique inoperante.
gung - Restabelece Monica
Obrigado pela informação extra. Você pode fornecer uma citação completa do artigo (autor, ano, título, periódico, etc.) e um resumo de seu conteúdo?
gung - Restabelece Monica
@gung sim, é claro. Mas parece que este artigo está apenas neste blog, então não consegui encontrar nenhuma outra informação útil sobre ele. Obrigado por esclarecer meu ponto de vista
Anatoly Vasilyev 31/03