jueves, 25 de octubre de 2018

REDES NEURONALES


¿Que son las redes neuronales? 


Lo bueno es que “redes neuronales”, de por sí, es un conjunto de palabras bastante descriptivo. Sabemos que, de alguna manera, tiene que estar relacionado con el cerebro, verdad?
Y es que una red neuronal es, en esencia, una simulación o copia de cómo funciona un cerebro típico, en una computadora. Una manera que una computadora pueda aprender, detectar patrones y tomar decisiones en torno a ello, tal y como lo haría un ser humano.
Piensen un momento cómo es que funciona la computadora, smartphone o tablet que estén usando. Estas computadoras son muy capaces a la hora de realizar cálculos, de reorganizar información, de actuar frente a las precisas instrucciones que nosotros les damos. Pero sin una interacción de nuestra parte, si nosotros no le “ordenamos” a la computadora hacer algo, son totalmente inútiles. Nuestro cerebro, por otro lado, funciona de una manera totalmente diferente. Puede que nos tome mucho más tiempo realizar cálculos o reordenar información, pero nuestro cerebro puede razonar , recopilar información recogida por experiencia, y luego asumir o interpretar dicha información para actuar sobre ella.

¿Para que se utiliza?


Las redes neuronales se han utilizado para resolver una amplia variedad de tareas, como la visión por computador y el reconocimiento de voz, que son difíciles de resolver usando la ordinaria programación basado en reglas. Históricamente, el uso de modelos de redes neuronales marcó un cambio de dirección a finales de los años ochenta de alto nivel, que se caracteriza por sistemas expertos con conocimiento incorporado en si-entonces las reglas, a bajo nivel de aprendizaje automático, caracterizado por el conocimiento incorporado en los parámetros de un modelo cognitivo con algún sistema dinámico .

Estructura de las redes neuronales 


Las redes neuronales típicamente están formadas por una serie de capas de neuronas que están unidas entre si mediante sinapsis. Las neuronas artificiales como unidades independientes no son muy eficaces para el tratamiento de la información y se agrupan en estructuras más grandes, las redes de neuronas artificiales o redes neuronales.En este apartado veremos las estructuras más comunes que forman las neuronas para formar redes. Para ello abordare el tema desde dos vistas distintas el número de capas y la forma de interconexión de las capas.

Niveles de Neuronas:
La distribución de neuronas dentro de la red se realiza formando niveles o capas de un número determinado de neuronas cada una. A partir de su situación dentro de la red se pueden distinguir tres tipos de capas:
De entrada: estas capas reciben la información desde el exterior.
De Salida: estas envían la información hacia el exterior
Ocultas: son capas que solo sirven para procesar información y comunicar otras Capas.
Según algunos autores, las capas de entrada y de salida no son validas para producir procesamiento, y son usadas solo como sensores. Tras plantearlo de diferentes modos nuestro marco de trabajo se ha diseñado de manera que puede usarse de las dos maneras, podemos usar las capas de entrada y salida para procesar o simplemente como sensores.

Forma de Conexión de las Capas:
Las neuronas se conectar unas a las otras usando sinapsis.
Si miramos más detenidamente observamos que estas uniones a nivel de capa forman distintas estructuras. Podemos distinguir varias como:

Unión Todos con Todos:
Consiste en unir cada neurona de una capa con todas las neuronas de la otra capa. Este tipo de conexionado es el más usado en las redes neuronales, se usa en todo tipo de uniones desde el Perceptron multicapa a las redes de Hopfield o BAM

Unión Lineal:
Consiste en unir cada neurona con otra neurona de la otra capa. Este tipo de unión se usa menos que el anterior y suele usarse para unir la capa de entrada con la capa procesamiento, si la capa de entrada se usa como sensor. También se usa en algunas redes de aprendizaje competitivo.

Predeterminado:
Este tipo de conexionado aparece en redes que tienen la propiedad de agregar o eliminar neuronas de sus capas y de eliminar también conexiones.

Tipos de redes neuronales 


El Perceptrón simple.

El perceptrón es una red de alimentación directa, esto es la información fluye desde la capa de entrada hacia la capa de salida. Fue desarrollado por F. Rosenblatt hacia final de la década de los cincuenta basándose en la regla de aprendizaje de hebb y de los modelos de neuronas biológicas de McCulloch y Pitts. El Perceptrón es un clasificador, asigna a un vector de N valores un valor binario, usando una transformación no lineal.

la Red de Hopfield.

La red de Hopfield es una de las redes unicapas más importantes y ha influido en el desarrollo de multitud de redes posteriores.
Es una red autoasociativa no lineal que fue desarrollada por Hopfield en 1982 basándose en los modelos de redes de McCulloch y Pitts y los símiles de los campos magnéticos con spin de Amit, Gutfreund, & Sompolinsky.

El Perceptrón Multicapa.

El perceptrón simple tiene una serie de limitaciones muy importantes. La más importante es su incapacidad para clasificar conjuntos que no son linealmente independientes. Esto quedo patente el la obra Perceptrons que en 1969 demostró que un perceptrón es incapaz de aprender una función tan fácil como la XOR. Este modelo es una ampliación del perceptrón a la cual añade una serie de capas que, básicamente, hacen una transformación sobre las variables de entrada, que permiten eludir el problema anterior.

Red Competitiva.

Las redes de aprendizaje competitivo se diferencian de las otras redes neuronales en que en las anteriores redes las neuronas colaboran en la representación de los patrones, sin embargo, en este tipo de redes cada neurona compite con las otras neuronas para representar los patrones. El aprendizaje de este tipo de redes es como su nombre indica, competitivo. Las neuronas compiten en cual representa mejor al patrón y la ganadora se lleva todo el aprendizaje de ese patrón. El objetivo de este tipo de redes es que se formen grupos de patrones, categorías, que son representados por cada neurona.  

Objetivo

El objetivo de la red neuronal es resolver los problemas de la misma manera que el cerebro humano, aunque las redes neuronales son más abstractas. Los proyectos de redes neuronales modernos suelen trabajar desde unos miles a unos pocos millones de unidades neuronales y millones de conexiones que, si bien son muchas órdenes, siguen siendo de una magnitud menos compleja que la del cerebro humano, más bien cercana a la potencia de cálculo de un gusano.
Nuevas investigaciones sobre el cerebro a menudo estimulan la creación de nuevos patrones en las redes neuronales. Un nuevo enfoque está utilizando conexiones que se extienden mucho más allá y capas de procesamiento de enlace en lugar de estar siempre localizado en las neuronas adyacentes. Otra investigación está estudiando los diferentes tipos de señal en el tiempo que los axones se propagan, como el aprendizaje profundo, interpola una mayor complejidad que un conjunto de variables booleanas que son simplemente encendido o apagado.

La crítica

Una crítica común de las redes neuronales, en particular en la robótica, es que requieren una gran diversidad de entrenamiento para el funcionamiento del mundo real. Esto no es sorprendente, ya que cualquier máquina de aprendizaje necesita suficientes ejemplos representativos con el fin de capturar la estructura subyacente que le permite generalizar a nuevos casos. Dean A. Powerless, en su investigación presentada en el documento "Formación basada en el conocimiento de redes neuronales artificiales para la conducción autónoma del robot", utiliza una red neuronal para entrenar a un vehículo robótico para conducir en múltiples tipos de carreteras (de un solo carril, varios carriles, suciedad, etc.). Una gran cantidad de su investigación está dedicada a  la extrapolación de múltiples escenarios de entrenamiento a partir de una sola experiencia de formación, y  la preservación de la diversidad de entrenamiento pasado para que el sistema no se convierta en sobre entrenamiento (si, por ejemplo, se presenta con una serie de giros a la derecha - no debe aprender a girar siempre a la derecha). Estos problemas son comunes en las redes neuronales que debe decidir de entre una amplia variedad de respuestas, pero se pueden tratar de varias maneras, por ejemplo por revolver al azar los ejemplos de entrenamiento, mediante el uso de un algoritmo de optimización numérica que no toma demasiado grandes pasos cuando el cambio de las conexiones de red siguiendo un ejemplo, o mediante la agrupación de ejemplos en los llamados mini-lotes.


13 comentarios:

  1. Muy buena información, está muy completa

    ResponderBorrar
  2. Excelente contenido con toda la información necesaria

    ResponderBorrar
  3. Muy buena información excelente investigación Saludos hija

    ResponderBorrar
  4. Muy buena información, está muy completa, es un tema muy importante y a la vez, muy interesante,que además, le será útil a muchas personas, sin duda, muchas gracias! 💙❤💙🌴

    ResponderBorrar
  5. Muy buena información está muy completa y sirve de mucho sin duda es muy interesante

    ResponderBorrar
  6. Muy buena información ,sirve de mucho

    ResponderBorrar
  7. Excelente información, gracias por compartirla

    ResponderBorrar
  8. Esta super interesante tu informacion.. esta muy bien estructurada .. t felicito.. :)

    ResponderBorrar