Convolução 1D em redes neurais

9

Entendo como funciona a convolução, mas não entendo como as convoluções 1D são aplicadas aos dados 2D.

Convolução 2D

Neste exemplo, você pode ver uma convolução 2D em dados 2D. Mas como seria se houvesse uma convolução em 1D? Apenas um kernel 1D deslizando da mesma maneira? E se o passo fosse 2?

Obrigado!

Gustavo
fonte
11
Basta olhar para a primeira linha de cada matriz.
Piotr Migdal
Você pode me dar um exemplo?
Gustavo
Convoluções 1d não seriam realmente úteis para uma imagem 2d estrita. Imagens sem escala de cinza são 3D tecnicamente, pois possuem três canais de cores.
Ethan
11
@Gustavo Como este: toto-share.com/wp-content/uploads/2011/11/… A menos que você queira dizer convolução 1x1 (no sentido de redes neurais), o que é uma coisa diferente.
Piotr Migdal
Meu problema é com convoluções como: d3kbpzbmcynnmx.cloudfront.net/wp-content/uploads/2015/11/… Existem duas convoluções, uma com o tamanho do kernel 3 e outra com o tamanho 2 ... Mas esses kernel são 1D ou xk ?
675 Gustavo

Respostas:

2

Seja uma sequência de vetores (por exemplo, vetores de palavras). A aplicação de uma camada convolucional é equivalente à aplicação das mesmas matrizes de peso em todos os n gramas, em que é a altura do seu filtro. Por exemplo, se , você pode visualizá-lo da seguinte forma:x1,,xnnn=3

insira a descrição da imagem aqui

Para uma explicação um pouco mais matemática, você pode conferir Ji Young Lee, Franck Dernoncourt. "Classificação sequencial de texto curto com redes neurais recorrentes e convolucionais ". NAACL 2016 . seção 2.1.2:

insira a descrição da imagem aqui

Franck Dernoncourt
fonte
1

As convoluções 1D são usadas em redes convolucionais para amostragem descendente e amostragem ascendente na dimensão do filtro. As redes convolucionais constroem esses mapas de filtro à medida que você percorre a rede; você pode realmente pensar neles como uma terceira dimensão. O caso base usual da dimensão do mapa de filtro é de tamanho 3, já que geralmente temos imagens RGB passando por nossa rede.

Essas convoluções 1D podem ser úteis para amostragem para baixo, executando algumas operações e, em seguida, para amostragem de volta para a mesma dimensão. Isso é bastante útil por razões de desempenho.

Para realmente entender intuitivamente, sugiro a leitura:

Rede em rede - http://arxiv.org/abs/1312.4400

Aprofundando-se com as convoluções - https://www.google.com/url?sa=t&source=web&rct=j&url=http://www.cs.unc.edu/~wliu/papers/GoogLeNet.pdf&ved=0ahUKEwi89oeuxqnLAhXhuIMKHZrTCACEUQQggk=MA rrECNQ72wI3PH1Qw & sig2 = VhjfaMvuskNIDVKhFfNiqQ

Ethan
fonte
4
Parece que você fala sobre convoluções 1x1 (no sentido de redes neurais) em vez de convoluções 1D.
Piotr Migdal
Certo, eu assumi que as redes neurais estavam envolvidas. Me deparei com um link para esta pergunta no / r / MLQuestions no reddit, por isso presumi que fosse relacionado ao ML. Mas, para uma convolução simples, isso não é tão relevante: P.
Ethan