Red Neuronal Artificial
Red Neuronal Artificial
Red Neuronal Artificial
Red neuronal artificial perceptrn simple con n neuronas de entrada, m neuronas en su capa oculta y una neurona de salida.
Las redes de neuronas artificiales (denominadas habitualmente como RNA o en ingls como: "ANN"1 ) son un paradigma de aprendizaje y procesamiento automtico inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de interconexin de neuronas en una red que colabora para producir un estmulo de salida. En inteligencia artificial es frecuente referirse a ellas como redes de neuronas o redes neuronales.
Contenido
[ocultar]
1 Funcionamiento o 1.1 Diseo y programacin de una RNA (red neuronal artificial) o 1.2 Estructura 2 Ventajas 3 Tipologa de las RNA o 3.1 Modelos o 3.2 Topologa o 3.3 Aprendizaje o 3.4 Tipo de entrada 4 Aplicaciones o 4.1 Ejemplos 4.1.1 Quake II Neuralbot
7 Enlaces externos
Funcionamiento
Las redes neuronales consisten en una simulacin de las propiedades observadas en los sistemas neuronales biolgicos a travs de modelos matemticos recreados mediante mecanismos artificiales (como un circuito integrado, un ordenador o un conjunto de vlvulas). El objetivo es conseguir que las mquinas den respuestas similares a las que es capaz de dar el cerebro que se caracterizan por su generalizacin y su robustez.
Perceptrn con 2 entradas. 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]).
datos de entrada suficientemente significativo y el objetivo es conseguir que la red aprenda automticamente las propiedades deseadas. En este sentido, el diseo de la red tiene menos que ver con cuestiones como los flujos de datos y la deteccin de condiciones, y ms que ver con cuestiones tales como la seleccin del modelo de red, la de las variables a incorporar y el preprocesamiento de la informacin que formar el conjunto de entrenamiento. Asimismo, el proceso por el que los parmetros de la red se adecuan a la resolucin de cada problema no se denomina genricamente programacin sino que se suele denominar entrenamiento neuronal. Por ejemplo en una red que se va a aplicar al diagnstico de imgenes mdicas; durante la fase de entrenamiento el sistema recibe imgenes de tejidos que se sabe son cancergenos y tejidos que se sabe son sanos, as como las respectivas clasificaciones de dichas imgenes. Si el entrenamiento es el adecuado, una vez concluido, el sistema podr recibir imgenes de tejidos no clasificados y obtener su clasificacin 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 caractersticas de las mismas que se puedan incorporar al sistema (por ejemplo, procedencia anatmica del tejido de la imagen o la edad del paciente al que se le extrajo la muestra).
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.
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, descargando al usuario de esto. 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.
Perceptrn Adaline Perceptrn multicapa Memorias asociativas Mquina de Boltzmann Mquina de Cauchy Propagacin hacia atrs (backpropagation) Redes de Elman Redes de Hopfield Red de contrapropagacin Redes de neuronas de base radial Redes de neuronas de aprendizaje competitivo Mapas Autoorganizados (RNA) (Redes de Kohonen) Crecimiento dinmico de clulas Gas Neuronal Creciente Redes ART (Adaptative Resonance Theory)
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:
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. 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:
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 perceptrn simple, la red Adaline, el perceptrn 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 mquina de Boltzmann y la mquina de Cauchy, las redes de aprendizaje competitivo, las redes de Kohonen o mapas autoorganizados y las redes de resonancia adaptativa (ART). Redes hbridas: son un enfoque mixto en el que se utiliza una funcin de mejora para facilitar la convergencia. Un ejemplo de este ltimo tipo son las redes de base radial. Aprendizaje reforzado: se sita a medio camino entre el supervisado y el autoorganizado.
Tipo de entrada
Finalmente tambin se pueden clasificar las RNAs segn sean capaces de procesar informacin de distinto tipo en:
Redes analgicas: procesan datos de entrada con valores continuos y, habitualmente, acotados. Ejemplos de este tipo de redes son: Hopfield, Kohonen y las redes de aprendizaje competitivo. Redes discretas: procesan datos de entrada de naturaleza discreta; habitualmente valores lgicos booleanos. Ejemplos de este segundo tipo de redes son: las mquinas de Boltzmann y Cauchy, y la red discreta de Hopfield.
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. El problema de clasificacin no sesgada basada en la expresin de las protenas en Aminocidos puede reducirse, conceptualmente, a lo siguiente:
La identificacin de grupos de protenas que compartan caractersticas comunes. La determinacin de las razones estructurales por las cuales las protenas en cuestin se agrupan de la manera indicada.
Evitar la idea de establecer criterios de clasificacin (sesgados) fundamentados en ideas preconcebidas para lograr su clasificacin. En este sentido, hay dos asuntos que considerar: o Cmo lograr la caracterizacin de las protenas de manera no sesgada o Cmo lograr lo anterior sin apelar a medidas de agrupamiento que, a su vez, impliquen algn tipo de sesgo sobre dicho agrupamiento.
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 al 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. Reconocimiento de textos manuscritos Reconocimiento del habla Simulacin de centrales de produccin de energa Deteccin de explosivos Identificacin de blancos de radares
Vase tambin
Inteligencia artificial Smart process management Robtica evolutiva Conformacin de haces (beamforming) Cerebro artificial Topology Optimization
Notas
1. Aunque en francs se utiliza el acrnimo ANN (de Artificial Neural Networks) para referirse a este campo de la computacin en este artculo se utilizar su equivalente castellano RNA.
Enlaces externos
Wikimedia Commons alberga contenido multimedia sobre Red neuronal artificial Tutorial de la Universidad Politcnica de Madrid (castellano) Introduccin a las redes de neuronas artificiales (castellano) Artculos sobre redes neuronales artificiales (ingls) WHITE PAPER sobre redes neuronales (castellano) Sitio Web sobre redes neuronales artificiales, ejemplos y aplicaciones (castellano) Introduccin a las Redes Neuronales y sus Modelos (castellano) Sistema nervioso artificial