He leído la explicación de la convolución y la entiendo hasta cierto punto. ¿Alguien puede ayudarme a entender cómo esta operación se relaciona con la convolución en redes neuronales convolucionales? ¿Es el filtro como una función 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
fuente
fuente
Respuestas:
Usando la notación de la página de wikipedia, la convolución en un CNN será el núcleo del cual aprenderemos algunos pesos para extraer la información que necesitamos y luego quizás aplicar una función de activación.sol
Circunvoluciones discretas
Desde la página de Wikipedia, la convolución se describe como
Por ejemplo, suponiendo que es la función y es la función de convolución ,una F si sol
Para resolver esto, podemos usar la ecuación primero, volteamos la función verticalmente, debido a la que aparece en la ecuación. Luego calcularemos la suma de cada valor de . Al cambiar , la función original no se mueve, sin embargo, la función de convolución se desplaza en consecuencia. Comenzando en ,si - m norte norte n = 0
Como puede ver, eso es exactamente lo que obtenemos en la gráfica . Entonces cambiamos la función sobre la función .c [ n ] b [ n ] a [ n ]
Convolución discreta 2D
Por ejemplo, si tenemos la matriz en verde
con el filtro de convolución
Entonces, la operación resultante es una multiplicación por elementos y la suma de los términos que se muestran a continuación. Al igual que muestra la página de Wikipedia, este núcleo (matriz naranja) se desplaza a través de toda la función (matriz verde) .sol F
tomado del enlace que hace referencia a @Hobbes. Notarás que no hay volteo del kernel como lo hicimos para el cálculo explícito de la convolución anterior. Esto es una cuestión de notación como señala @Media. Esto debería llamarse correlación cruzada. Sin embargo, computacionalmente, esta diferencia no afecta el rendimiento del algoritmo porque el núcleo está siendo entrenado de tal manera que sus pesos son los más adecuados para la operación, por lo que agregar la operación de volteo simplemente haría que el algoritmo aprenda los pesos en diferentes celdas del núcleo para acomodar el flip. Entonces podemos omitir el cambio.sol
fuente
Sí, están relacionados. Como ejemplo, considere el suavizado gaussiano (en.wikipedia.org/wiki/Gaussian_blur), que es una convolución con un núcleo de valores gaussianos. Una CNN aprende los pesos de los filtros (es decir, los núcleos) y, por lo tanto, puede aprender a realizar el suavizado si es necesario.
fuente
Aunque
CNN
significa redes neuronales convolucionales, lo que hacen se denomina correlación cruzada en matemáticas y no convolución. Echa un vistazo aquí .fuente