Redes neuronales convolucionales: el ejemplo de la revolución en visión por ordenador

de | 1 de junio de 2020 | Conceptos básicos

Descubra cómo las redes neuronales convolucionales ayudan a las máquinas a comprender la información que ven. Básicamente, las máquinas imitan los procesos del cerebro humano. Le llevamos a través de las etapas de desarrollo de estos algoritmos y también mostramos cómo las máquinas aprenden a ver.

La visión por ordenador, o visión artificial, ha sido durante mucho tiempo una de las áreas más difíciles del desarrollo de la inteligencia artificial. En los últimos años, sin embargo, se han hecho grandes progresos en este campo. Entrenar a las máquinas para que sean capaces de interpretar las imágenes y lo que "ven" a través de los sensores de las cámaras es fundamental para muchas aplicaciones. Por ejemplo, los sistemas autónomos como los coches u otros medios de transporte necesitan entender sus Ser capaz de percibir e interpretar el entornopara que se utilicen con seguridad y sensatez. Gracias al desarrollo de las redes neuronales convolucionales, en los últimos años se ha logrado un gran avance.

¿Qué es una red neuronal convolucional?

Una red neuronal convolucional (CNN) es una forma especial de red neuronal. Estas redes están representadas por neuronas artificiales y se utilizan, por ejemplo, en el campo de la inteligencia artificial.
En Redes neuronales artificiales son técnicas de aprendizaje automático inspiradas en los procesos biológicos del cerebro humano. Las neuronas están interconectadas y vinculadas con distintos pesos. El objetivo en el proceso de aprendizaje de una red neuronal es ajustar estos pesos para que el modelo pueda hacer las predicciones más precisas posibles.
La red neuronal convolucional toma su nombre del principio matemático de la convolución. Este procedimiento matemático es especialmente adecuado para el reconocimiento de datos de imagen y audio. La reducción de datos resultante de la convolución aumenta la velocidad de los cálculos. Esto puede acortar el proceso de aprendizaje. Sin embargo, el rendimiento no disminuye por ello.
Las redes neuronales convolucionales son redes multicapa acopladas hacia delante. Con capas adecuadamente conectadas en serie, son capaces de desarrollar una intuición que lleva, por ejemplo, del reconocimiento de detalles (líneas) al reconocimiento de lo abstracto (bordes, formas, objetos). Con cada capa superior, aumenta el nivel de abstracción.

La estructura

Cuando se crea una CNN, se utiliza una gran variedad de grupos de campamentos, uno tras otro.

Capa convolucional

Esta capa aplica varios filtros y los integra en la red neuronal. En el proceso, se coloca una matriz de convolución (kernel) sobre los valores de los píxeles. Los pesos de los kernels tienen dimensiones diferentes. Calculando con los valores de entrada, se pueden extraer distintas características (bordes y rasgos).

Capa de agrupamiento

Esta capa se utiliza para generalizar mejor los datos.
A través de la capa de agrupación (Max Pooling), se reenvían las características más potentes.
Las dimensiones de los datos de entrada, por ejemplo el número de píxeles de las imágenes, determinan cuántas capas de agrupación pueden aplicarse.

Aplanar capa

La capa multidimensional procedente de las convoluciones se convierte en un vector unidimensional.

Capa de abandono

Puede ocurrir que las redes neuronales se limiten demasiado a uno o varios parámetros de entrada. Por este motivo, se puede utilizar el drop out, de forma que determinadas conexiones de los datos de entrada ya no se transmitan. Esto garantiza que la red no dependa demasiado de un valor concreto y encuentre una conexión adecuada independientemente de una conexión específica.

Capa densa

La capa densa también se denomina capa totalmente conectada. Se trata de una capa estándar en la que todas las neuronas están conectadas a todas las entradas y salidas. La clasificación final tiene lugar en la última capa densa.

Algoritmos, velocidad informática y datos

Los tres términos mencionados en el titular son los tres ingredientes que enseñan a las máquinas a ver. La misión de Fei-fei Li, profesora de informática de la Universidad de Stanford, fue decisiva para los enormes avances en el campo de la visión artificial. Quería enseñar a los ordenadores algo que podían hacer niños de tan sólo 3 años. Las máquinas deberían entender el significado de lo que "ven" en las imágenes y también ser capaces de nombrarlo. Visión por ordenador planteaba un problema casi insuperable en el ámbito de la investigación sobre Inteligencia artificial Li empezó afirmando que se necesitan tres ingredientes para enseñar a los ordenadores a ver. Li estableció en primer lugar que son necesarios tres ingredientes para enseñar a los ordenadores a ver:

  1. El correspondiente Algoritmos (Redes neuronales)
  2. Suficiente Velocidad del ordenador
  3. Una gran cantidad de Datos (especialmente Datos etiquetados)

Resultó que, sorprendentemente, el Los datos, el mayor reto. Las redes neuronales existen desde los años cincuenta.

Métodos como la retropropagación existen desde la década de 1980 y Redes neuronales convolucionales desde los años noventa. A mediados de la década de 2000, la potencia de cálculo correspondiente dejó de ser un verdadero problema, aunque aquí influyó un hecho concreto.

Sin embargo, aunque ya existe el bombo y platillo en torno a Grandes datos dio, Durante mucho tiempo, los datos no estaban disponibles en formaque las máquinas pueden aprender realmente de ellos.

Haga clic en el botón de abajo para cargar el contenido de www.ted.com.

Cargar contenido

Descripción: Charla TED de Fei-fei Li en la que habla de los retos del desarrollo de la visión por ordenador.

Datos etiquetados

Los datos etiquetados ayudan a las máquinas a aprender a ver. Para que los algoritmos, como las redes neuronales convolucionales, entender lo que se ve en las imágenes, necesitan datos. Estos son necesarios para el proceso de aprendizaje en el que pueden aprender a comprender estructuras y diferencias. Por ejemplo, los algoritmos necesitan un gran número de imágenes. Por ejemplo, para distinguir perros de gatos en imágenes, necesitan un gran número de imágenes en las que sepan que hay gatos.

Además, necesitan fotos en las que se sepa que hay perros, por ejemplo. Estas "etiquetado Conjuntos de datos". ahora puede compararlas entre sí para identificar las diferencias estructurales entre perros y gatos. El objetivo es entrenar una red que pueda reconocer imágenes de forma autónoma y reconoce la diferencia entre un perro y un gato.

Turco mecánico de Amazon

Amazon's Mechanical Turk es un método de etiquetado de datos. La cuestión era cómo obtener datos etiquetados que pudieran utilizarse para entrenar redes neuronales covolucionales. Un método para etiquetar conjuntos de datos es el servicio de Amazon llamado "Mechanical Turk".

Este nombre se remonta a una máquina llamada "Shaft Turk", de la que se decía que era capaz de ganar a cualquier humano al ajedrez. El truco, sin embargo, consistía en que un enano se sentaba dentro de la máquina y realizaba los movimientos mecánicamente.

Descripción: Grabado en cobre de un "Turco de fuste" por Joseph Racknitz (1789) (Fuente: Wikipedia)

En última instancia, esta idea es también la base de "Mechanical Turk" de Amazon. Tareas como el etiquetado de conjuntos de datos no son realizadas en realidad por máquinas, sino en última instancia por un gran número de personas. A menudo, por ejemplo, son personas de la India las que etiquetan datos a gran escala, como datos de imágenes con la etiqueta "perro" o "gato". También Fei-fei Lis Trabajo basado en la asistencia de miles de personasque añadió etiquetas a millones de imágenes.

Redes poco profundas

A partir de estos datos etiquetados, se podía dar el siguiente paso. El objetivo era encontrar los mejores algoritmos para esta tarea. Los primeros candidatos fueron las llamadas redes poco profundas (Shallow Networks). forma especial de Redes profundas.

Alrededor del año 2000, se produjo otro cambio que tuvo consecuencias trascendentales en el desarrollo de la visión por ordenador. En el marco de un concurso de Nvidia, se descubrió que el Deep Learning podía ser utilizado por la Despliegue de CPU y GPU (chips gráficos) podrían mejorarse entre 100 y 1000 veces.

Este desarrollo concreto fue decisivo para aumentar la potencia de cálculo. AlexNet fue el primer modelo exitoso que intentó hacer precisamente eso. El éxito fue nada menos que un salto cuántico: por primera vez era posible utilizar modelos profundos. Unos años más tarde, el VGG al mejor modelo.

Sin embargo, a pesar de estos éxitos iniciales, el lema era: "Tenemos que profundizar más", una cita de la película "Inception" de Christopher Nolan, en la que de hecho se basó el nombre de "InceptionNet" de Google de 2014.

En 2015, Microsoft también siguió este lema con ResNet y, desde entonces, las máquinas sí han sido mejores que los humanos a la hora de resolver los, por ejemplo, distinguir entre perros y gatos en imágenes, visión artificial.

Detrás del éxito: Redes neuronales convolucionales.

Comprender las imágenes

Las redes neuronales convolucionales permiten a las máquinas comprender imágenes. En pocas palabras, las redes neuronales convolucionales son algoritmos que permiten a las máquinas comprender lo que ven. A Red neuronal artificial (KNN) imita, en pocas palabras, lo que ocurre en el cerebro humano entre las neuronas individuales. Los KNN se basan en una forma de neuronas, es decir, nodos conectados entre sí. De forma análoga a las conexiones neuronales, los KNN se estructuran en un cierto número de "capas".

Descripción: Representación simplificada de una red neuronal artificial de 2 capas. (Fuente: Wikipedia)

La diferencia entre las KNN y las redes neuronales convolucionales es que en estas últimas cierta información se procesa de forma destilada, "plegada". En esta forma destilada, una imagen, tal y como la ven los humanos, recibe un nuevo formularioque sea comprensible para las máquinas. En otras palabras: adquiere más profundidad, o más capas. Al final de este proceso hay un resultado: un Clasificadorque permite a las máquinas reconocer las representaciones en imágenes.

Detección de daños tras catástrofes naturales

La relevancia práctica de las redes neuronales convolucionales puede demostrarse con un sencillo ejemplo. Tras las catástrofes naturales, como los daños por granizo, las aseguradoras se enfrentan a un gran reto. Su Los clientes necesitan ayuda lo antes posiblepero el proceso necesario para detectar los daños es largo.

Con ayuda de la visión por ordenador, esto se puede Resolver el problema con elegancia. En lugar de expertos que tendrían que desplazarse a las regiones afectadas para evaluar los daños, se evalúan fotografías de los mismos.

Con ayuda de las redes neuronales convolucionales, es posible distinguir entre casas con tejados dañados o intactos. De este modo, es posible determinar en poco tiempo si una determinada región está afectada por daños causados por el granizo y en qué medida. De este modo, se pueden Procesado más rápido y se puede prestar la asistencia necesaria con mayor rapidez. Ésta es sólo una de las muchas posibles áreas de aplicación en las que las redes neuronales convolucionales pueden ayudar a proporcionar soluciones de forma rápida y eficaz. Lo que llevó a la revolución de Reconocimiento de imágenes es ahora una función estándar de proyectos de ciencia de datos.

Autor:inside

[EDITORIAL

Nuestro equipo editorial de AT está formado por varios empleados que preparan los correspondientes artículos del blog con el mayor esmero y según su leal saber y entender. Nuestros expertos de los respectivos campos le ofrecen regularmente contribuciones actuales del sector de la ciencia de datos y la IA. Esperamos que disfrute de la lectura.

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *