¿Cuáles son las redes neuronales y cómo funcionan?

Si se mantiene al día con noticias de tecnología, que probablemente ha llegado a través del concepto de Redes neuronales (También conocido como redes neuronales).

En 2016, por ejemplo, la red neuronal AlphaGo de Google superó uno de los mejores jugadores de Go profesionales en el mundo en una serie 4-1. YouTube también anunció que estarían utilizando redes neuronales a entender mejor sus vídeos. Docenas de otras historias pueden venir a la mente.YouTube usará redes neuronales para entender realidad VídeosYouTube usará redes neuronales para entender realidad VídeosUna búsqueda en YouTube puede ser frustrante, ya que YouTube no ve los videos de la forma en que una persona hace. Recientemente, Google presenta una patente que podría cambiar eso.Lee mas

Pero, ¿qué es una red neuronal? ¿Como funciona? Y por qué es tan popular en la máquina de aprendizaje?

Un ordenador como un cerebro

neurocientíficos modernos a menudo discuten el cerebro como un tipo de ordenador. Las redes neuronales tienen como objetivo hacer lo contrario: construir un equipo que funciona como un cerebro.

Por supuesto, sólo tenemos un conocimiento superficial de funciones extremadamente complejos del cerebro, sino creando una simulación simplificada de cómo el cerebro procesa los datos, podemos construir un tipo de ordenador que funciona de manera muy diferente de una normal.

Equipo de datos de proceso procesadores en serie ( “para”). Llevan a cabo muchas operaciones en un conjunto de datos, uno a la vez. El procesamiento en paralelo ( “el procesamiento de varios flujos a la vez”) acelera significativamente el equipo con múltiples procesadores en serie.

En la siguiente imagen, el ejemplo de procesamiento en paralelo requiere cinco procesadores diferentes:

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

Una red neuronal artificial (llamado así para distinguirlo de las redes neuronales reales en el cerebro) tiene una estructura fundamentalmente diferente. Es altamente interconectada. 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 sorprendentes. Por ejemplo, las redes neuronales son muy buenos en el reconocimiento de 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 dice al ordenador qué hacer con los datos de entrada para asegurarse de que el ordenador produce la respuesta correcta.

Una respuesta de entrada-salida podría ser tan simple como “cuando se pulsa la tecla A, display‘A` en la pantalla”o tan complicado como la realización de estadísticas complejas. Las redes neuronales, por el contrario, no necesitan el mismo tipo de algoritmos. A través de mecanismos de aprendizaje, pueden diseñar esencialmente sus propios algoritmos que garantizar que funcionen correctamente.4 Máquina algoritmos de aprendizaje que dan forma a su vida4 Máquina algoritmos de aprendizaje que dan forma a su vidaEs posible que no se dan cuenta, pero el aprendizaje de máquina ya está en todas partes, y que puede ejercer un sorprendente grado de influencia sobre su vida. No me creen? Puede que se sorprenda.Lee mas

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

A partir de las neuronas a los nodos

Ahora que hemos sentado las bases para la función de las redes neuronales forma, podemos empezar a ver algunas de las características específicas. La estructura básica de una red neuronal artificial se ve así:

Vídeo: 1.- Redes Neuronales: Fácil y desde cero

arquitectura de red neuronal

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 son nodos de salida.

En términos muy básicos, los nodos de entrada aceptan valores de entrada, que podría 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 en 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). nodos de entrada toman la información que se les da y lo pasan a lo largo de la capa oculta.

Por ejemplo, un nodo de entrada podría enviar una señal ( “fuego”, en la jerga de la neurociencia) si recibe un 1, y permanecer en estado latente si recibe un cero. Cada nodo oculto tiene un umbral: si todas sus entradas sumadas llegan a un cierto valor, se dispara.

De Sinapsis de Conexiones

Cada conexión, el equivalente de una sinapsis anatómica, también se le da un peso específico, que permite a la red para colocar un mayor énfasis en la acción de un nodo específico. He aquí un ejemplo:

peso neto neuronal

Como se puede ver, el peso de la conexión B es mayor que el de la conexión A y C. Digamos nodo oculto 4 sólo se disparará si recibe una entrada total de 2 o superior. Eso significa que si 1 o 3 fuego contra su propia continuación, no se activará 4, pero 1 y 3 junto desencadenaría el nodo. Nodo 2 también podría desencadenar el nodo en su propia a través de la conexión B.

Vamos a tomar el tiempo como un ejemplo práctico. Digamos que el diseño de una red neuronal simple para determinar si debe haber una advertencia de tormenta invernal.

El uso de las conexiones y los pesos anteriores, el nodo 4 sólo se puede disparar si la temperatura es inferior a 0 F y vientos están por encima de 30 millas por hora, o se dispararía si hay más de un 70 por ciento nieve. Temperatura sería alimentada en el nodo 1, vientos a nodo 3, y la probabilidad de la nieve en el nodo 2. Ahora nodo 4 puede tomar todos estos en cuenta al determinar qué señal a enviar a la capa de salida.

Mejor que la simple lógica

Por supuesto, esta función podría simplemente ser promulgada con puertas simples lógica Y / O. Pero las redes neuronales más complejas, como la de abajo, son capaces de operaciones mucho más complejas.

Vídeo: ¿Qué son los Caminos Neuronales y para qué sirven?

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

Salida de la función nodos de la capa de la misma manera que las capas ocultas: nodos de salida de suma del aporte de la capa oculta, y si llegan a un cierto valor, el fuego nodos de salida y envían señales específicas. Al final del proceso, la capa de salida estará enviando un conjunto de señales que indica el resultado de la entrada.

Vídeo: Redes neuronales explicadas a través de un entorno multimedia

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

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

Error de corrección

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

Antes de programadores implementar una red neuronal, que se ejecutan a través de una fase de entrenamiento en el que se recibe un conjunto de entradas con resultados conocidos. Por ejemplo, un programador puede enseñar a una red neuronal para reconocer imágenes. La entrada podría ser una imagen de un coche, y la salida correcta sería la palabra “coche”.Utilizar el teléfono inteligente para identificar cualquier cosa Con CamFindUtilizar el teléfono inteligente para identificar cualquier cosa Con CamFindEsta aplicación realmente puede identificar casi cualquier objeto que lanzar en él. Eso no sólo es fresco, pero tiene un montón de usos prácticos también!Lee mas

El programador proporciona la imagen como entrada y ver lo que sale de los nodos de salida. Si la red responde con “avión”, el programador indica a la computadora que es incorrecta.

La red se realiza ajustes a sus propias conexiones, alterando el peso de los diferentes enlaces entre nodos. Esta acción es guiada por un algoritmo de aprendizaje específico añadido a la red. La red continúa para ajustar pesos de conexión hasta que se proporciona la salida correcta.

Esta es una simplificación, pero las redes neuronales pueden aprender las operaciones de alta complejidad utilizando principios similares.

Mejora continua

Incluso después del entrenamiento, retropropagación continúa - y aquí es donde las redes neuronales se ponen realmente fresca. Ellos continúan aprendiendo a medida que se utilizan, la integración de nueva información y hacer ajustes a los pesos de las distintas conexiones, cada vez más eficaz y eficiente en la tarea 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 están siempre cambiando y mejorando. Y esto puede tener efectos sorprendentes, dando lugar a redes que dan prioridad a las cosas un programador no habría pensado para priorizar.

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

En esta situación, las redes neuronales tienen una entrada y tratar de recrear exactamente en su producción, utilizando propagación hacia atrás para actualizar sus conexiones. Esto puede sonar como un ejercicio inútil, pero de esta forma, las redes aprender a extraer características útiles y generalizar estas características para mejorar sus modelos.

Las cuestiones de Profundidad

Retropropagación es una forma muy efectiva de enseñar a las redes neuronales ... cuando son sólo unas pocas capas de profundidad. Como el número de capas ocultas aumenta, la eficacia de backpropagation disminuye. Este es un problema para las redes de profundidad. El uso de propagación hacia atrás, a menudo son más eficaces que las redes simples.

Los científicos han llegado con una serie de soluciones a este problema, los detalles de los cuales son bastante complicados y más allá del alcance de esta pieza introductoria. Lo que muchas de estas soluciones intento de hacerlo, en términos simples, es reducir la complejidad de la red mediante la formación para “comprimir” los datos.

poda de red neuronal
Crédito de la imagen: Song Han

Para ello, la red aprende a extraer un menor número de identificación de las características de la entrada, llegando a ser más eficientes en sus cálculos. En efecto, la red es hacer generalizaciones y abstracciones, gran parte de la misma manera que los seres humanos aprenden.

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

Aplicaciones de Redes Neuronales

Así redes neuronales simular cómo el cerebro aprende mediante el uso de varias capas de nodos de entrada -, oculta y de salida - y son capaces de aprender tanto en situaciones supervisadas y no supervisadas. redes complejas son capaces de hacer abstracciones y generalizaciones, haciéndolos más eficientes y más capaces de aprender.

¿Qué podemos utilizar estos sistemas para fascinantes?

En teoría, podemos utilizar las redes neuronales para casi cualquier cosa. Y lo que has estado utilizando sin darse cuenta. Son muy comunes en el habla y el reconocimiento visual, por ejemplo, porque pueden aprender a distinguir los rasgos específicos que los sonidos o las imágenes tienen en común.

Así que cuando se pedir a Siri donde la gasolinera más cercana es que su iPhone está poniendo su voz a través de una red neuronal para averiguar lo que está diciendo. Puede haber otra red neural que aprende a predecir el tipo de cosas que es probable que pedir.8 cosas que probablemente no se dio cuenta Siri podía hacer8 cosas que probablemente no se dio cuenta Siri podía hacerSiri se ha convertido en uno de los rasgos distintivos de la iPhone, pero para muchas personas, no siempre es el más útil. Mientras que algo de esto es debido a las limitaciones de reconocimiento de voz, la rareza de usar ...Lee mas

icono de Siri

coches de auto-conducción podrían utilizar redes neuronales para procesar datos visuales, siguiendo con ello las normas de circulación y evitar colisiones. Los robots de todo tipo pueden beneficiarse de las redes neuronales que ayudan a aprender a tareas de manera eficiente completos. Las computadoras pueden aprender a jugar juegos como el ajedrez, Go, y Atari clásicos. Si alguna vez has hablado con un conversacional, hay una posibilidad de que estaba utilizando una red neuronal para ofrecer respuestas adecuadas.

búsqueda en Internet puede beneficiarse mucho de las redes neuronales, como el modelo de procesamiento paralelo de alta eficiencia puede batir a una gran cantidad de datos de forma rápida. Una red neuronal también podría aprender sus hábitos de personalizar sus resultados de búsqueda o predecir lo que va a buscar en un futuro próximo. Este modelo de predicción, obviamente, sería muy valioso para los vendedores (y cualquier otra persona que necesita ser predecir el comportamiento humano complejo).

Reconocimiento de imagen, reconocimiento óptico de caracteres, la predicción de la bolsa, la vía de los hechos, grande de procesamiento de datos, el análisis de los costos médicos, la previsión de ventas, videojuego AI ... las posibilidades son casi infinitas. La capacidad de las redes neuronales para aprender patrones, hacer generalizaciones, y con éxito predecir el comportamiento los hace valiosos en innumerables situaciones.Los 5 mejores herramientas de OCR para extraer texto de ImágenesLos 5 mejores herramientas de OCR para extraer texto de ImágenesCuando se tiene resmas de papel, ¿cómo se consigue todo lo que imprime texto convertido en algo que un programa digital será capaz de reconocer e índice? Mantener un buen software de OCR cerca.Lee mas

El futuro de redes neuronales

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

Sin embargo, las redes neuronales, debido a su similitud (de una manera muy simplificada) en el cerebro humano, son algunos de los más fascinantes. A medida que seguimos para desarrollar y refinar los modelos, no se sabe lo que van a ser capaces de hacer.

¿Sabe usted de cualquier usos interesantes de las redes neuronales? ¿Tiene experiencia con usted mismo? ¿Qué le parece más interesante de esta tecnología? Comparte tu opinión en los comentarios de abajo!

Artículos Relacionados