Li a explicação da convolução e a compreendi até certo ponto. Alguém pode me ajudar a entender como essa operação se relaciona à convolução nas redes neurais convolucionais? O filtro é uma função g
que aplica peso?
machine-learning
neural-network
deep-learning
cnn
convolution
machine-learning
ensemble-modeling
machine-learning
classification
data-mining
clustering
machine-learning
feature-selection
convnet
pandas
graphs
ipython
machine-learning
apache-spark
multiclass-classification
naive-bayes-classifier
multilabel-classification
machine-learning
data-mining
dataset
data-cleaning
data
machine-learning
data-mining
statistics
correlation
machine-learning
data-mining
dataset
data-cleaning
data
beginner
career
python
r
visualization
machine-learning
data-mining
nlp
stanford-nlp
dataset
linear-regression
time-series
correlation
anomaly-detection
ensemble-modeling
data-mining
machine-learning
python
data-mining
recommender-system
machine-learning
cross-validation
model-selection
scoring
prediction
sequential-pattern-mining
categorical-data
python
tensorflow
image-recognition
statistics
machine-learning
data-mining
predictive-modeling
data-cleaning
preprocessing
classification
deep-learning
tensorflow
machine-learning
algorithms
data
keras
categorical-data
reference-request
loss-function
classification
logistic-regression
apache-spark
prediction
naive-bayes-classifier
beginner
nlp
word2vec
vector-space-models
scikit-learn
decision-trees
data
programming
Vladimir Lenin
fonte
fonte
Respostas:
Usando a notação da página da Wikipedia, a convolução em uma CNN será o kernelg dos quais aprenderemos alguns pesos para extrair as informações necessárias e, talvez, aplicar uma função de ativação.
Convoluções discretas
Na página da Wikipedia, a convolução é descrita como
Por exemplo, assumindo que é a função e é a função de convolução ,uma f b g
Para resolver isso, podemos usar a equação primeiro, invertemos a função verticalmente, devido ao que aparece na equação. Em seguida, calcularemos o somatório para cada valor de . Ao alterar , a função original não se move, no entanto, a função de convolução é alterada de acordo. Começando em ,b - m n n n = 0
Como você pode ver, é exatamente isso que obtemos no gráfico . Então trocamos a função pela função .c [ n ] b [ n ] a [ n ]
Convolução discreta 2D
Por exemplo, se tivermos a matriz em verde
com o filtro de convolução
A operação resultante é uma multiplicação por elementos e adição dos termos, como mostrado abaixo. Muito parecido com a página da wikipedia, esse kernel (matriz laranja) é deslocado por toda a função (matriz verde) .g f
retirado do link que @Hobbes faz referência. Você notará que não há inversão do kernel como fizemos no cálculo explícito da convolução acima. É uma questão de notação, como a @Media aponta. Isso deve ser chamado de correlação cruzada. No entanto, computacionalmente essa diferença não afeta o desempenho do algoritmo porque o kernel está sendo treinado de forma que seus pesos sejam mais adequados para a operação, portanto, a adição da operação flip simplesmente faria o algoritmo aprender os pesos em diferentes células do kernel para acomodar o flip. Para que possamos omitir o flip.g
fonte
Sim, eles estão relacionados. Como exemplo, considere a suavização gaussiana (en.wikipedia.org/wiki/Gaussian_blur), que é uma convolução com um núcleo de valores gaussianos. Uma CNN aprende os pesos dos filtros (por exemplo, kernels) e, portanto, pode aprender a executar a suavização, se necessário.
fonte
Embora
CNN
signifique redes neurais convolucionais, o que eles fazem é denominado correlação cruzada em matemática e não convolução. Dê uma olhada aqui .fonte