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

  • Michael Cain
  • 0
  • 2487
  • 181
Anuncio

Si te mantienes al día con las noticias tecnológicas, probablemente te hayas encontrado con el concepto de Redes neuronales (también conocido como redes neuronales).

En 2016, por ejemplo, la red neuronal AlphaGo de Google venció a uno de los mejores jugadores profesionales de Go del mundo en una serie 4-1. YouTube también anunció que usaría redes neuronales para comprender mejor sus videos. YouTube usará redes neuronales para comprender los videos. YouTube usará redes neuronales para comprender los videos. Buscar en YouTube puede ser frustrante, porque YouTube no ve los videos de la manera que una persona lo hace. Recientemente, Google presenta una patente que podría cambiar eso. . 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 apuntan a hacer lo contrario: construir una computadora que funcione como un cerebro.

Por supuesto, solo tenemos una comprensión superficial 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. Procesamiento en paralelo (“procesando varias transmisiones a la vez”) acelera significativamente la computadora mediante el uso de múltiples procesadores en serie.

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

Crédito de imagen: ExplainThatStuff

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

Sin embargo, el alto grado de interconexión 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 informática estándar, un programador debe 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, muestra 'A' en la pantalla” o tan complicado como realizar estadísticas complejas. Las redes neuronales, por otro lado, no necesitan el mismo tipo de algoritmos. A través de los mecanismos de aprendizaje, pueden diseñar esencialmente 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 Es posible que no se dé cuenta, pero el aprendizaje automático ya lo rodea y puede ejercer un sorprendente grado de influencia. sobre tu vida No me creas Te sorprenderías. que aseguran que funcionen correctamente.

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

De las neuronas a los nodos

Ahora que hemos sentado las bases para el funcionamiento de las redes neuronales, podemos comenzar a ver algunos de los detalles. La estructura básica de una red neuronal artificial se ve así:

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 están los 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 podrían ser un binario 1 o 0, 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 hacia la red..

Cada nodo de entrada está conectado a varios 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 permanece latente 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 a la red poner un énfasis más fuerte en la acción de un nodo específico. Aquí hay un ejemplo:

Como puede ver, el peso de la conexión B es mayor que el de la conexión A y C. Digamos que el nodo oculto 4 solo se disparará si recibe una entrada total de 2 o mayor. Eso significa que si 1 o 3 disparan por su cuenta, entonces 4 no se dispararán, pero 1 y 3 juntos dispararían el nodo. El nodo 2 también podría activar 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 debería haber una advertencia de tormenta invernal.

Usando las conexiones y pesos anteriores, el nodo 4 podría dispararse solo si la temperatura es inferior a 0 F y los vientos están por encima de 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 nieve en el nodo 2. Ahora el nodo 4 puede tener todo esto en cuenta al determinar qué señal enviar a la capa de salida.

Mejor que la lógica simple

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

Crédito de 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 se disparan y envían señales específicas. Al final del proceso, la capa de salida enviará un conjunto de señales que indican 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.

Crédito de 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 utilizan un proceso llamado propagación hacia atrás, que envía señales hacia atrás a través de la red.

Antes de que los programadores implementen 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 8 aplicaciones ingeniosas para identificar cualquier cosa usando la cámara de su teléfono 8 aplicaciones ingeniosas para identificar cualquier cosa usando la cámara de su teléfono Estas aplicaciones de reconocimiento de imágenes le permiten identificar monedas, plantas, productos y mucho más con la cámara de tu teléfono . La entrada podría ser una imagen de un automóvil, y la salida correcta sería la palabra “coche.”

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 incorrecto.

La red luego realiza ajustes a sus propias conexiones, alterando los pesos de los 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 utilizando principios similares..

Mejora continua

Incluso después del entrenamiento, la propagación hacia atrás continúa, 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 a los pesos de las 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 están cambiando y mejorando. Y esto puede tener efectos sorprendentes, resultando en redes que priorizan cosas que un programador no hubiera pensado priorizar.

Además del proceso descrito anteriormente, que se llama aprendizaje supervisado, También hay otro método: aprendizaje sin supervisión.

En esta situación, las redes neuronales toman una entrada e intentan recrearla exactamente en su salida, utilizando la propagación hacia atrás para actualizar sus conexiones. Esto puede sonar como un ejercicio infructuoso, pero de esta manera, las redes aprenden a extraer funciones útiles y a generalizarlas para mejorar sus modelos..

Problemas de profundidad

La retropropagación 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, disminuye la efectividad de la propagación hacia atrás. Este es un problema para las redes profundas. Usando la propagación hacia atrás, a menudo no son más efectivas que las redes simples.

Los científicos han encontrado una serie de soluciones a este problema, cuyos detalles son bastante complicados y están más allá 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 al entrenarla para “comprimir” los datos.

Crédito de imagen: Song Han

Para hacer esto, la red aprende a extraer un número menor de características de identificación de la entrada, y finalmente se vuelve más eficiente en sus cálculos. En efecto, la red está haciendo generalizaciones y abstracciones, de la misma manera 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 mediante el uso de múltiples capas de nodos (entrada, oculto y salida) y son capaces de aprender tanto en situaciones supervisadas como no supervisadas. Las redes complejas pueden hacer abstracciones y generalizarse, haciéndolas más eficientes y más capaces de aprender..

¿Para qué podemos usar estos sistemas fascinantes??

En teoría, podemos usar redes neuronales para casi cualquier cosa. Y probablemente los haya estado usando sin darse cuenta. Son muy comunes en el reconocimiento de voz y visual, por ejemplo, porque pueden aprender a elegir rasgos específicos que los sonidos o las imágenes tienen en común..

Entonces, cuando le pregunta a Siri 8 cosas que probablemente no se dio cuenta de que Siri podría hacer 8 cosas que probablemente no se dio cuenta de que Siri podrí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 algo de esto se debe a las limitaciones del reconocimiento de voz, la rareza de usar ... donde está la estación de servicio más cercana, su iPhone está transmitiendo 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 es probable que pregunte.

Los automóviles autónomos pueden usar redes neuronales para procesar datos visuales, siguiendo así las reglas de la carretera y evitando colisiones. Los robots de todo tipo pueden beneficiarse 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 Clásicos Si alguna vez ha hablado con un chatbot, existe la posibilidad de que esté utilizando una red neuronal para ofrecer respuestas apropiadas.

La búsqueda en Internet puede beneficiarse enormemente de las redes neuronales, ya que el modelo de procesamiento paralelo altamente eficiente puede producir muchos 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 un 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 tiene resmas de papel, ¿cómo puede convertir todo ese texto impreso en algo que será un programa digital? capaz de reconocer e indexar? Mantenga un buen software de OCR cerca. , predicción del mercado de valores, búsqueda de rutas, procesamiento de grandes datos, análisis de costos médicos, pronóstico de ventas, IA de videojuegos ... 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. Existen 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 qué serán capaces..

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




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.