Entendo como funciona a convolução, mas não entendo como as convoluções 1D são aplicadas aos dados 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!
conv-neural-network
Gustavo
fonte
fonte
Respostas:
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,…,xn n n=3
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:
fonte
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
fonte