Introduccion a Las Redes Neuronales

18
Introducción a las Redes Neuronales Ronald Fernando Rodríguez Barbosa 1 Resumen Las máquinas tienen un papel importante en la vida cotidiana de los seres humanos. Sin embargo, lo que se conoce como sistemas de cómputo y la gran evolución que han tenido a través de los años, han dado a entender que aún se presentan problemas, en el momento de abordar tareas del mundo real; ya que la información es masiva, redundante e imprecisa. Por esa razón, desde hace unos años, las grandes mentes en la historia de la computación han propuesto nuevos modelos de procesamiento, inspirados en las estructuras y patrones que la naturaleza desarrolló, durante años de evolución. Al implementar estas estructuras y patrones, se pueden encontrar resultados satisfactorios en el momento de resolver problemas tecnológicos como los de reconocimiento del habla, visión artificial, sistemas de control, entre otros. Palabras clave: redes neuronales artificiales, neurona biológica, aprendizaje en redes neuronales. 1 Estudiante de ingeniería de Sistemas - Universidad Libre Abstract Machines have an important paper in the daily life of the human beings. Nevertheless what is known as systems of calculation and the great evolution they have had across the years, they have given to understand that they still present problems in the moment to approach tasks of the real world; due the information that this one handles is massive, redundant and vague. For this reason, a few years ago big minds in history of the computation have proposed new models of processing inspired by structures and patterns in the nature which have developed during years of evolution. On having implemented these structures and these patterns, satisfactory results can be found in the moment to solve technological problems such as speech recognition, artificial vision, control systems, among others. Keywords: artificial neural networks, biologic neuron, learning in neural networks. Introducción Durante las últimas décadas se ha buscado, investigado, y en el proceso se ha desarrollado e implementado sistemas que permitan mejorar nuestros sistemas de vida. Ingenieros y

description

Las máquinas tienen un papel importante en la vida cotidiana de los seres humanos. Sin embargo, lo que se conoce como sistemas de cómputo y la gran evolución que han tenido a través de los años, han dado a entender que aún se presentan problemas, en el momento de abordar tareas del mundo real; ya que la información es masiva, redundante e imprecisa. Por esa razón, desde hace unos años, las grandes mentes en la historia de la computación han propuesto nuevos modelos de procesamiento, inspirados en las estructuras y patrones que la naturaleza desarrolló, durante años de evolución. Al implementar estas estructuras y patrones, se pueden encontrar resultados satisfactorios en el momento de resolver problemas tecnológicos como los de reconocimiento del habla, visión artificial, sistemas de control, entre otros.

Transcript of Introduccion a Las Redes Neuronales

Introduccin a las Redes Neuronales

Introduccin a las Redes NeuronalesRonald Fernando Rodrguez Barbosa[footnoteRef:1] [1: Estudiante de ingeniera de Sistemas - Universidad Libre ]

Resumen

Las mquinas tienen un papel importante en la vida cotidiana de los seres humanos. Sin embargo, lo que se conoce como sistemas de cmputo y la gran evolucin que han tenido a travs de los aos, han dado a entender que an se presentan problemas, en el momento de abordar tareas del mundo real; ya que la informacin es masiva, redundante e imprecisa. Por esa razn, desde hace unos aos, las grandes mentes en la historia de la computacin han propuesto nuevos modelos de procesamiento, inspirados en las estructuras y patrones que la naturaleza desarroll, durante aos de evolucin. Al implementar estas estructuras y patrones, se pueden encontrar resultados satisfactorios en el momento de resolver problemas tecnolgicos como los de reconocimiento del habla, visin artificial, sistemas de control, entre otros.

Palabras clave: redes neuronales artificiales, neurona biolgica, aprendizaje en redes neuronales.

Abstract

Machines have an important paper in the daily life of the human beings. Nevertheless what is known as systems of calculation and the great evolution they have had across the years, they have given to understand that they still present problems in the moment to approach tasks of the real world; due the information that this one handles is massive, redundant and vague.For this reason, a few years ago big minds in history of the computation have proposed new models of processing inspired by structures and patterns in the nature which have developed during years of evolution. On having implemented these structures and these patterns, satisfactory results can be found in the moment to solve technological problems such as speech recognition, artificial vision, control systems, among others.

Keywords: artificial neural networks, biologic neuron, learning in neural networks.

Introduccin

Durante las ltimas dcadas se ha buscado, investigado, y en el proceso se ha desarrollado e implementado sistemas que permitan mejorar nuestros sistemas de vida. Ingenieros y cientficos han sugerido mltiples salidas a problemas crecientes en el sector empresarial y ante un mundo competitivo, la innovacin tecnolgica es perseguida por Institutos Educativos, y por algunas grandes empresas como IBM.

El cerebro es una de las estructuras ms complejas de la naturaleza, no solo a nivel fsico sino a nivel funcional; y en la inmensa extensin de estudios realizados sobre l, no se ha podido determinar sino solo una pequea parte de sus funciones, sus capacidades, y lo ms importante, Cmo lo hace?

En las siguientes lneas, se podr encontrar informacin que le ayudar a adentrarse en el tema, si su fin es la implementacin o dar solucin a un problema especfico, donde los mtodos algortmicos, pueden ser ineficientes o inclusive inexistentes.

Cerebro contra el computador

En la actualidad el dispositivo de cmputo ms utilizado es el microprocesador; con la caracterstica de integrar varios millones de componentes electrnicos en un espacio muy reducido, y sus grandes capacidades de clculo, representa un potente recurso para la industria. Sin embargo, para resolver un determinado problema, en primer lugar debe plantearse un algoritmo, que se materializa en la forma en programa, escrito en un leguaje de programacin para el computador (Pascal, Basic, C) y que se transformar a lenguaje mquina.

Ahora bien, con un programa suficientemente detallado, y con una memoria de suficiente capacidad, se podra resolver en principio cualquier problema de cmputo, desde encontrar las soluciones de una ecuacin hasta disear un edificio, o incluso intentar simular nuestro propio proceso de razonamiento, sta es precisamente la idea de partida de la inteligencia artificial clsica para intentar dotar de algn tipo de comportamiento inteligente a los computadores, por ejemplo, si se necesita que una mquina reconozca el habla, bastara con un programa que a partir de los sonidos que el computador reciba, se obtenga su significado. Con ste esquema de cmputo, se progres rpidamente en problemas con clculos complejos, y se pudieron alcanzar importantes logros en el rea de computacin. Pero, pronto se comprob que existan tareas que requieren un esfuerzo computacional tremendo; ya que en los problemas del mundo real surge otro inconveniente, y es el manejo eficiente datos, que no solo existen en cantidades enormes, sino que son redundantes e imprecisos; a esto, debe sumarse el hecho que el procesador convencional est orientado a tratar datos precisos y en serie.

A simple vista podra inferirse que una solucin puede ser el empleo de varias CPU operando a la vez, pero el esfuerzo necesario para construir un programa orientado a una mquina de este tipo es grande, y muy dependiente de la arquitectura de ella; adems, aparecen importantes cuestiones adicionales como el espacio que puede ocupar, la energa que consume, y, sobre todo, su elevado costo econmico.

Por el contrario, el cerebro, cuyas capacidades se pretende emular, no sigue el mismo patrn de cmputo de un microprocesador, por ende el cerebro no es una arquitectura Von Newmann[footnoteRef:2], sino que es una estructura compuesta por millones de procesadores elementales ampliamente interconectados. A estos procesadores elementales se les conoce como neuronas. La neurona es en realidad, un pequeo procesador, complejo, lento y poco fiable, pero el contrapeso, es que en nuestro cerebro, habitan unos 100 mil millones de neuronas operando en paralelo; es aqu donde reside el origen de su poder de cmputo. [2: Arquitectura de cmputo creada por John Von Newmann, compuesta por una memoria principal, una unidad aritmtica, una unidad de control, y dispositivos de entrada y salida.]

Tabla 1. Formas bsicas de computacin.[footnoteRef:3] [3: Cuadro Comparativo extrado del libro [5].]

Aunque individualmente las neuronas sean capaces de realizar procesamientos muy simples a travs de la sinapsis[footnoteRef:4]; pueden desarrollar una actividad global de procesamiento enorme. Es as que en tareas de procesamiento de bajo nivel, como las de reconocimiento de patrones, percepcin, control, etc., los computadores se desenvuelven todava torpemente, ya que en origen no fueron ideados para esta clase de problemas, que son esenciales para la supervivencia de un organismo vivo. En la Tabla 1, se puede apreciar las principales caractersticas de la computacin convencional, la computacin simblica y la computacin neuronal. [4: La sinapsis es el proceso esencial en la comunicacin neuronal y constituye el enlace bsico del sistema nervioso.]

Tabla 2. Inteligencia artificial Vs Redes neuronales[footnoteRef:5]. [5: Cuadro comparativo extrado de [10].]

En cuanto la relacin entre las redes neuronales y la inteligencia artificial, la Tabla 2 puede presentar una perspectiva de diferencia, anteponindolos como dos filosofas divergentes, en el cual se plantea al cerebro como una estructura de enfoque ascendente en el que a partir de procesadores elementales, realiza un reconocimiento de formas mediante la percepcin, y posteriormente puede razonar sobre ellas, en contraste con el computador, que a partir de los algoritmos y sus componentes hardware, logran las capacidades de clculo. A partir de esto se puede llegar al reconocimiento de caractersticas o formas, o situaciones preestablecidas. Sin embargo, es necesario tener en cuenta que las redes neuronales en realidad hacen parte del campo de la inteligencia artificial (ver Figura. 2) [footnoteRef:6]. [6: Para poder entender esto, es necesario adentrarse en el concepto de inteligencia y de los diferentes puntos de vista de autores relacionados con el tema.]

Fig. 2. Acercamiento ascendente y descendente.

Se puede evidenciar que los rasgos superficiales de la inteligencia pueden no estar necesariamente ligados a una estructura compleja como la del cerebro, si no por el contrario, su fundamentacin se basa en la computacin simblica y trasciende en conceptos como la lgica de predicados[footnoteRef:7], para determinar de forma ordenada una serie de hechos extrados de un conjunto de conocimiento y que en cooperacin de un componente como lo es el motor de inferencia[footnoteRef:8], se obtienen herramientas que permiten incluso diagnosticar enfermedades (sistemas expertos). [7: La lgica de predicados, llamada tambin lgica cuantificacional, est basada en la idea de expresar mediante sentencias, las relaciones entre objetos, as como las cualidades y atributos de tales objetos] [8: Componente de los sistemas basados en conocimiento, el motor de inferencia interpreta y evala los hechos en la base de conocimientos para proveer una respuesta.]

Fig. 2. Situacin de las redes neuronales en el campo de la inteligencia artificial.[footnoteRef:9] [9: Esquema extrado de [5].]

Cmo funcionan de las redes neuronales biolgicas?

Se estima que el sistema nervioso contiene alrededor de 100 mil millones de neuronas[footnoteRef:10]; este tipo de clulas puede presentarse en mltiples formas, la mayora presentan un aspecto similar al de un cuerpo celular o soma[footnoteRef:11], del que surge un denso rbol de ramificaciones (rbol dendrtico) compuesto por las dendritas, y del cual parte una extensin tubular denominada axn[footnoteRef:12], que tambin se ramifica en su extremo final para conectar con otras neuronas. [10: Clula fundamental y bsica del sistema nervioso.] [11: Cuerpo de la neurona y fuente de su impulso elctrico.] [12: Prolongacin de la neurona, que permite la propagacin de los impulsos nerviosos hacia otras neuronas.]

Describindose como un sistema, la neurona posee un canal de entrada de informacin que son las dendritas, un rgano de cmputo, que es el soma, y un canal de salida, el axn. En ciertas neuronas el axn enva la informacin a otras neuronas, mientas que las neuronas motoras lo hacen directamente al msculo. Se calcula que la neurona del corte cerebral recibe informacin, por trmino medio, de unas 10,000 neuronas, y enva impulsos a varios cientos de ellas.

Ahora bien, otro fenmeno en la generacin de la seal nerviosa, est determinada por la membrana neuronal y los iones presentes a ambos lados de ella. La membrana se comporta como un condensador, que se carga al recibir corrientes debidas a las especies inicas presentes. La membrana contiene canales y nicos selectivos al tipo de ion[footnoteRef:13], algunos son pasivos[footnoteRef:14] y otros activos[footnoteRef:15]. Los cuerpos inicos ms sobresalientes en el proceso de la generacin y trasmisin de la seal nerviosa son el Sodio (Na), el potasio (K) y el Calcio (Ca); existe tambin otra serie de protenas, que se originan por la prdida de los anteriores. [13: Partcula cargada elctricamente.] [14: Consiste en simples poros de la membrana] [15: Poros que solamente se abre ante ciertas circunstancias.]

La forma de comunicacin ms habitual entre dos neuronas es de tipo qumico y la unin entre dos neuronas se le denomina sinapsis. En la sinapsis no existe un contacto fsico entre las neuronas sino que entre ellas existe un pequeo vacio de unas 0.2 micras, por el cual se desplazan agentes qumicos denominados neurotransmisores[footnoteRef:16]. En esta relacin existe la neurona pre sinptica (que enva seal), y la neurona post-sinptica (que recibe informacin). Las sinapsis tiene un solo sentido, es decir, la informacin solamente va a fluir de forma unidireccional. [16: La adrenalina y el glutamato son dos ejemplos comunes para neurotransmisores.]

Generalmente las neuronas se encuentran en un estado de reposo, en este escenario las concentraciones de K, y Na se mantienen constantes, aqu se manifiesta una diferencia de potencial de unos -60mV[footnoteRef:17], el cual corresponde a la carga del interior del soma, con respecto al exterior. En el momento que se proporciona una estimulo a las neuronas, existe una fluctuacin de los iones con carga positiva hacia el interior de la neurona, lo que produce una despolarizacin dentro del soma y la neurona pasa de un potencial de reposo de -60mV a unos +50mV, este proceso constituye la generacin de un potencial de accin, que al propagarse a lo largo del axn da a lugar a la trasmisin y en su momento los neurotransmisores harn su trabajo para proporcionar las sinapsis correspondientes. [17: Algunos textos sostienen que este potencial puede estar entre -50mV, y los 70mV.]

Estructura de un sistema neuronal artificial

La idea que subyacen en los sistemas neuronales artificiales, es que para abordar el tipo de problemas que el cerebro resuelve con facilidad, es la de construir estructuras que copien la estructura (valga la redundancia) similar a la de las redes neuronales biolgicas. Para ello se emulan aspectos clave en los sistemas nerviosos lo cuales son: el paralelismo de clculo, memoria distribuida[footnoteRef:18] y adaptabilidad al entorno. [18: La memoria no se aloja en una base de datos, o en un dispositivo de almacenamiento, si no que se encuentra como su nombre lo indica distribuida por la estructura.]

De manera formal y desde el punto de vista del grupo PDP[footnoteRef:19], de D.E. Rumelhart y J.L. McClelland, un sistema neuronal o conexionista est compuesta de los siguientes elementos: [19: Parallel Distributed Processing Research Group, de la universidad de California en San Diego, es un grupo de investigacin en RNA, responsables en gran medida del renacimiento de las redes neuronales a mediados de los ochenta.]

-Un conjunto de neuronas artificiales.-Un patrn de conectividad o Topologa.-Una dinmica de activaciones.-Una regla o dinmica de aprendizaje.-Un entorno donde operar.

Ahora bien, se denomina procesador elemental o neurona artificial a un dispositivo simple de clculo, que a partir de una serie de entradas, ya sea que estas provengan del exterior o como seal de trasmisin de otras neuronas, proporciona una nica respuesta o seal de salida.Fig. 3. Modelo Rumelhart de neurona artificial.[footnoteRef:20] [20: David Everett Rumelhart, fue un clebre psiclogo que hizo valiosos aportes al anlisis formal del conocimiento humano.]

Como se aprecia en la figura 3 anterior los elementos que constituyen la neurona son:Conjunto de entradas: Pesos sinpticos de la neurona: que corresponde a la intensidad de interaccin entre la neurona pre-sinptica y la neurona post-sinptica .Regla de propagacin: , que representa el valor del potencial post-sinptico de la neurona en funcin de sus pesos y entradas. La forma ms habitual para representar la regla de propagacin es mediante una funcin lineal, que se basa en la suma ponderada de las entradas con los pesos sinpticos, de tal forma que:

Se representa como:

Funcin de activacin: , que proporciona el estado de activacin actual , de la neurona , en funcin de su estado anterior y de su potencial post-sinptico actual.Funcin de salida , que corresponde a la salida actual de la neurona en funcin de su estado de activacin. Sin embargo, es pertinente aclarar que las salidas dependen del modelo aplicado, por ejemplo en modelos comunes como MLP[footnoteRef:21] o Adalina[footnoteRef:22], la funcin de salida puede ser de tipo escaln (ver Figura 4), mientras que en otros modelos como el caso de la mquina de Boltzman, se trata de una funcin estocstica. (Ver Figura 5). [21: Sigla de la red Perceptrn multicapa (Multi-Layer Perceptrn)] [22: Sigla de (Adaptive Linear Neuron) es una red neuronal de una capa. ]

Fig. 4. Funcin en escaln.

Fig. 5. Funcin sigmoidea.

El modelo expuesto anteriormente puede resultar muy general, pero en la prctica suele utilizarse uno ms simple, el cual sera neurona estndar.

Fig. 3. Modelo de neurona estndar.[footnoteRef:23] [23: Esquema extrado del libro Redes Neuronales y Sistemas Borrosos, Bonifacio Martin del Brio y Alfredo Sanz Molina.]

As la neurona estndar consiste en:

Un conjunto de entradas y pesos sinpticos .

Una regla de propagacin: Una funcin de activacin .

Con frecuencia se aade al conjunto de pesos de la neurona un parmetro adicional , que se denomina umbral, y se resta del potencial post-sinptico, por lo cual nuestra funcin de activacin quedar como la sumatoria del conjunto de entradas con los pesos sinpticos menos el umbral as:

Topologa de Redes Neuronales

La arquitectura o topologa de las redes neuronales consiste en la organizacin y disposicin de las neuronas en la red formando agrupaciones de neuronas a las que se denomina capas, y en una red convencional los parmetros para su construccin son: el numero de capas, el numero de neuronas por capa, el grado de conectividad y el tipo de conexin entre neuronas.

En el momento de realizar una clasificacin en trminos de topologa se suele distinguir redes de una capa y redes con mltiples capas.

La red mono-capa es la red neuronal ms sencilla ya que tiene una capa de neuronas que proyectan las entradas a una capa de neuronas de salida donde se realizan diferentes clculos. En las redes mono-capa, pueden establecer conexiones laterales entre las neuronas que pertenecen a la nica capa que constituye la red. Las redes mono-capa se utilizan tpicamente en tareas relacionadas con lo que se conoce como auto-asociacin; por ejemplo, para regenerar informaciones de entradas incompletas o distorsionadas, que se presentan a la red.

Fig. 6. Topologa Mono-capa[footnoteRef:24] [24: Grfico extrado de [10].]

Las redes multicapa son una generalizacin de la anterior; son aquellas que disponen de conjuntos de neuronas agrupadas en varios niveles o capas. En estos casos, una forma para distinguir la capa a la que pertenece una neurona, consistira en fijarse en el origen de las seales que recibe a la entrada y el destino de la seal de salida.

Fig 7. Topologa Multicapa.[footnoteRef:25] [25: Grfico extrado de [14].]

Normalmente, todas las neuronas de una capa reciben seales de entrada de otra capa anterior, ms cercana a las entradas de la red, y envan seales de salida a una capa posterior ms cercana a la salida de la red. A estas conexiones se les denomina conexiones hacia adelante o feedforward. Sin embargo, en un gran nmero de estas redes, tambin existe la posibilidad de implementar lazos de realimentacin. Estos lazos pueden ser entre neuronas de diferentes capas, neuronas de la misma capa, o con la misma neurona Esta estructura recurrente la hace especialmente adecuada para estudiar la dinmica de sistemas no lineales, a estas conexiones se les denomina conexiones hacia atrs o feedback.

Fig. 8. Estructura de red realimentada.[footnoteRef:26] [26: Grfico extrado de [14].]

Mecanismo de aprendizaje

El aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en respuesta a una informacin de entrada. Los cambios que se producen durante el proceso de aprendizaje se reducen a la destruccin, modificacin y creacin de conexiones entre las neuronas. En los sistemas biolgicos existe una continua creacin y destruccin de conexiones. En los modelos de redes neuronales artificiales, la creacin de una vacunacin implica que el peso de la misma pasa a tener un valor distinto de cero. La misma forma, una conexin se destruye con su peso pasa a ser cero.

Durante el proceso de aprendizaje, los pesos de las conexiones de la red sufren modificaciones con por tanto se puede afirmar que este proceso ha terminado (la red ha aprendido) cuando los valores de los pesos permanecen estables.

Un aspecto importante respecto al aprendizaje en las redes neuronales es el conocer cmo se modifican los valores de los pesos; es decir con cules son los criterios que se siguen para cambiar el valor asignado a las conexiones cuando se pretende que la red aprenda una nueva informacin. De forma general se suelen considerar tipos de reglas: las que responden a lo que habitualmente se conoce como aprendizaje supervisado, y las correspondientes a un aprendizaje no supervisado. La diferencia fundamental entre ambos tipos, dependen de su existencia o no de un agente externo (supervisor) y controle el proceso de aprendizaje de la red.

Otro criterio que se puede utilizar para diferencia la regla de aprendizaje se basa en considerar si la red puede aprender durante su funcionamiento habitual o si el aprendizaje supone la desconexin de la red; es decir, su inhabilitacin hasta que el proceso termine. El primer caso, se tratara de un aprendizaje ON LINE, mientras que el segundo hecho que se conoce como un aprendizaje OFF LINE.

Con el aprendizaje OFF LINE, se distingue entre una fase de aprendizaje o entrenamiento y la fase de operacin o funcionamiento como existen un conjunto de datos de entrenamiento y un conjunto de actos de tres o prueba que sern utilizados en la correspondiente fase. En las redes con aprendizaje ON LINE no se distingue entre fases de entrenamiento y operacin, de tal forma que los pesos varan dinmicamente siempre que se presenten o no informacin al sistema. En este tipo de redes, debido al carcter dinmico de las mismas, el estudio de la estabilidad suele ser un aspecto fundamental de estudio.

El aprendizaje supervisado se caracteriza porque el proceso se realiza mediante un entrenamiento controlado por un agente externo que determina la respuesta que debera generar la red a partir de una entrada determinada. El supervisor comprueba la salida de la red y en el caso de que sta no coincida con la deseada como se proceder a modificar los pesos de las conexiones, con el fin de conseguir que la salida tena se aproxime a la deseada. Sin embargo, este tipo de aprendizaje se les suelen considerar tres formas para llevarlo a cabo.

Aprendizaje por correccin de error: consiste en ajustar los pesos de las conexiones de la red en funcin de la diferencia entre los valores deseados y los obtenidos en la salida de la red; es decir, en funcin del error cometido en la salida.Aprendizaje por refuerzo: se trata de un aprendizaje supervisado, ms lento que el anterior como que se basa en la idea de no disponer de un ejemplo concreto del comportamiento deseado; es decir de no indicar durante el entrenamiento exactamente la salida que se desea que proporcione la red ante una determinada entrada.

Aprendizaje estocstico: este tipo de aprendizaje consiste bsicamente en realizar cambios aleatorios en los valores de los precios de las conexiones de la red y evaluar su afecto a partir del objetivo deseado y de distribuciones de probabilidad. En el aprendizaje socrtico se suele ser una analoga en trminos termodinmico como asociando la red neuronal con un slido fsico que tiene cierto estado energtico. En el caso de la red, la energa de la misma representara el grado de estabilidad de la red como de tal forma que el estado de mnima energa correspondera a una situacin en la que los pesos de las conexiones consiguen que su funcionamiento sea el que ms se ajusta al objetivo deseado [5].

Las redes con aprendizaje no supervisado (tambin conocido como auto supervisado) no requieren influencia externa para ajustar los pesos de las conexiones entre sus neuronas. La red no recibe ninguna informacin por parte del entorno que le indique si la salida generada en respuesta a una determinada entrada es o no correcta; por ello, suele decirse que estas redes son capaces de auto organizarse. En este tipo de redes se suele considerar dos tipos de aprendizaje:

Aprendizaje hebbiano: este tipo de aprendizaje se basa en el siguiente postulado formulado por Donald O. Hebb en 1949: cuando un axn de una celda A est suficientemente cerca como para conseguir excitar una celda B y repetida o persistentemente, tom parte en su activacin, algn proceso de crecimiento cambio metablico que tiene lugar en una o ambas celdas, de tal forma que la eficiencia de A, cuando la celda a activar es B, aumenta[footnoteRef:27]. Por celda, Hebb entiende un conjunto de neuronas fuertemente coleccionadas a travs de una estructura compleja. La eficiencia podra identificarse como la intensidad o magnitud de la conexin; es decir, con el peso. [27: Extrado del artculo The organization of behavior. Por Donald O Hebb, publicado en 1949.]

Se puede decir, por tanto, el aprendizaje hebbiano consiste bsicamente en el ajuste de los pesos de las conexiones de acuerdo con la correlacin[footnoteRef:28] de los valores de activacin (salidas) de las dos neuronas conectadas. [28: Multiplicacin de valores binarios 1 y -1.]

Aprendizaje competitivo y cooperativo: en las redes con aprendizaje competitivo, suele decirse que la neuronas compite unas con otras con el fin de llevar a cabo una tarea dada con este tipo de aprendizaje, se pretende que cuando se presente a la red cierta informacin de entrada, slo una de las neuronas de salida de la red o una por cierto grupo de neuronas, se active. Por tanto, las neuronas compiten por activarse con quedando finalmente una, o una por grupo como neurona vencedora, anulando el resto, y que son forzadas a sus valores de respuesta mnimos.

La competicin entre neuronas se realiza en todas las capas de la red como existir estas neuronas coleccion recurrentes de autoexpresin y conexiones de inhibicin por parte de las neuronas vecinas.

Aplicaciones de las redes neuronales

Como bien se ha apreciado, hay diferentes tipos de redes neuronales, cada uno de los cuales tienen una aplicacin particular ms apropiada. Ejemplos de algunas aplicaciones comerciales pueden ser:Biologa Aprender ms acerca del cerebro y otros sistemas. Obtencin de modelos de la retina.Empresa Evaluacin de probabilidad de formaciones geolgicas y petrolferas. Identificacin de candidatos para posiciones especficas. Explotacin de bases de datos.Medio ambiente Analizar tendencias y patrones. Previsin del tiempo.Finanzas Previsin de la evolucin de los precios. Valoracin del riesgo de los crditos. Identificacin de falsificaciones.Manufacturacin Robots automatizados y sistema de control (visin artificial y sensores de presin, temperatura, gas, etc.) Control de produccin en lneas de proceso. Inspeccin de calidad.Medicina Analistas del habla para la ayuda de adicin de sordos profundos. Diagnstico y tratamiento a partir de sntomas y/o datos analticos.Militares Clasificacin de las seales de radar. Creacin de armas inteligentes. Optimizacin del uso de recursos escasos. Reconocimiento y seguimiento en el tiro al blanco [5].

Ventajas de las redes neuronales

Debido a su constitucin y los fundamentos, las redes neuronales artificiales presentan un gran nmero de caractersticas semejantes a las del cerebro. Por ejemplo, son capaces de aprender de la experiencia, de generalizar de casos anteriores a nuevos casos, de abstraer caractersticas esenciales a partir de entradas que representen informacin irrelevante como etctera. Esto hace que ofrezcan numerosas ventajas y que este tipo de tecnologa se le aplica en mltiples reas [5]:

Aprendizaje atractivo. Capacidad de aprender a realizar tareas basadas, en un entrenamiento o una experiencia inicial.

Auto-organizacin. Una red neuronal puede crear su propia organizacin, representacin de la informacin que recibe mediante una etapa de aprendizaje.

Tolerancia a fallas. La destruccin parcial de una red conduce a una degradacin desestructurar; sin embargo, algunas capacidades de la red se puedan retener, incluso sufriendo un gran dao.Operacin en tiempo real. Los computadores neuronales pueda ser realizados en paralelo, y se diseen y fabrican mquinas con hardware especial para obtener esta capacidad.

Fcil insercin dentro de la tecnologa existente se pueden obtener chips especializados para redes neuronales que mejoran su capacidad en ciertas tareas. Ello facilitar la integracin modular en los sistemas existentes.

Alternativas de Implementacin

Simulacin software. Consiste modelar el sistema neuronal mediante un programa (software), que puede ejecutarse en un computador secuencial convencional tipo Von Newmann como por ejemplo, un PC compatible, o bien sobre un computador de propsito general con capacidad de clculo paralelo (sistemas multiprocesador, mquinas vectoriales, paralelas...). Es la realizacin ms usual y econmica.

El proceso de simulacin de ANS comienza con su modelado mediante programas de ordenador escritos en lenguajes de alto nivel como C o Java (o incluso Visual Basic), que se ejecutarn en computadoras convencionales, como PC compatibles. Aunque de esta manera se pierde su capacidad de clculo en paralelo, las prestaciones que ofrecen los ordenadores actores resultan suficientes para resolver numerosos problemas como a permitir simular redes de tamao medio a una velocidad razonable. En este caso, la actividad de cada neurona suele representarse mediante una variable de programa. Como las neuronas se agrupan en capas, las entradas de las neuronas de una capa se suelen reunir en vectores. El mismo sucede con las salidas.

float x[N_INPUTS],y[N_OUTPUTS][footnoteRef:29] [29: Entradas x y salidas y de una capa]

Cada neurona posee un vector de pesos sinpticos, por tanto, los pesos correspondientes a las neuronas de una capa se agrupan en una matriz W:

float w[N_OUTPUTS] [N_INPUTS][footnoteRef:30] [30: Ejemplo de definicin de matrices en programacin.]

Emulacin hardware (propsito general). Se utiliza sistemas expresamente diseados para emular ANS, basados en CPU de altas prestaciones (RISC, DSP), o en otros microprocesadores diseados especficamente para ANS. Son europeos Csar de propsito general, que dan lugar a aceleradores (neuro-emuladores) y neuro-computadoras.

Implementacin de hardware especfico: Se trata realizar fsicamente la red neuronal en hardware, es decir, mediante estructuras especficas que reflejen con mayor o menor fidelidad la arquitectura de la red, da lugar a los neuro-procesadores de propsito especfico, muchos de los cuales se emplean en aplicaciones especficas (por ejemplo, en bolgrafos escner OCR o reconocer desde comandos hablados). Tecnologa ms habitualmente utilizada electrnica, bien utilizando dispositivos de lgica programable como los FPGA, o bien mediante integracin microelectrnica, lo que da lugar a los denominados chips neuronales

Conclusiones

Aunque las redes neuronales parecen una alterativa viable para la solucin de problemas complejos para resolverlos por mtodos algortmicos, es necesario realizar una buena evaluacin para determinar qu tipo de implementacin es suficiente. Por otro lado, se debe tener en cuenta las limitaciones de la micro electrnica, como el envo masivo de datos y que como tal se est solucionando a travs de la electroptica, que sugiere el envo de dichos datos a travs de la luz.

Para una implementacin en hardware es necesario tener el conocimiento adecuado en cuanto a los dispositivos a utilizar, como sus especificaciones, requerimientos elctricos (voltajes de operacin), lenguaje de programacin necesario, interfaz (canal de conexin a otros dispositivos si es el caso) y tener en claro conceptos de arquitectura de hardware y software para un resultado exitoso en la construccin de la solucin.

Puede ser conveniente, optar por otro tipo de alternativas de solucin como los algoritmos genticos o algoritmos evolutivos si el escenario lo permite y la implementacin de redes neuronales muy compleja, costosa y demorada.

Referencias[1]. Abu-Mostafa, Y. S, Information theory, complexity and neural networks IEEE Communications Mag., 27-11, pp 25-28, 1989.[2]. Botros, N, M., Abdul-Aziz, M. Hardware implementationof anartificial neural network using field programmable gate arrays (FPGA's), IEEE Trans. On Industrial electrnics, Vol. 41, N 6, pp. 665-7, 1994.[3]. Fu, L.M. Neural Networks in Computer Intelligence, 1994, pp 47-114[4]. Haykin, S. Neural Networks. A comprehensive Foundation. 2 Edicin. Prentice-Hall, 1994. [5]. Hilera Gonzales, Jose Ramn Redes Neuronales Artificiales,4 Edicin, Universidad Nacional Autnoma de Mxico, Mxico: Alfaomega, 1998, pp. 7-98.[6]. Hrycej, T. Modular Learniung in Neural Networks. Jhon Wiley and Sons, 1992.[7]. Kandel, R. E., Freeman, W.H. Microsistemas de Neuronas. En el cerebro, Ed. Investigacin y Ciencia, pp 39-49,1979.[8]. Kandel, E. R, Hawkins, R.D. Bases biolgicas del aprendizaje y de la individualidad. Investigacin y ciencia[9]. Kung, S.Y. Digital Neural Networks. Prentice-Hall, 1993. [10]. Martin del Brio, Bonifacio, Sanz Molina, Alfredo, Redes Neuronales y sistemas Borrosos, 3 Edicin, Mxico: Alfa omega, 2007, pp. 24-150.[11]. Masters, T. Practical Neural Networks Recipes in C++.Academic Press, 1993.[12]. McCulloch, W.S., Pitss. W. A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5, pp.115-133, 1943.[13]. Pealoza Romero, Ernesto Fundamentos de Programacin C/C++, 4 Edicin, Universidad Nacional Autnoma de Mxico, Mxico: Alfaomega, 2004, pp. 7-17.[14]. Serrano, Antonio J, Soria, Emilio, Martin, Jose D. Redes Neuronales Artificiales, Escuela Tcnica Superior de Ingeniera, 2009-2010, pp 5-130.

Enlaces en Internet.[15]. Lynuz (revista especializada en ciencias de la educacin e Inteligencia Artificial). Inteligencia Artificial [en lnea]. , [citado el 2 de marzo 2 de 2005].[16]. REDEI (Red de entretenimiento e informacin). Orgenes de la inteligencia Artificial (parte 19) [en lnea]. . [citado el 4 de marzo de 2011.]. [17]. Olimpiadas Nacionales de contenido Educativo en internet (http://www.oni.escuelas.edu.ar). Maquinas como hombres [en lnea]. . [citado el 28 de febrero de 2011.]. [18]. David Daz. Inteligencia Artificial, Robtica, Neuro-computacin, Programacin Neuronal y otras hierbas [en lnea]. . [citado el 30 de febrero de 2011]. [19]. SCIENTIST. Molecular Biology for computer . [citado el 5 de marzo de 2011].[20]. Herbert Jaeger, A tutorial on training recurrent neural networks, covering BPPT, RTRL, EKF and the "echo state network" approach [en lnea]. . [citado el 18 de Marzo 2011]