¿Qué son las redes neuronales y cómo funcionan?

Las redes neuronales son la próxima gran cosa cuando se trata de cálculos pesados ​​y algoritmos inteligentes. Así es como funcionan y por qué son tan sorprendentes.

Las redes neuronales son la próxima gran cosa cuando se trata de cálculos pesados ​​y algoritmos inteligentes.  Así es como funcionan y por qué son tan sorprendentes.
Anuncio

Si te mantienes actualizado con las noticias de tecnología, probablemente te hayas topado con el concepto de redes neuronales (también conocidas como redes neuronales).

En 2016, por ejemplo, la red neuronal AlphaGo de Google venció a uno de los mejores jugadores profesionales de Go en el mundo en una serie de 4-1. YouTube también anunció que usarían redes neuronales para comprender mejor sus videos. YouTube utilizará redes neuronales para entender realmente videos. YouTube usará redes neuronales para entender realmente videos. Buscar en YouTube puede ser frustrante, porque YouTube no ve los videos de la manera en que lo hacen. una persona lo hace Recientemente, Google presenta una patente que podría cambiar eso. Lee mas . Decenas de otras historias pueden venir a la mente.

Pero, ¿qué es exactamente una red neuronal? ¿Como funciona? ¿Y por qué es tan popular en el aprendizaje automático?

Una computadora como un cerebro

Los neurocientíficos modernos a menudo discuten el cerebro como un tipo de computadora. Las redes neuronales pretenden hacer lo contrario: construir una computadora que funcione como un cerebro.

Por supuesto, solo tenemos una comprensión somera de las funciones extremadamente complejas del cerebro, pero al crear una simulación simplificada de cómo el cerebro procesa los datos, podemos construir un tipo de computadora que funcione de manera muy diferente a una estándar.

Los procesadores informáticos procesan datos en serie ("en orden"). Realizan muchas operaciones en un conjunto de datos, uno a la vez. El procesamiento en paralelo ("procesamiento de varias transmisiones a la vez") acelera significativamente la computadora al usar procesadores múltiples en serie.

En la imagen a continuación, el ejemplo de procesamiento paralelo requiere cinco procesadores diferentes:

procesamiento serial vs paralelo
Crédito de la imagen: ExplainThatStuff

Una red neuronal artificial (llamada así para distinguirla de las redes neuronales reales en el cerebro) tiene una estructura fundamentalmente diferente. Está altamente interconectado. Esto le permite procesar datos muy rápidamente, aprender de esos datos y actualizar su propia estructura interna para mejorar el rendimiento.

El alto grado de interconexión, sin embargo, tiene algunos efectos asombrosos. Por ejemplo, las redes neuronales son muy buenas para reconocer patrones oscuros en los datos.

La capacidad de aprender

La capacidad de una red neuronal para aprender es su mayor fortaleza. Con la arquitectura de computación estándar, un programador tiene que desarrollar un algoritmo que le indique a la computadora qué hacer con los datos entrantes para asegurarse de que la computadora emita la respuesta correcta.

Una respuesta de entrada-salida podría ser tan simple como "cuando se presiona la tecla A, se visualiza 'A' en la pantalla" o es tan complicado como realizar estadísticas complejas. Las redes neuronales, por otro lado, no necesitan el mismo tipo de algoritmos. A través de mecanismos de aprendizaje, esencialmente pueden diseñar sus propios algoritmos 4 Algoritmos de aprendizaje automático que dan forma a su vida 4 Algoritmos de aprendizaje automático que dan forma a su vida Puede que no se den cuenta, pero el aprendizaje automático ya está a su alrededor y puede ejercer un sorprendente grado de influencia sobre tu vida No me creas? Te sorprenderías. Lea más para asegurarse de que funcionan correctamente.

Es importante tener en cuenta que, debido a que las redes neuronales son programas de software escritos en máquinas que usan hardware estándar de procesamiento en serie, la tecnología actual aún impone límites. En realidad, construir una versión de hardware de una red neuronal es otro problema por completo.

De neuronas a nodos

Ahora que hemos sentado las bases para el funcionamiento de las redes neuronales, podemos comenzar a analizar algunas de las características específicas. La estructura básica de una red neuronal artificial se ve así:

arquitectura de redes neuronales

Cada uno de los círculos se llama un "nodo" y simula una sola neurona. A la izquierda están los nodos de entrada, en el medio hay nodos ocultos, y a la derecha están los nodos de salida.

En términos muy básicos, los nodos de entrada aceptan valores de entrada, que pueden ser 1 o 0 binarios, parte de un valor de color RGB, el estado de una pieza de ajedrez, o cualquier otra cosa. Estos nodos representan la información que fluye a la red.

Cada nodo de entrada está conectado a un número de nodos ocultos (a veces a cada nodo oculto, a veces a un subconjunto). Los nodos de entrada toman la información que se les da y la pasan a la capa oculta.

Por ejemplo, un nodo de entrada podría enviar una señal ("fuego", en el lenguaje de la neurociencia) si recibe un 1, y permanecer inactivo si recibe un cero. Cada nodo oculto tiene un umbral: si todas sus entradas sumadas alcanzan un cierto valor, se dispara.

De las sinapsis a las conexiones

A cada conexión, el equivalente de una sinapsis anatómica, también se le asigna un peso específico, lo que permite que la red haga mayor hincapié en la acción de un nodo específico. Aquí hay un ejemplo:

peso neto neuronal

Como puede ver, el peso de la conexión B es más alto que el de la conexión A y C. Digamos que el nodo oculto 4 solo se activará si recibe una entrada total de 2 o más. Eso significa que si 1 o 3 disparan por sí solos, 4 no se dispararán, pero 1 y 3 juntos dispararían el nodo. El nodo 2 también podría desencadenar el nodo por sí solo a través de la conexión B.

Tomemos el clima como un ejemplo práctico. Supongamos que diseña una red neuronal simple para determinar si debe haber una advertencia de tormenta invernal.

Usando las conexiones y pesos anteriores, el nodo 4 solo podría disparar si la temperatura es inferior a 0 ° F y los vientos son superiores a 30 MPH, o se dispararía si hay más de un 70 por ciento de probabilidad de nieve. La temperatura se alimentaría al nodo 1, los vientos al nodo 3 y la probabilidad de que la nieve entre al nodo 2. Ahora el nodo 4 puede tener en cuenta todos estos factores al determinar qué señal enviar a la capa de salida.

Mejor que simple lógica

Por supuesto, esta función simplemente podría ejecutarse con puertas lógicas AND / OR simples. Pero las redes neuronales más complejas, como la siguiente, son capaces de operaciones significativamente más complejas.

ejemplo de red neuronal
Crédito de la imagen: redes neuronales y aprendizaje profundo por Michael A. Nielsen

Los nodos de capa de salida funcionan de la misma manera que los de capa oculta: los nodos de salida suman la entrada de la capa oculta y, si alcanzan un cierto valor, los nodos de salida disparan y envían señales específicas. Al final del proceso, la capa de salida enviará un conjunto de señales que indica el resultado de la entrada.

Si bien la red que se muestra arriba es simple, las redes neuronales profundas pueden tener muchas capas ocultas y cientos de nodos.

red neuronal profunda
Crédito de la imagen: redes neuronales y aprendizaje profundo por Michael A. Nielsen

Error de corrección

El proceso, hasta ahora, es relativamente simple. Pero donde las redes neuronales realmente brillan es en el aprendizaje. La mayoría de las redes neuronales usan un proceso llamado retropropagación, que envía señales hacia atrás a través de la red.

Antes de que los programadores desplieguen una red neuronal, la ejecutan a través de una fase de capacitación en la que recibe un conjunto de entradas con resultados conocidos. Por ejemplo, un programador puede enseñarle a una red neuronal a reconocer imágenes. Usar su teléfono inteligente para identificar cualquier cosa con CamFind. Usar su teléfono inteligente para identificar cualquier cosa con CamFind. Esta aplicación realmente puede identificar casi cualquier objeto que le arroje. No solo es genial, ¡también tiene muchos usos prácticos! Lee mas . La entrada podría ser una imagen de un automóvil, y la salida correcta sería la palabra "automóvil".

El programador proporciona la imagen como entrada y ve lo que sale de los nodos de salida. Si la red responde con "avión", el programador le dice a la computadora que es incorrecta.

Luego, la red realiza ajustes en sus propias conexiones, alterando los pesos de diferentes enlaces entre nodos. Esta acción está guiada por un algoritmo de aprendizaje específico agregado a la red. La red continúa ajustando los pesos de conexión hasta que proporciona la salida correcta.

Esto es una simplificación, pero las redes neuronales pueden aprender operaciones altamente complejas usando principios similares.

Mejora continua

Incluso después del entrenamiento, continúa la retropropagación, y aquí es donde las redes neuronales se vuelven realmente geniales. Continúan aprendiendo a medida que se usan, integrando nueva información y haciendo ajustes al peso de diferentes conexiones, volviéndose cada vez más efectivos y eficientes en la tarea para la que fueron diseñados.

Esto podría ser tan simple como el reconocimiento de imágenes o tan complejo como jugar Go.

De esta manera, las redes neuronales siempre cambian y mejoran. Y esto puede tener efectos sorprendentes, lo que resulta en redes que priorizan las cosas que un programador no habría pensado priorizar.

Además del proceso descrito anteriormente, que se llama aprendizaje supervisado, también hay otro método: el aprendizaje no supervisado .

En esta situación, las redes neuronales toman una entrada e intentan recrearla exactamente en su salida, utilizando la retropropagación para actualizar sus conexiones. Esto puede parecer un ejercicio infructuoso, pero de esta manera, las redes aprenden a extraer características útiles y generalizar esas características para mejorar sus modelos.

Problemas de profundidad

Backpropagation es una forma muy efectiva de enseñar redes neuronales ... cuando solo tienen unas pocas capas de profundidad. A medida que aumenta el número de capas ocultas, la eficacia de la propagación inversa disminuye. Este es un problema para redes profundas. Con la retropropagación, a menudo no son más efectivos que las redes simples.

Los científicos han encontrado una serie de soluciones para este problema, cuyos detalles son bastante complicados y están fuera del alcance de esta pieza introductoria. Lo que muchas de estas soluciones intentan hacer, en términos simples, es disminuir la complejidad de la red entrenándola para "comprimir" los datos.

poda neural
Crédito de la imagen: Song Han

Para hacer esto, la red aprende a extraer un número menor de características de identificación de la entrada, llegando a ser más eficiente en sus cálculos. En efecto, la red está haciendo generalizaciones y abstracciones, del mismo modo que los humanos aprenden.

Después de este aprendizaje, la red puede podar nodos y conexiones que considere menos importantes. Esto hace que la red sea más eficiente y el aprendizaje se vuelve más fácil.

Aplicaciones de redes neuronales

Por lo tanto, las redes neuronales simulan cómo aprende el cerebro al usar múltiples capas de nodos (entrada, oculta y salida) y pueden aprender tanto en situaciones supervisadas como no supervisadas. Las redes complejas pueden hacer abstracciones y generalizar, haciéndolas más eficientes y más capaces de aprender.

¿Para qué podemos usar estos fascinantes sistemas?

En teoría, podemos usar redes neuronales para casi cualquier cosa. Y probablemente los has estado usando sin darte cuenta. Son muy comunes en el reconocimiento del habla y la vista, por ejemplo, porque pueden aprender a distinguir rasgos específicos que los sonidos o las imágenes tienen en común.

Así que cuando le preguntas a Siri 8 cosas que probablemente no sabías que Siri podía hacer 8 cosas que probablemente no sabías que Siri podía hacer Siri se ha convertido en una de las características definitorias del iPhone, pero para muchas personas, no siempre es la más útil. Si bien parte de esto se debe a las limitaciones del reconocimiento de voz, la rareza de usar ... Leer más donde está la gasolinera más cercana, su iPhone está poniendo su discurso a través de una red neuronal para descubrir lo que está diciendo. Puede haber otra red neuronal que aprenda a predecir el tipo de cosas que probablemente pedirá.

icono de siri

Los automóviles que conducen automóviles pueden usar redes neuronales para procesar datos visuales, siguiendo así las reglas de la carretera y evitando colisiones. Los robots de todos los tipos se pueden beneficiar de las redes neuronales que los ayudan a aprender a completar tareas de manera eficiente. Las computadoras pueden aprender a jugar juegos como ajedrez, Go y Atari . Si alguna vez ha hablado con un robot de chat, existe la posibilidad de que esté usando una red neuronal para ofrecer respuestas adecuadas.

la búsqueda en Internet puede beneficiarse en gran medida de las redes neuronales, ya que el modelo de procesamiento en paralelo altamente eficiente puede generar una gran cantidad de datos rápidamente. Una red neuronal también podría aprender sus hábitos para personalizar sus resultados de búsqueda o predecir lo que va a buscar en el futuro cercano. Este modelo de predicción obviamente sería muy valioso para los especialistas en marketing (y para cualquier otra persona que necesite predecir el comportamiento humano complejo).

Reconocimiento de imágenes, reconocimiento óptico de caracteres Las 5 mejores herramientas de OCR para extraer texto de imágenes Las 5 mejores herramientas de OCR para extraer texto de imágenes Cuando tienes resmas de papel, ¿cómo logras convertir todo ese texto impreso en algo que será un programa digital? capaz de reconocer e indexar? Mantenga un buen software de OCR cerca. Lea más, predicción bursátil, búsqueda de rutas, procesamiento de big data, análisis de costos médicos, pronóstico de ventas, videojuegos AI ... las posibilidades son casi infinitas. La capacidad de las redes neuronales para aprender patrones, hacer generalizaciones y predecir con éxito el comportamiento los hace valiosos en innumerables situaciones.

El futuro de las redes neuronales

Las redes neuronales han avanzado desde modelos muy simples hasta simulaciones de aprendizaje altamente complejas. Están en nuestros teléfonos, nuestras tabletas y ejecutan muchos de los servicios web que utilizamos. Hay muchos otros sistemas de aprendizaje automático.

Pero las redes neuronales, debido a su similitud (de una manera muy simplificada) con el cerebro humano, son algunas de las más fascinantes. A medida que continuamos desarrollando y perfeccionando modelos, no se sabe de lo que serán capaces.

¿Conoces algún uso interesante de las redes neuronales? ¿Tienes experiencia con ellos? ¿Qué le parece más interesante acerca de esta tecnología? ¡Comparte tus pensamientos en los comentarios a continuación!

In this article