Las redes de neuronas artificiales (denominadas
habitualmente como RNA o en inglés como: "ANN" ) son un paradigma de
aprendizaje y procesamiento automático inspirado en la forma en que funciona el
sistema nervioso de los animales. Se trata de un sistema de interconexión de
neuronas en una red que colabora para producir un estímulo de salida. En
inteligencia artificial es frecuente referirse a ellas como redes de neuronas o
redes neuronales.
Propiedades
Una red neuronal se compone de unidades llamadas neuronas.
Cada neurona recibe una serie de entradas a través de interconexiones y emite
una salida. Esta salida viene dada por tres funciones:
1. Una función de propagación (también conocida como función de
excitación), que por lo general consiste en el sumatorio de cada entrada
multiplicada por el peso de su interconexión (valor neto). Si el peso es
positivo, la conexión se denomina excitatoria; si es negativo, se denomina
inhibitoria.
2. Una función de activación, que modifica a la anterior. Puede
no existir, siendo en este caso la salida la misma función de propagación.
3. Una función de transferencia, que se aplica al valor
devuelto por la función de activación. Se utiliza para acotar la salida de la
neurona y generalmente viene dada por la interpretación que queramos darle a
dichas salidas. Algunas de las más utilizadas son la función sigmoidea (para
obtener valores en el intervalo [0,1]) y la tangente hiperbólica (para obtener
valores en el intervalo [-1,1]).
Ventajas
Las redes neuronales artificiales (RNA) tienen muchas
ventajas debido a que están 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 cuál es la
salida (respuesta) esperada.
·
Auto organización: Una RNA crea su propia
representación de la información en su interior, descargando al usuario de
esto.
·
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 (por ejemplo si la información 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 electrónicos especiales, se pueden obtener respuestas en tiempo
real.
Aprendizaje
Una segunda clasificación que se suele hacer es en
función 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:
·
Aprendizaje supervisado: necesitan un conjunto
de datos de entrada previamente clasificado o cuya respuesta objetivo se
conoce. Ejemplos de este tipo de redes son: el perceptrón simple, la red
Adaline, el perceptrón multicapa, red backpropagation, y la memoria asociativa
bidireccional.
·
Aprendizaje no supervisado o autoorganizado: no
necesitan de tal conjunto previo. Ejemplos de este tipo de redes son: las
memorias asociativas, las redes de Hopfield, la máquina de Boltzmann y la
máquina de Cauchy, las redes de aprendizaje competitivo, las redes de Kohonen o
mapas autoorganizados y las redes de resonancia adaptativa (ART).
·
Redes híbridas: son un enfoque mixto en el que
se utiliza una función de mejora para facilitar la convergencia. Un ejemplo de
este último tipo son las redes de base radial.
·
Aprendizaje reforzado: se sitúa a medio camino
entre el supervisado y el autoorganizado.
Aplicaciones
Las características 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 básico
de ejemplos de entrada (previamente clasificados o no). Asimismo, son altamente
robustas tanto al ruido como a la disfunción de elementos concretos y son
fácilmente paralelizables.
Esto incluye 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 (un problema para el que no se conoce solución algorítmica de
complejidad polinómica).
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. En este
tipo de aplicación el genoma del AG lo constituyen los parámetros de la red
(topología, algoritmo de aprendizaje, funciones de activación, etc.) y la
adecuación de la red viene dada por la adecuación del comportamiento exhibido
por el robot controlado (normalmente una simulación de dicho comportamiento).
No hay comentarios:
Publicar un comentario