J'ai lu l' explication de la convolution et je la comprends dans une certaine mesure. Quelqu'un peut-il m'aider à comprendre comment cette opération est liée à la convolution dans les réseaux neuronaux convolutionnels? Le filtre est-il une fonction g
qui applique du poids?
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 Lénine
la source
la source
Réponses:
En utilisant la notation de la page wikipedia, la convolution dans un CNN va être le noyau dont nous apprendrons quelques poids afin d'extraire les informations dont nous avons besoin et ensuite peut-être d'appliquer une fonction d'activation.g
Convolutions discrètes
À partir de la page wikipedia, la convolution est décrite comme
Par exemple, en supposant est la fonction et est la fonction de convolution ,une F b g
Pour résoudre ce problème, nous pouvons d'abord utiliser l'équation, nous inversons la fonction verticalement, en raison du qui apparaît dans l'équation. Ensuite, nous calculerons la somme pour chaque valeur de . Lors de la modification de , la fonction d'origine ne bouge pas, mais la fonction de convolution est décalée en conséquence. À partir de ,b - m n n n = 0
Comme vous pouvez le voir, c'est exactement ce que nous obtenons sur le graphique . Nous avons donc déplacé la fonction sur la fonction .c [ n ] b [ n ] un [ n ]
Convolution discrète 2D
Par exemple, si nous avons la matrice en vert
avec le filtre à convolution
Ensuite, l'opération résultante est une multiplication par élément et l'addition des termes comme indiqué ci-dessous. Tout comme le montre la page wikipedia, ce noyau (matrice orange) est déplacé sur toute la fonction (matrice verte) .g F
extrait du lien référencé @Hobbes. Vous remarquerez qu'il n'y a pas de retournement du noyau comme nous l'avons fait pour le calcul explicite de la convolution ci-dessus. C'est une question de notation comme le souligne @Media. Cela devrait être appelé corrélation croisée. Cependant, sur le plan du calcul, cette différence n'affecte pas les performances de l'algorithme car le noyau est entraîné de telle sorte que ses pondérations sont les mieux adaptées à l'opération, l'ajout de l'opération de basculement obligerait simplement l'algorithme à apprendre les pondérations dans différentes cellules du noyau pour accueillir le flip. Nous pouvons donc omettre le flip.g
la source
Oui, ils sont liés. Par exemple, considérons le lissage gaussien (en.wikipedia.org/wiki/Gaussian_blur) qui est une convolution avec un noyau de valeurs gaussiennes. Un CNN apprend les poids des filtres (c.-à-d. Les noyaux) et peut ainsi apprendre à effectuer un lissage si nécessaire.
la source
Bien qu'ils soient
CNN
des réseaux de neurones convolutifs, ce qu'ils font est appelé corrélation croisée en mathématiques et non convolution. Jetez un oeil ici .la source