1) ¿Las características extraídas usando CNN son invariantes de escala y rotación?
Una característica en sí misma en un CNN no es la escala o la rotación invariante. Para más detalles, ver: Aprendizaje profundo. Ian Goodfellow y Yoshua Bengio y Aaron Courville. 2016: http://egrcc.github.io/docs/dl/deeplearningbook-convnets.pdf ; http://www.deeplearningbook.org/contents/convnets.html :
La convolución no es naturalmente equivalente a algunas otras transformaciones, como los cambios en la escala o la rotación de una imagen. Otros mecanismos son necesarios para manejar este tipo de transformaciones.
Es la capa de agrupación máxima que introduce tales invariantes:
2) ¿Los núcleos que utilizamos para convolucionar con nuestros datos ya están definidos en la literatura? ¿Qué tipo de estos núcleos son? ¿Es diferente para cada aplicación?
Los granos se aprenden durante la fase de capacitación de la ANN.
Franck Dernoncourt
fuente
Creo que hay un par de cosas que te confunden, así que lo primero es lo primero.
Lo anterior es para señales unidimensionales, pero lo mismo puede decirse de las imágenes, que son solo señales bidimensionales. En ese caso, la ecuación se convierte en:
Pictóricamente, esto es lo que está sucediendo:
En cualquier caso, lo que hay que tener en cuenta es que el núcleo , en realidad, aprendió durante el entrenamiento de una Red Neural Profunda (DNN). Un núcleo será con lo que involucrarás tu entrada. El DNN aprenderá el núcleo, de modo que resalte ciertas facetas de la imagen (o imagen anterior), que serán buenas para reducir la pérdida de su objetivo objetivo.
Este es el primer punto crucial que hay que entender: tradicionalmente, las personas han diseñado núcleos, pero en Deep Learning, dejamos que la red decida cuál debería ser el mejor núcleo. Sin embargo, lo que sí especificamos son las dimensiones del núcleo. (Esto se llama hiperparámetro, por ejemplo, 5x5 o 3x3, etc.).
fuente
Muchos autores, incluido Geoffrey Hinton (que propone Capsule net) intentan resolver el problema, pero cualitativamente. Intentamos abordar este problema cuantitativamente. Al hacer que todos los núcleos de convolución sean simétricos (simetría diédrica de orden 8 [Dih4] o de rotación de incremento de 90 grados simétrica, et al) en la CNN, proporcionaríamos una plataforma para el vector de entrada y el vector resultante en cada capa oculta de convolución que se haría girar. sincrónicamente con la misma propiedad simétrica (es decir, Dih4 o rotación de 90 incrementos simétricos, et al). Además, al tener la misma propiedad simétrica para cada filtro (es decir, completamente conectado, pero pesa compartir con el mismo patrón simétrico) en la primera capa plana, el valor resultante en cada nodo sería cuantitativamente idéntico y conduciría al mismo vector de salida CNN también. Lo llamé CNN de transformación idéntica (o TI-CNN-1). Existen otros métodos que también pueden construir CNN idéntico a la transformación utilizando entradas u operaciones simétricas dentro del CNN (TI-CNN-2). Basado en la TI-CNN, se pueden construir una CNNs con rotación idéntica (GRI-CNN) mediante múltiples TI-CNN con el vector de entrada girado en un pequeño ángulo de paso. Además, también se puede construir un CNN compuesto cuantitativamente idéntico combinando múltiples GRI-CNN con varios vectores de entrada transformados.
"Redes neuronales convolucionales invariablemente idénticas e invariantes a través de operadores de elementos simétricos" https://arxiv.org/abs/1806.03636 (junio de 2018)
"Redes neuronales convolucionales invariablemente idénticas e invariantes mediante la combinación de operaciones simétricas o vectores de entrada" https://arxiv.org/abs/1807.11156 (julio de 2018)
"Sistemas de red neuronal convolucional rotacionalmente idénticos e invariables" https://arxiv.org/abs/1808.01280 (agosto de 2018)
fuente
Creo que la agrupación máxima puede reservar invarianzas traslacionales y rotacionales solo para traducciones y rotaciones más pequeñas que el tamaño de la zancada. Si es mayor, no hay invariancia
fuente