Muchas tareas
relacionadas con la inteligencia y el reconocimiento de patrones son
extremadamente dificiles de automatizar, pero parecen ser fácilmente
llevadas a cabo por los animales. Por ejemplo, los animales pueden
reconocer objetos o entender la mayor parte de la información visual
en su entorno. Por tanto, parece lógico pensar que un sistema que
intente llevar a cabo tareas similares se beneficiará enormemente de
entender cómo los animales realizan estas tareas y de simular los
procesos que se llevan a cabo para realizarlas.
Con este
objetivo en mente surge el modelo de la Computación Neuronal,
también conocido como el modelo de las Redes Neuronales
Artificiales. Este modelo esta inspirado en el sistema nervioso,
en especial, en las redes de neuronas que forman este sistema. Una
Red Neuronal Artificial esta formada por elementos con
comportamiento que pretende imitar al de una neurona biológica,
siendo capaces de aprender de la experiencia, generalizar,
permitiendo un buen comportamiento ante pequeñas variaciones y
abstraer, obteniendo la esencia ante un conjunto de entradas. Antes
de comenzar a explicar cómo funciona una red neuronal artificial,
vamos a explicar brevemente como funcionan las neuronas naturales.
![]() |
Esquema de una neurona. Traducido de la creación de BruceBlaus (Licencia CC-BY). Disponible en: http://goo.gl/oL7W32 |
La neurona es
la unidad fundamental del sistema nervioso y, en particular del
cerebro. Se puede ver como una simple unidad de procesamiento. Una
neurona típica esta compuesta de un cuerpo celular, o soma, un axón
de forma tubular y multitud de dendritas, como se muestra en la
figura. El axón es esencialmente un tubo largo que se ramifica en
botones sinápticos que casi tocan a las dendritas de otras neuronas.
Este pequeño hueco que queda entre la dendrita y el axón se llama
sinapsis y es a través del cual se transmite la información. Esta
información se transmite mediante estímulos. Cuando a una neurona
le llegan estímulos de otras neuronas esta combina los estímulos y
si el estímulo resultante es suficientemente fuerte, la neurona
produce un estímulo de salida que envía por su axón.
Nuestro cerebro
esta compuesto por unas 10 billones de estas neuronas
conectadas cada una de estas con, entre 100 y 100000. Es decir, 10
billones de pequeñas unidades procesadoras, muy simples y muy
interconectadas. Esta interconexión, esta red, permite realizar las
tareas tan complejas que caracterizan a los animales y sobre todo, a
los seres humanos. Y es en esta red de pequeñas unidades de
procesamiento en la que se inspira el modelo de las Redes
Neuronales Artificiales.
![]() |
Esquema de un perceptrón. Creación de Mayranna (CC-BY-SA). Disponible en: http://goo.gl/Ocyqy6 |
De esta forma,
una Red Neuronal Artificial, consiste en un conjunto
interconectado de estas unidades de procesamiento, en cuya conexión
radica la utilidad de la red. Normalmente estas redes se organizan en
capas, distinguiéndose:
- La capa de entrada: por donde se presentan los datos a la red.
- La capa de salida: que ofrece la respuesta de la red a una entrada determinada.
- Las capas ocultas: que son las capas intermedias de la red.
![]() |
Esquema genérico de una red neuronal. Traducido de la creación de Kjell Magne Fauske (Licencia CC-BY). Disponible en: http://goo.gl/deLGNC |
Además de la
topología de la red, un factor determinante en la salida de esta son
los pesos de las neuronas artificiales, que fueron comentados
anteriormente. La mayoría de los métodos para el aprendizaje de
estos pesos están relacionados con el análisis de la correlación y
la técnica de descenso de gradiente. Así Hebb, en 1949 propone un
método para modificar los pesos cuando dos nodos conectados están
simultáneamente activados y Frank Rosenblatt, en 1958,
propone un modelo de aprendizaje de estos pesos basado en el método
de descenso de gradiente.
Normalmente, la
red aprende estos pesos a base de ejemplos de entrenamiento,
modificándolos de forma que se aproximen a la función de salida
deseada. Para llevar a cabo este entrenamiento hay, básicamente,
dos mecanismos:
- Supervisado: En el que proveemos a la red con las entradas y salidas deseadas y se modifican los pesos paulatinamente para aproximarse a la función deseada.
- No supervisado: Al que solo proveemos con las entradas y la red se ajusta de forma que entradas similares produzcan salidas similares.
![]() |
Esquema de una red Perceptrón simple. Traducido de la creación de Al456. (Licencia CC-BY-SA) Disponible en: http://goo.gl/yC45ka |
![]() |
Ilustración del método de descenso de gradiente (Dominio Público). Disponible en: goo.gl/VID2PD |
La
red Perceptrón fue
estudiada en profundidad por Marvin Lee Minsky, autor
del libro Perceptrons, e
investigador reconocido en diversos campos de las ciencias
cognitivas, y al el que se le atribuyen invenciones como la primera
Head-mounted Display o SNARC (Stochastic Neural Analog
Reinforcement Calculator) una
red neuronal implementada en hardware. El libro Perceptrons,
llevo a mucha controversia en el
campo de la inteligencia artificial, contribuyendo, según varios
autores, al Invierno de la Ingeligencia Artificial.
En este libro se realizaban una serie de predicciones pesimistas,
basándose en el hecho de que la red Perceptrón
básica no podía implementar la función lógica XOR. Esto es así
debido a que la red Perceptrón básica solo puede trabajar con
problemas para los que las salidas puedan separarse mediante una
línea recta. Se puede ver un ejemplo en la siguiente figura.
![]() |
Gráfica de solución de un problema de separación lineal. Obra derivada de otra de Dominio Público. Disponible en: goo.gl/gp7kFH |
Pero
las salidas de la función XOR no pueden separarse por una linea
recta, como se puede ver en la siguiente figura.
![]() |
Ejemplo de intento de separación de la función XOR. Creación propia. |
Sin
embargo, el rumbo que torno la inteligencia artificial debido a estos
pronósticos resulto erróneo cuando nuevos descubrimientos
demostraron que el libro se equivocaba en algunas de estas
predicciones.
En
la actualidad existen muchos otros ejemplos de redes neuronales que
mejoran la red Perceptrón.
En especial, habría que hablar de las redes neuronales en las que el
aprendizaje se realiza mediante la técnica de backpropagation
introducida en 1974 por Paul Werbos, David E. Rumelhart,
Geoffrey E. Hinton y Ronald J. Williams, que
llevo a un renacimiento en la investigación en redes neuronales.
Esta investigación decayó durante principios del siglo XXI pero se
ha vuelto a poner de moda en la actualidad, gracias a la gran
capacidad de cómputo actual y al uso de las GPUs para aumentar el
rendimiento. Dicho esto, gracias a la investigación en redes
neuronales, estas se han convertido en métodos muy poderosos,
incluso llegando a convertirse su uso en un estándar de facto en
aplicaciones relacionadas con el procesamiento del lenguaje natural,
compresión de imágenes, reconocimiento de caracteres,
reconocimiento de patrones en imágenes, problemas combinatorios,
modelos económicos, y un largo etc. Pero no solo las redes
neuronales son importantes en el campo de la informática. Estas se
han usado también en campos como la neurología y la psicología
para simular partes del cerebro e investigar sobre los mecanismos
internos de este.
Enrique González Rodrigo
Enrique González Rodrigo
Bibliografía:
Kishan Mehrotra, Chilukuri K. Mohan, Sanjay Ranka. Elements of artificial Neural Networks. ISBN: 0-262-13328-8
V.Cheung, K. Cannons. An introduction to Neural Networks.University of Manitoba.
Disponible en: http://www2.econ.iastate.edu/tesfatsi/NeuralNetworks.CheungCannonNotes.pdf
E. Roberts. Neural Networks. Disponible en:
http://cs.stanford.edu/people/eroberts/courses/soco/rojects/neural-networks/index.html
http://cvb.ehu.es/open_course_ware/castellano/tecnicas/ redes_neuro/contenidos/pdf/libro-del-curso.pdf
Colaboradores de Wikipedia. Marvin
Minsky. Wikipedia. Disponible
Wikipedia Contributors. Perceptrons
(book). Disponible en:
No hay comentarios:
Publicar un comentario