¿Cuál es la teoría detrás de ingresar una imagen en una red neuronal?

Una imagen está compuesta de muchos píxeles. Para la computadora, toda una imagen es una matriz gigante de números: para una imagen en blanco y negro de 256 × 256, la computadora vería una matriz binaria de tamaño 256 x 256 para representar cada píxel como blanco o negro. Para imágenes con color, se pueden representar con valores RGB. El valor RGB puede considerarse como una tupla (R, G, B), donde cada valor está entre [0,255]. Ahora, para una imagen de 256 × 256 colores, tendríamos una matriz de 256x256x3; puede pensar en cada elemento de la matriz como “3 capas de profundidad” para los valores de RBG.

Entonces, esencialmente tenemos una matriz de números. Ahora, esta matriz se puede aplanar en una sola matriz unidimensional. En un sentido típico de aprendizaje automático, esta matriz 1-D ahora representará las “características” de nuestra entrada, y también proporcionará su etiqueta para entrenar nuestra red (para clasificar dígitos MNIST, por ejemplo, proporcionaríamos un vector donde el i-ésimo el valor es 1 si y solo si corresponde a la etiqueta del dígito).

En las redes neuronales convolucionales, podemos hacer algunas cosas interesantes antes de estos pasos de red neuronal y de aplanamiento, por lo general, realizamos pasos de convolución y agrupación máxima en serie. Las convoluciones y la agrupación máxima se pueden expresar fácilmente matemáticamente ya que estamos representando nuestra imagen como una matriz: una convolución simplemente ejecuta una matriz (más pequeña) de números (¡estos números también se aprenden!) Sobre nuestra matriz de imagen más grande, tomando un elemento: sabia multiplicación Una agrupación máxima reduce el tamaño de nuestra matriz al asignar nuestra matriz más grande a una más pequeña basada en el valor más grande en regiones pequeñas. Estas explicaciones son bastante simplificadas, pero deberían darle una buena idea de cómo se manejan las imágenes en el aprendizaje automático / aprendizaje profundo.

Básicamente, una imagen RGB es solo una matriz 3D. El color de cada píxel es una combinación de valores rojo, verde y azul, todos los cuales varían de 0 a 255.

Por ejemplo, una imagen de 256px x 256px estaría representada por una matriz de dimensiones 256x256x3, donde la última dimensión representa las capas roja, verde y azul de la imagen.

Y eso es exactamente lo que se ingresa en una red neuronal. Las redes neuronales de convoluciones se usan comúnmente para hacer reconocimiento de imágenes. Toma una imagen como una matriz 3D para una entrada, y produce un vector de salida, generalmente utilizado para la clasificación de imágenes.

More Interesting

Sin considerar el costo del conjunto de validación, ¿necesito muchos datos para reducir el costo del tren en la Red neuronal profunda?

¿Qué es un modelo de mezcla de Bernoulli?

ANNs: ¿Cómo usan las redes convolucionales el 'compartir peso'?

¿Por qué tantos geeks de datos se unen a compañías web en lugar de resolver problemas de datos a gran escala en biología?

Soy maestra de preescolar pero estoy muy interesado en las máquinas y quiero comenzar un aprendizaje adecuado. ¿Donde debería empezar?

¿Por qué debería uno aprender el aprendizaje automático desde cero en lugar de aprender a usar las bibliotecas disponibles?

¿Cómo impacta la alta dimensionalidad en la efectividad del modelo?

En finanzas cuantitativas, ¿hay alguna analogía entre la optimización de la cartera y el análisis de componentes principales?

¿Cómo es trabajar en el equipo de Machine learning / Data Mining?

¿Cuál es la diferencia entre la red neuronal y la regresión logística?

Cómo poner un programa de IA en un dispositivo

¿Cuáles son algunas técnicas de compresión que usan redes neuronales recurrentes?

¿Alguien tiene experiencia con las patentes de Digital Infuzion en aprendizaje automático y reducción de dimensiones? ¿Qué hace que sus patentes sean especiales?

Mi algoritmo de ML, escrito en Python, está casi completo. Quiero que sea un sitio web. ¿Cuál es la mejor manera de conectar mi script Python a Meteor?

¿El aprendizaje por refuerzo es meta-aprendizaje?