Redes Neuronales Convolucionales en el reconocimiento de imágenes

Las Redes Neuronales son un subgrupo de la Inteligencia Artificial basado en un sistema de aprendizaje y procesamiento automático inspirado en el funcionamiento del sistema nervioso humano. Más concretamente, pertenecen al subgrupo del Machine Learning, una tecnología basada en crear sistemas que puedan aprender automáticamente, es decir, pueden descubrir patrones complejos enterrados en grandes conjuntos de datos sin la necesidad de interferencia humana.

Las Redes Neuronales se diferencian por topología, dependiendo de las características con las que cuentan: perceptrón monocapa, la más sencilla; perceptrón multicapa, donde se desarrollan capas ocultas y es capaz de eliminar información irrelevante; Red Neuronal recurrente, donde cobra un papel importante la temporalidad y, con ella, se dota a la red neuronal de memoria y, por último, las Redes Neuronales Convolucionales; las más completas.

Cada parte de una Red Neuronal Convolucional está entrenada para realizar una tarea, por lo que el entrenamiento de cada una de las partes se desarrolla de manera individual y se efectúa más rápido. Estas redes se utilizan en especial para el análisis de imágenes.

Redes Neuronales Convolucionales en el reconocimiento de imágenes

Como se puede ver en la imagen, cada neurona se une con sus capas correspondientes, esto es, se especializa en el reconocimiento de determinado punto de la imagen, para así reducir el tiempo de trabajo. Una vez reconocido el apartado correspondiente de cada una de las neuronas, los datos se unen en la capa clasificadora para reconocer la imagen en su totalidad.

De esta manera, si la imagen que se quiere reconocer es de un pájaro, una capa se encargará de reconocer el pico, mientras que otra reconocerá las patas y la siguiente el plumaje o el color. Uniendo todos estos datos, la capa clasificadora deducirá que se trata de, por ejemplo, un canario.

Las Redes Neuronales Convolucionales pueden contar con un número ilimitado de capas, entendiendo que cuantas más capas haya, más información tendrá y el reconocimiento será más preciso.

Estos estudios comenzaron ya en 1973, cuando Fischler y Elschlager explicaron en su artículo The representation and matching of pictorial structures que el cerebro humano utiliza partes críticas de determinada imagen para reconocer el objeto o personas en su totalidad.

Más adelante, en 1999, David G. Lowe reforzó esta idea con al publicación de Object Recognition from Local Scale-Invariant Features, donde explicó que en muchas ocasiones los objetos son muy susceptibles de recibir cambios debido a diferentes ángulos o el tipo de luz con el que se observen; pero que existen características que no varían; y precisamente son estas las que tanto el cerebro humano como cada capa de las Redes Neuronales Convolucionales deben analizar y reconocer.

El reconocimiento de figuras en imágenes, al igual que el procesamiento de lenguaje natural o la clasificación de archivos de sonidos son tareas que puede hacer una humano y, a simple vista, no parecen complicadas, sobre todo si las comparamos con lo que acostumbra a hacer un ordenador, como complejos cálculos matemáticos al instante. Aún así, hasta la llegada del Machine Learning y, en especial, de las Redes Neuronales Convolucionales, una computadora no era capaz de resolver esta necesidad, necesitando una gran cantidad de tiempo y recursos humanos para desempeñar esta tarea.

Como ves, la Inteligencia Artificial en general y las Redes Neuronales en particular tienen un gran número de casos de uso, y muchos de ellos están todavía por descubrir. En Bravent, trabajamos todos los días para estar más cerca de estas aplicaciones. ¿Quieres conocernos?