lunes, 25 de mayo de 2015

Marvin Minsky y la computación neuronal



Introducción

Marvin Lee Minsky (Nueva York, 9 de agosto de 1927) es un científico estadounidense. Es considerado uno de los padres de las ciencias de la computación, padre de la inteligencia artificial y cofundador del laboratorio de inteligencia artificial del Instituto Tecnológico de Massachusetts o MIT.

Con el objetivo de la creación de un modelo en el ordenador que iguale o adopte las distintas funciones básicas del cerebro se ha dado la creación de una nueva tecnología llamada Computación Neuronal o también Redes Neuronales Artificiales.

Marvin Lee Minsky

Minsky ha contribuido en el desarrollo de la descripción gráfica simbólica, geometría computacional, representación del conocimiento, semántica computacional, percepción mecánica, aprendizaje simbólico y conexionista.

Minsky fue consejero en la película 2001: Una odisea del espacio y hay referencias a él tanto en la película como en el libro.

Minsky también es responsable de sugerir la trama de "Jurassic Park" a Michael Crichton durante un paseo por la playa de Malibú. En ese punto los dinosaurios fueron concebidos como autómatas.

 

En 1951 creó SNARC (Stochastic Neural Analog Reinforcement Calculator), el primer simulador de redes neuronales.

Escribió el libro “Perceptrones” (con Seymour Papert), que se convirtió en el trabajo fundacional en el análisis de redes neuronales artificiales. Un Perceptron se entiende como la neurona artificial, un algoritmo capaz de generar un criterio para seleccionar un sub-grupo, de un grupo de componentes más grande. 

Su crítica de la investigación poco rigurosa en el campo ha sido indicada como responsable de la desaparición virtual de la investigación académica en redes neuronales artificiales durante los años 70.

Computación Neuronal

En primer lugar, pensemos qué es una neurona. Una neurona está formada por el cuerpo celular y diferentes prolongaciones: el axón, por el que transitan los impulsos nerviosos o potenciales de acción desde el cuerpo celular hacia la siguiente célula, y la/s dendritas, con número y estructura variable según el tipo de neurona, y que transmiten los potenciales de acción desde las neuronas adyacentes hacia el cuerpo celular. Se podría decir que las dendritas son entradas y el axón es la salida.

 

La salida es la suma ponderada de las entradas seguida de una función umbral. Esto puede parecer un diodo: si el potencial de las entradas alcanza un cierto valor, entonces se produce la salida, y sino no. Sin embargo, difiere en ser ponderado. Se refiere a que no todos los valores de las entradas van a tener la misma importancia de cara a decidir si se produce o no la salida.


Computación Neuronal: Redes Neuronales


Las redes de neuronas artificiales (denominadas habitualmente como RNA) son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso natural. Se trata de un sistema de interconexión de neuronas que colaboran entre sí para producir un estímulo de salida.

En las RNA se parte de un conjunto de datos de entrada suficientemente significativo y el objetivo es conseguir que la red aprenda automáticamente las propiedades deseadas. El proceso por el que los parámetros de la red se adecuan a la resolución de cada problema no se denomina genéricamente programación sino que se suele denominar entrenamiento neuronal.

Por ejemplo en una red que se va a aplicar al diagnóstico de imágenes médicas; durante la fase de entrenamiento el sistema recibe imágenes de tejidos que se sabe son cancerígenos y tejidos que se sabe son sanos, así como las respectivas clasificaciones de dichas imágenes. Si el entrenamiento es el adecuado, una vez concluido, el sistema podrá recibir imágenes de tejidos no clasificados y obtener su clasificación sano/no sano con un buen grado de seguridad. Las variables de entrada pueden ser desde los puntos individuales de cada imagen hasta un vector de características de las mismas que se puedan incorporar al sistema.

Una RNA es muy diferente en términos de estructura de un cerebro animal. Al igual que el cerebro, una RNA se compone de un conjunto masivamente paralelo de unidades de proceso muy simples y es en las conexiones entre estas unidades donde reside la inteligencia de la red. Sin embargo, en términos de escala, un cerebro es muchísimo mayor que cualquier RNA creada hasta la actualidad, y las neuronas artificiales también son más simples que su contrapartida animal.







Computación Neuronal: Ventajas

  • Aprendizaje: Las RNA tienen la habilidad de aprender mediante la etapa de aprendizaje.
  • Auto organización: Una RNA crea su propia representación de la información en su interior, quitándole esta tarea al usuario.
  • Tolerancia a fallos: Debido a que una RNA almacena la información de forma redundante, ésta puede seguir respondiendo de manera aceptable aun si se daña parcialmente.
  • Flexibilidad: Una RNA puede manejar cambios no importantes en la información de entrada, como señales con ruido u otros cambios en la entrada.
  • Tiempo real: La estructura de una RNA es paralela, por lo cual si esto es implementado con computadoras o en dispositivos electrónicos especiales, se pueden obtener respuestas en tiempo real.

Computación Neuronal: Aplicaciones

  • Problemas de clasificación y reconocimiento de patrones de voz, imágenes, señales, etc. Asimismo se han utilizado para encontrar patrones de fraude económico, hacer predicciones en el mercado financiero, hacer predicciones de tiempo atmosférico, etc.
  • También se pueden utilizar cuando no existen modelos matemáticos precisos o algoritmos con complejidad razonable, por ejemplo la red de Kohonen ha sido aplicada con un éxito más que razonable al clásico problema del viajante.
  • Otro tipo especial de redes neuronales artificiales se ha aplicado en conjunción con los algoritmos genéticos (AG) para crear controladores para robots. La disciplina que trata la evolución de redes neuronales mediante algoritmos genéticos se denomina Robótica Evolutiva.
  • Quake II Neuralbot: El Neuralbot es un bot para el juego Quake II que utiliza una red neuronal artificial para decidir su comportamiento y un algoritmo genético para el aprendizaje.