Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Una red neuronal se compone de unidades llamadas neuronas. Cada neurona recibe una
serie de entradas a travs de interconexiones y emite una salida. Esta salida viene dada
por tres funciones:
1. Una funcin de propagacin (tambin conocida como funcin de excitacin), que
por lo general consiste en el sumatorio de cada entrada multiplicada por el peso
de su interconexin (valor neto). Si el peso es positivo, la conexin se denomina
excitatoria; si es negativo, se denomina inhibitoria.
2. Una funcin de activacin, que modifica a la anterior. Puede no existir, siendo en
este caso la salida la misma funcin de propagacin.
3. Una funcin de transferencia, que se aplica al valor devuelto por la funcin de
activacin. Se utiliza para acotar la salida de la neurona y generalmente viene
dada por la interpretacin que queramos darle a dichas salidas. Algunas de las
ms utilizadas son la funcin sigmoidea (para obtener valores en el intervalo
[0,1]) y la tangente hiperblica (para obtener valores en el intervalo [-1,1]).
2.1.
Estructura
La mayora de los cientficos coinciden en que una RNA es muy diferente en trminos 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
trminos de escala, un cerebro es muchsimo mayor que cualquier RNA creada hasta la
actualidad, y las neuronas artificiales tambin son ms simples que su contrapartida
animal.
Biolgicamente, un cerebro aprende mediante la reorganizacin de las conexiones
sinpticas entre las neuronas que lo componen. De la misma manera, las RNA tienen un
gran nmero de procesadores virtuales interconectados que de forma simplificada
simulan la funcionalidad de las neuronas biolgicas. En esta simulacin, la reorganizacin
de las conexiones sinpticas biolgicas se modela mediante un mecanismo de pesos,
que son ajustados durante la fase de aprendizaje. En una RNA entrenada, el conjunto
de los pesos determina el conocimiento de esa RNA y tiene la propiedad de resolver el
problema para el que la RNA ha sido entrenada.
Por otra parte, en una RNA, adems de los pesos y las conexiones, cada neurona tiene
asociada una funcin matemtica denominada funcin de transferencia. Dicha funcin
genera la seal de salida de la neurona a partir de las seales de entrada. La entrada de
la funcin es la suma de todas las seales de entrada por el peso asociado a la conexin
de entrada de la seal. Algunos ejemplos de entradas son la funcin escaln de
Heaviside, la lineal o mixta, la sigmoide y la funcin gaussiana, recordando que la funcin
de transferencia es la relacin entre la seal de salida y la entrada.
3. VENTAJAS
Las redes neuronales artificiales (RNA) tienen muchas ventajas debido a que estn
basadas en la estructura del sistema nervioso, principalmente el cerebro.
Aprendizaje: Las RNA tienen la habilidad de aprender mediante una etapa que
se llama etapa de aprendizaje. Esta consiste en proporcionar a la RNA datos
como entrada a su vez que se le indica cul es la salida (respuesta) esperada.
Auto organizacin: Una RNA crea su propia representacin de la informacin
en su interior, quitndole esta tarea al usuario.
Tolerancia a fallos: Debido a que una RNA almacena la informacin de forma
redundante, sta puede seguir respondiendo de manera aceptable aun si se daa
parcialmente.
Flexibilidad: Una RNA puede manejar cambios no importantes en la informacin
de entrada, como seales con ruido u otros cambios en la entrada (por ejemplo
si la informacin de entrada es la imagen de un objeto, la respuesta
correspondiente no sufre cambios si la imagen cambia un poco su brillo o el
objeto cambia ligeramente).
Tiempo real: La estructura de una RNA es paralela, por lo cual si esto es
implementado con computadoras o en dispositivos electrnicos especiales, se
pueden obtener respuestas en tiempo real.
Modelos
Perceptrn
Adaline
4.2.
Perceptrn multicapa
Memorias asociativas
Mquina de Boltzmann
Mquina de Cauchy
Propagacin
hacia
(backpropagation)
Redes de Elman
Redes de Hopfield
Red de contrapropagacin
atrs
Topologa
Una primera clasificacin de las redes de neuronas artificiales que se suele hacer es en
funcin del patrn de conexiones que presenta. As se definen tres tipos bsicos de redes:
4.3.
Dos tipos de redes de propagacin hacia delante o acclicas en las que todas
las seales van desde la capa de entrada hacia la salida sin existir ciclos, ni
conexiones entre neuronas de la misma capa de red neuronal y su clasificacin.
o Monocapa. Ejemplos: perceptrn, Adaline.
o Multicapa. Ejemplos: perceptrn multicapa.
Las redes recurrentes que presentan al menos un ciclo cerrado de activacin
neuronal. Ejemplos: Elman, Hopfield, mquina de Boltzmann.
Aprendizaje
Una segunda clasificacin que se suele hacer es en funcin del tipo de aprendizaje de que
es capaz (si necesita o no un conjunto de entrenamiento supervisado). Para cada tipo de
aprendizaje encontramos varios modelos propuestos por diferentes autores:
4.4.
Tipo de entrada
Finalmente tambin se pueden clasificar las RNAs segn sean capaces de procesar
informacin de distinto tipo en:
5. APLICACIONES
Las caractersticas de las RNA las hacen bastante apropiadas para aplicaciones en las que
no se dispone a priori de un modelo identificable que pueda ser programado, pero se
dispone de un conjunto bsico de ejemplos de entrada (previamente clasificados o no).
Asimismo, son altamente robustas tanto al ruido como a la disfuncin de elementos
concretos y son fcilmente paralelizables.
Esto incluye problemas de clasificacin y reconocimiento de patrones de voz, imgenes,
seales, etc. Asimismo se han utilizado para encontrar patrones de fraude econmico, hacer
predicciones en el mercado financiero, hacer predicciones de tiempo atmosfrico, etc.
Tambin se pueden utilizar cuando no existen modelos matemticos precisos o algoritmos
con complejidad razonable, por ejemplo la red de Kohonen ha sido aplicada con un xito
ms que razonable al clsico problema del viajante (un problema para el que no se conoce
solucin algortmica de complejidad polinmica).
Otro tipo especial de redes neuronales artificiales se ha aplicado en conjuncin con los
algoritmos genticos (AG) para crear controladores para robots. La disciplina que trata la
evolucin de redes neuronales mediante algoritmos genticos se denomina Robtica
Evolutiva. En este tipo de aplicacin el genoma del AG lo constituyen los parmetros de la
red (topologa, algoritmo de aprendizaje, funciones de activacin, etc.) y la adecuacin de
la red viene dada por la adecuacin del comportamiento exhibido por el robot controlado
(normalmente una simulacin de dicho comportamiento).
EJEMPLOS
Quake II Neuralbot
Un bot es un programa que simula a un jugador humano. El Neuralbot es un bot para el
juego Quake II que utiliza una red neuronal artificial para decidir su comportamiento y un
algoritmo gentico para el aprendizaje. Es muy fcil probarlo para ver su evolucin. Ms
informacin aqu [1]
Clasificador No Sesgado de Protenas
Es un programa que combina diversas tcnicas computacionales con el objetivo de clasificar
familias de protenas. Un posible mtodo consiste en utilizar mtricas adaptativas como por
ejemplo: mapas autoorganizados y algoritmos genticos.
Las RNA han sido aplicadas a un nmero en aumento de problemas en la vida real y de
considerable complejidad, donde su mayor ventaja es en la solucin de problemas que son
bastante complejos para la tecnologa actual, tratndose de problemas que no tienen una
solucin algortmica o cuya solucin algortmica es demasiado compleja para ser
encontrada.
En general, debido a que son parecidas a las del cerebro humano, las RNA son bien
nombradas ya que son buenas para resolver problemas que el humano puede resolver pero
las computadoras no. Estos problemas incluyen el reconocimiento de patrones y la
prediccin del tiempo. De cualquier forma, el humano tiene capacidad para el
reconocimiento de patrones, pero la capacidad de las redes neuronales no se ve afectada
por la fatiga, condiciones de trabajo, estado emocional, y compensaciones.
Se conocen cinco aplicaciones tecnolgicas extendidas:
1.
2.
3.
4.
5.
6. HERRAMIENTAS DE SOFTWARE
Existen muchas herramientas de software que implementan redes neuronales artificiales,
tanto libres como comerciales como, por ejemplo:
Emergent
FANN
Neural Designer
NeuroIntelligence
Neuroph
NeuroSolutions
Synapse
OpenNN