Sunteți pe pagina 1din 31

Redes Neuronales: Introduccin Existe en el hombre un deseo profundo de poder reproducir la habilidad cognoscitiva por medios artificiales.

La fascinacin que la inteligencia como materia de estudio ha suscitado al gnero humano, puede verse reflejada en la aparicin de una rama ntegra del estudio cientfico llamada " Inteligencia Artificial " a secas o tambin estudio de la inteligencia. Una de las mltiples ramas por las cuales se ha desarrollado la investigacin es el desarrollo de las llamadas " redes neuronales " . Una red neuronal es el intento de poder realizar una simulacin computacional del comportamiento de partes del cerebro humano mediante la rplica en pequea escala de los patrones que ste desempea para la formacin de resultados a partir de los sucesos percibidos. Concretamente, se trata de poder analizar y reproducir el mecanismo de aprendizaje y reconociendo de sucesos que poseen los animales ms evolucionados. Una de las preguntas ms interesantes que se plantean al hablar de este tema es la habilidad del cerebro para poder reconocer patrones. Se denomina reconocimiento de patrones a la capacidad de poder interpretar una imagen compleja (una foto, lo que ve el ojo) y actuar en consecuencia. Las computadoras digitales fueron diseadas a partir de una lgica binaria (de 2 valores 0 - 1 o Verdadero - Falso), lo cual si bien facilit su construccin, ha tenido como efecto una gran dificultad para procesar y reconocer imgenes, fotos, planos y dibujos. Algunos usos de las redes neuronales Un nio pequeo puede mirar una foto familiar y reconocer inmediatamente al padre, a la mascota familiar y a los arboles del jardn con un 100% de efectividad. Una computadora, sin embargo, requiere mucho trabajo de programacin para poder hacer lo mismo, y aun as, el resultado dista mucho de tener la precisin humana. Si la computadora posee un sistema de reconocimiento de patrones, puede obtener imgenes de una cmara de vdeo y actuar por s misma en tareas tales como el reconocimiento de entradas y salidas del Personal de una empresa identificando al sujeto mediante la captura de una imagen de vdeo. Un sistema alternativo consiste en los lectores de huellas digitales. Un scanner diminuto digitaliza la huella digital y forma un patron con ella, que puede buscarse en la base de datos de personal. Actualmente tambin se encuentra disponible la tecnologa de lectura de iris por rayos infrarrojos. La persona se para frente a un lector y este digitaliza una imagen del ojo. El iris forma un patron unico para cada persona que puede ser usado como metodo de identificacion similar a las huellas digitales De la misma manera, para el ser humano es relativamente sencillo reconocer los patrones de la escritura manuscrita siendo que esta tarea es sumamente difcil para la computadora.Existen programas que tratan de lograr este objetivo llamados genricamente OCR ( Optical Character Recognition programs ) que reconocen la escritura manuscrita tratandola como si fueran patrones Los operadores de sonares no son otra cosa que personas que reconocen los patrones auditivos registrados por el sonar. Si se desea que la computadora haga este trabajo, necesita un sistema de reconocimiento de patrones para realizar la tarea.

OCR: Definicin Un programa de OCR consiste en un software que trata de convertir la imagen digitalizada de una carta manuscrita en un archivo de texto plausible de ser utilizado por algn procesador de texto. Los programas de OCR diseados sobre bases algortmicas ( heursticos ) son los mas populares hasta el momento, pero poseen un grado apreciable de inexactitud cuando el texto presenta " ruido " , es decir cuando el original contiene manchas ( como las producidas al fotocopiar una pagina ) o smbolos mezclados con el texto ( un dibujo ) Un programa de OCR basado en el reconocimiento de patrones ( como las redes neuronales ) debera tener la habilidad de poder sortear alguno o todos estos obstculos de manera similar a como el cerebro humano distingue con facilidad el texto de una mancha de fotocopiadora de la letra escrita. De manera similar, un sistema basado en una red neuronal podra reconocer la imagen digitalizada de la refraccin de un pulso lser sobre un objeto e identificar de esa manera los materiales con que fue hecho el mismo. { Freeman 1993 } hace referencia a una red neuronal de su diseo que utiliza este procedimiento en carroceras recin pintadas de automviles. La comparacin de las discontinuidades de los patrones con un standard ptimo permite averiguar automticamente cuales carroceras no han sido bien pintadas. Conectado este sistema a una brazo robot inyector de pintura, se puede entonces ordenarle que repinte la pieza. Aplicaciones militares tambin utilizan este principio. El rebote de radar digitalizado que enva un avin a su contrincante es reconocido por una red neuronal y comparado con los patrones de aviones enemigos guardados en su memoria. De esta manera se reconoce las caractersticas aerodinmicas y el fuselaje del avin y se deduce si se trata de un aparato enemigo o aliado. Desde una instalacin en tierra, el mismo principio se utiliza para detectar un misil que se dirige al blanco para determinar si la trayectoria es correcta o no. La rapidez con que se debe tener informacin en las contiendas modernas hace que muchas de las elecciones que antes correspondan a los seres humanos, ahora tengan que ser tomadas por la computadora. { Gately 1996 } detalla una serie de aplicaciones que podran tener las redes neuronales relacionadas a las ciencias econmicas. Algunas de ellas son: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Fraude con tarjetas de crdito Prediccin de quiebres bancarios Aplicaciones para las tarjetas de crdito Precios de Arbitraje Anlisis del Mercado de Capitales Anlisis de la salud financiera de las empresas Seleccin de prospectos de Venta Proyecciones del Cash - flow Prediccin de cambios en la tendencia del mercado Predicciones en los requerimientos de Personal

Cada uno de estos tems da pie para la realizacin de un trabajos de investigacin y desarrollo especficos, lo que da una idea de la amplitud y abarcabilidad de este tema. Por ltimo, cabe sealar que las redes neuronales se muestran especialmente adaptables apara la investigacin cientfica de modelos matemticos de variables no lineales. En estos modelos, los efectos de la interrelacin mutua de las variables hace que los intentos de solucin mediante mtodos algortmicos resulten muy difciles de realizar.

El cerebro como sistema Utilizando terminologa propia de sistemas, podemos clasificar al cerebro humano como un sistema , el cual mediante un proceso ( pensamiento ) logra convertir las entradas ( mayoritariamente sensoriales ) en salidas ( accin ) . La simbologa para diagramar y explicar los Sistemas puede ser consultada en el Anexo A. Podemos observar grficamente este proceso en el cuadro RN001.

CUADRO RN001 Proceso de pensamiento visto desde la perspectiva de la Teora de Sistemas CEREBRO HUMANO

Encontramos entonces que existen diversos estmulos al cerebro, los cuales pueden ser llamados sumariamente " percepciones sensoriales " . El ser humano es un sistema que parte de estmulos sensoriales, los cuales utiliza como entradas ( inputs ) para su proceso de pensamiento. La palabra percepcin abarca no solo a las incitaciones que el medio ambiente provoca en los cinco sentidos sino tambin a las elucubraciones que la propia mente del sujeto pueda discernir. El cerebro del sujeto es incentivado por la interrelacion simultnea de percepciones, las cuales llevan a activar el proceso denominado pensamiento. Este a su vez puede requerir vivencias almacenadas en la memoria del individuo, que funciona en este enfoque como un archivo o base de datos que contiene datos llamados en este contexto " Recuerdos " . El proceso de pensamiento puede tener como subproducto la creacin de datos a ser guardados, los cuales se transformarn a su vez en nuevos recuerdos. Por ende, se puede caracterizar al pensamiento como un proceso de consulta y escritura de la base de datos " memoria " .

En base a estos procesos sobreviene el proceso de elaboracin y planificacin de la accin a tomas como resultado del proceso intelectual. Esta accin puede ser fsica o psquica. En el primer caso, msculos determinados del cuerpo son programados para moverse en un sentido definido. Ejemplo: El aumento de la temperatura ambiente provoca en el individuo la percepcin de calor y este encamina sus acciones hacia la ingesta de liquido para no deshidratarse. En el segundo caso, una percepcin puede llevar a la recuperacin de un recuerdo de la memoria ( base de datos ). Ejemplo: La percepcin de un aroma floral provoca el recuerdo de una placentera experiencia pasada ocurrida en un campo lleno de flores. El cerebro esta constituido por un vasto conjunto de clulas llamadas neuronas, las cuales se intercomunican entre s por medio de impulsos elctricos, mediante las llamadas conexiones sinpticas. Las neuronas forman, entonces, una red donde cada una de ellas es un nodo, entrelazada mediante conexiones que transmiten seales elctricas. Una neurona puede recibir y transmitir seales elctricas desde y hacia varias otras neuronas. El Cuadro RN002 muestra este proceso visto desde la ptica de la teora de los Sistemas. CUADRO RN002

El pensamiento entonces consiste fsicamente en una serie de interacciones elctricas entre las neuronas, las cuales cumplen las siguientes funciones bsicas: a ) Recibir Seales: Cada neurona recibe uno o varios mensajes elctricos emanados de las neuronas adyacentes.

b ) Condicionar la descarga: La neurona acta como una sistema distribuidor de trnsito que toma la energa trasladada hasta ella mediante la accin descripta en a ) y decide cuales de sus salidas activar y cuales no. c ) Descargarse ( Emitir Respuesta ) y reforzar conexiones. La energa es expulsada hacia las neuronas adyacentes a las cuales est conectada. Conjuntamente con esto, las conexiones sinpticas se refuerzan. De esta manera, se establece una preferencia de salida proporcional a la cantidad de veces que se ha activado la misma. Programando la Neurona en Pseudocdigo. Los programadores de computadora utilizan determinadas tcnicas para poder graficar mejor su trabajo. Una de ellas es la utilizacin del llamado Pseudocdigo. Este se utiliza para determinar los pasos lgicos que se deberan utilizar para realizar un programa independientemente del lenguaje elegido. El Anexo B contiene ejemplos de pseudocdigo para que el lector pueda comprenderlo aunque no est familiarizado con la operatoria del mismo. Si quisiramos escribir el programa maestro con la cual funciona la clula tendramos como resultado una estructura similar a la siguiente. PROGRAMA NEURONA HACER MIENTRAS SE RECIBAN IMPULSOS DE LAS NEURONAS VECINAS RECOGER IMPULSO ELCTRICO DECIDIR A CUALES NEURONAS SE DEBE DESCARGAR LA ENERGA HACER MIENTRAS QUEDEN NEURONAS SIN HABER RECIBIDO IMPULSO SELECCIONAR NEURONA RECEPTORA DESCARGAR ENERGA A LA NEURONA RECEPTORA REFORZAR CONEXIN CON ESTA NEURONA VOLVER A SELECCIONAR NEURONA VOLVER A EMPEZAR Este proceso contina hasta que no existen mas neuronas receptoras sino que las neuronas estn conectadas a una terminal nerviosa, ( ojos, medula espinal etc. ) , lo cual activa la secuencia de accin correspondiente. De estas afirmaciones se desprende la existencia de niveles o capas de neuronas, que tienen como funcin la potenciacion o disminucin de los impulsos iniciales. Esto es coherente con las investigaciones de la fisiologa cerebral, que coinciden en la existencia de diferentes zonas del cerebro especializadas en funciones determinadas.

Memoria La memoria consiste desde este enfoque en la suma de los pesos de las ponderaciones o preferencias correspondientes a las conexiones en un conjunto o capa de neuronas relacionadas. La activacin de este sector por un impulso nervioso obtiene como resultado que la ultima capa del sector ( las neuronas relacionadas con otras no pertenecientes al mismo ) ofrezca una salida hacia los centros neurales que provocarn la sensacin de un " recuerdo " . Tenemos entonces que el mismo elemento ( la neurona ) acta como conductor de seales , programa de accin y memoria. En trminos computacionales hablaramos de bus de datos para la conexin sinptica, software de aplicacin para decidir cuando se carga y descarga el flujo elctrico y memoria RAM y disco rgido para resguardar los valores acumulados de las cargas energticas. Axiomas para la simulacin computacional del proceso biolgico Para poder simular estos procesos mediante dispositivos computacionales se deben elaborar los siguientes axiomas, sin los cuales no tiene sentido la misma.

Axioma principal

No es importante la substancia fsica de la cual estn hechas las neuronas, sino su funcin. Las neuronas, al igual que el resto de la estructura de los seres vivos estn compuestas por cadenas de tomos de carbono entrelazadas. Sin embargo, la composicin qumica de las mismas no es un factor determinante a la hora de tratar de duplicarlas, sino su funcin. Esto lleva a la idea de que es posible crear una neurona artificial simulando sus funciones en un dispositivo conveniente como ser una computadora. De no existir este supuesto, se tendra que suspender el estudio de las redes neuronales artificiales ya que no se podra fabricarlas. Este axioma nos lleva a pensar en los tejidos cerebrales como una especie de " redes de carbono " , con lo que algunas de sus funciones pueden ser simuladas por dispositivos creados en otro material. Una rueda puede estar hecha en madera, metal o caucho vulcanizado, pero siempre es una rueda.

Axioma secundario

El comportamiento " inteligente " ( limitado en este caso al reconocimiento de patrones ) esta dado por la interrelacin de los mensajes e interacciones de los nodos de la red. Esto significa que de tenerse un sustituto artificial de la neurona y de aplicarse un mecanismo de interaccin entre las mismas similar al utilizado por el cerebro humano, se podran duplicar o simular algunas de las funciones abstractas del mismo. De no contarse con este axioma, tampoco sera posible proseguir con la investigacin ya que no habra forma de reproducir el comportamiento aunque existieran neuronas artificiales.

Considerando entonces la aplicabilidad de los teoremas enunciados, resta entonces definir equivalentes computacionales de los procesos descriptos anteriormente. Equivalentes artificiales de los dispositivos biolgicos El cuadro RN003 muestra la equivalencia entre los elementos artificiales y los biolgicos a los fines de reproducir la trama neuronal

CUADRO RN003 ELEMENTO BIOLGICO Neurona ELEMENTO ARTIFICIAL NODO DE LA RED =

POSICIN DE MEMORIA RAM + ESPACIO DISPONIBLE DE DISCO RGIDO + PROGRAMA DE SOFTWARE NEURONAL Entradas Sensoriales DIGITALIZACION DE IMGENES ARCHIVOS DE COMPUTADORA DE DIVERSOS FORMATOS

Salidas Sensoriales Comportamiento

CREACIN DE ARCHIVO DE COMPUTADORA CON DATOS PROCESADOS ACTIVACIN DE PROGRAMA DE COMPUTADORA PREDEFINIDO ACTIVACIN DE INTERFACES ROBOTICAS ADECUADAS

Interconexin Sinaptica

PREFERENCIAS Y PONDERACIONES DE LA TRANSFERENCIA DE VALORES ENTRE LAS DISTINTAS POSICIONES DE MEMORIA

Pasos para la ejecucin de una red neuronal El proceso artificial consiste en crear un programa de computadora ( software ) que sea capaz de: 1. 1. Obtener datos digitalizados Generar mltiples espacios de memoria. Esto se puede hacer mediante la creacin de mltiples vectores Dar a los mismos un orden de preferencia o ponderacin simbolizando de este modo las distintas capas de neuronas

1.

1.

Asignar a la primera capa el status de capa de entrada, la cual se nutrir entonces de los datos de entrada Asignar a la ultima capa el status de capa de salida, permitiendo que sus valores sean transformados por la interaccin de los dems elementos de la red Asignar a las capas intermedias el status de capas ocultas, permitiendo que sus valores sean modificados por la interaccin de los dems elementos de la red Propagar Adelante: Realizar operaciones de transferencia entre los datos de los capas simulando de este modo las interconexiones sinpticas Recolectar el valor remanente de la capa de salidas, lo cual ser tomado como el valor de la red para la entrada determinada. Una vez obtenida la salida de la red, asignar una accin determinada para la misma, ya sea la creacin de un archivo con la informacin, o la activacin de un dispositivo automtico para la computadora

1.

1.

1.

1.

1.

Paso 1 Obtencin de Datos Digitalizados La red neuronal debe partir como base del equivalente artificial de un estmulo para poder empezar a operar. En el organismo viviente este esta dado por una excitacin de cualquiera de los sentidos o de una combinacin de la excitacin de varios de ellos. En la computadora, este proceso debe dividirse en dos partes: a ) El programa de redes neuronales debe estar prendido, es decir se requiere una activacin externa para que funcione, cosa que es automtica en los seres vivos. b ) Se requiere una entrada, es decir un patrn al cual reconocer. Cualquier entrada debe ser convertida a formato digital para de esa manera poder ser transformada en un archivo susceptible de ser cargado en la computadora. Digitalizar informacin consiste en transformar la misma en una cadena ( strings en ingls ) de ceros y unos llamada cadena de caracteres binarios. Esta cadena se almacena en un archivo o base de datos que guarde los datos de origen. Se denomina genricamente a estos datos. " Trama de Entrada " Tendremos entonces que: El lector que desee continuar indagando sobre este tema encontrar en el Anexo C informacin sumaria relativa a la digitalizacin de datos.

Paso 2 Generacin de espacios de memoria Una de las formas de simular artificialmente neuronas es la de asimilarlas a elementos de vectores o arrays. Cualquier lenguaje de programacin ofrece la posibilidad de crear vectores n - dimensionales llamados tambin arrays. La cantidad de vectores depende de la arquitectura de la red a elegir. La eleccin de la arquitectura ideal requiere un anlisis pormenorizado que excede a la magnitud de este trabajo en especial. El

lector interesado puede encontrar mayor informacin sobre este tema en el Anexo E "Arquitecturas de Red". A los efectos prcticos, esta obra se ha realizado pensando en la arquitectura de una red de retropropagacion con una capa oculta ( 1 Hidden Layer Backpropagation Network ). El nmero inicial de vectores involucrado ser entonces: 1 vector para almacenar la trama de entrada cuyo numero de elementos coincide con el numero de elementos de dicha trama. Ecuacin 1

1 vector para almacenar la capa oculta de tamao variable ( que puede coincidir con el tamao de la trama de entrada ). Ecuacin 2

1 vector para almacenar la trama de salida de un numero de elementos variable segn la cantidad que deba tener la red. Ecuacin 3

En este paso se dimensionan ( crean ) los vectores y se les aade valores iniciales , generalmente ceros. Paso 3 Orden de preferencia o peso para las capas de neuronas Como ha sido explicado en prrafos precedentes, la red trata de simular el movimiento de interconexin sinptica ente distintas capas neuronales, reforzando ( ponderando ) las conexiones mas frecuentes de tal manera que se cree una ruta mas potente dirigida a la salida adecuada. Esto se logra anexando a cada valor de la capa una ponderacin llamada " peso " en el vocabulario especfico. Los pesos se conforman entonces como valores, los cuales se multiplican por los valores de las capas para lograr las " salidas " o resultados que se traspasan de una capa a otra. Ecuacin 4

Los pesos o valores de ponderacin se establecen a priori de la ejecucin efectiva de la red mediante un proceso llamado " entrenamiento " el cual se comentar a posteriori. Para ejecutar una red, entonces se parte de la base que la red ya fue entrenada, lo que implica que existen guardados en una base de datos los valores iniciales de los pesos de los valores.

Estos pesos se deben almacenar en vectores, los cuales habr que dimensionar ( crear ) , por lo que habr que anexar mas vectores a las definiciones explicadas en el paso anterior. La red necesitar entonces:

1 vector para almacenar los pesos de las conexiones de la capa de entrada a la capa oculta. Este vector tendr la misma cantidad de elementos que la trama de entrada y a su vez tendr almacenados las ponderaciones relativas a los patrones que la red puede reconocer por lo que ser un vector de dos dimensiones. Ejemplo: si la trama de entrada tiene 1000 elementos y la red puede reconocer 8 patrones diferentes, el vector tendr una primera dimensin de 1000 y una segunda dimensin de 8. Ecuacin 5

En trminos computacionales deberemos programar: DIM PESOS ( 1000,8 ) para un lenguaje visual ( para Windows ) como VISUAL BASIC 1 vector para almacenar los pesos de las conexiones de la capa oculta a la capa de salida. Ecuacin 6

Este vector debe contener al menos tantos elementos como los del vector de salidas Paso 4 Asignar al primer array el status de capa de entrada, la cual se nutrir de la trama a reconocer Los valores de la trama de entrada se encuentran en este punto en un archivo provenientes de la digitalizacin de los mismos. Se procede a cargarlos en el vector de entradas de la red. Al concluir este paso tendremos a la red lista para empezar a calcular. Paso 5: Asignar al ltimo array el status de capa de salida, permitiendo que sus valores sean transformados por la interaccin de los dems elementos de la red El vector de " Salidas " ya ha sido creado. Si no fueron dados valores iniciales, se debe proceder a realizar esto dando valor 0 a los elementos constitutivos. Paso 6: Asignar a los arrays intermedios el status de " capas ocultas " , permitiendo que sus valores sean transformados por la interaccin de los dems elementos de la red Se repite el proceso del paso 5 para las capas intermedias. Paso 7: Propagar Adelante: Realizar operaciones de transferencia entre los datos de los vectores simulando de este modo las interconexiones sinpticas La transferencia entre datos de los vectores recibe el nombre de propagacin. En el caso de la propagacin hacia adelante consiste en obtener:

1. 2.

Partiendo de la trama de entrada que reside en el vector de entradas, y teniendo como ponderacin a los valores de la " capa de pesos " , residentes en los vectores de " pesos de la capa de entrada " obtener valores para la capa oculta.

3. 1. 2. 1. Almacenar estos valores en el vector de salidas de la red. Partiendo de la capa oculta, y teniendo como ponderacin a los valores residentes en los vectores de la " capa de pesos de la capa oculta " , obtener valores para la capa de salida.

Los valores concretos a transferir a la siguiente capa se obtienen mediante la aplicacin de una funcin de activacin a los datos y luego a la multiplicacin del resultante por los " pesos " correspondientes. Una funcin de activacin consiste en una funcin matemtica que se aplica a los datos originales para obtener un resultado susceptible de poder ponderarse para generar el valor de entrada de la capa siguiente. Este peso simula la fuerza o debilidad de la conexin sinptica entre las neuronas. Cuando el valor del peso asociado sea importante, tendremos el equivalente de una conexin fuerte, y cuando sea insignificante tendremos una conexin dbil. Un peso de valor cero significa una conexin nula. Si se hubiera elegido a la tangente hiperbolica como funcin de activacin esto podra representarse como: Ecuacin 7

La eleccin de una funcin de activacin adecuada es una eleccin " artesanal " del diseador de la red que marca inconfundiblemente su diseo. Dos redes neuronales para el mismo propsito diferirn entre si en la eleccin de sus funciones de activacin, entre otras cosas. Esto les da una caracterstica de " firma " o estilo propio del diseador. Algunos usan una funcin con el objeto de normalizar los datos, como podra ser la funcin sigmoide o la funcin seno. Otros aplican elaboradas funciones hechas a medida de acuerdo a lo que esperan obtener de la misma. El Anexo D ofrece informacin adicional respecto a las funciones de activacin. El siguiente pseudocdigo esquematiza el prrafo anterior:

Valores array de salida = fx( valores array de entrada ) X valores array pesos fx = funcin de activacin Cuando la red ha obtenido una salida, se da por concluido el proceso de propagacin hacia adelante. Paso 8: Recolectar el valor remanente de la capa de salidas Este valor ser el resultado de la bsqueda de la red. El valor puede almacenarse en una variable de memoria o grabarse en un campo de una base de datos para su uso posterior. Algunos programas convierten el resultado a otro formato antes de realizar estas opciones dado que el resultado sin procesar generalmente es un nmero .Una tabla conteniendo estos nmeros como un campo y un campo asociado con las descripciones correspondientes tendran el efecto de poder retornar dicha descripcin como resultado. Paso 9: asignacin de acciones determinadas para la salida de la red

Las acciones que puede tomar un programa en base a la salida de la red pueden ser: Informativas: El programa se limita a informar que ha encontrado una salida para la trama presentada como entrada. Ejemplo : Red neuronal clasificadora de botellas: La red se nutre de la imagen digitalizada de una cmara de vdeo conectada a la misma. La cmara toma la lnea de produccin en donde circulan diversos modelos de botellas, debiendo notificar cuando se detecta alguna botella distinta a los tipos standard programados. La entrada de la red es entonces la trama de las botellas, y la salida es la identificacin del modelo pertinente. Una accin informativa es activar un mensaje en pantalla que advierta cada vez que se detecta una botella extraa.

Operativas En este caso la computadora realiza algn procedimiento adems de informar el suceso. Siguiendo el ejemplo anterior, la computadora ordena a un brazo robot que quite la botella extraa de la lnea de produccin. Alternativamente, la computadora podra abrir una puerta - trampa en el trayecto de la lnea, que haga caer la botella hacia un canasto de desperdicios. Predictivas En este caso la computadora no se limita a observar un fenmeno y describirlo sino a vaticinar la evolucin probable de una variable. Ejemplo: Una red alimentada con datos climticos podra predecir el clima para los prximos das a partir de datos climticos actuales. Utilizando nuevamente el Pseudocodigo para ejemplificar estos pasos es posible tener una primera aproximacin a una red neuronal. PROGRAMA RED NEURONAL UNO INICIAR PROGRAMA DIMENSIONAR MLTIPLES VECTORES ( DE ACUERDO A LA ESTRUCTURA DE LA RED ) SI EXISTE ARCHIVO O BASE DE DATOS DE ENTRADA ENTONCES LEER ARCHIVO Y ASIGNAR VALORES A VECTORES DE ENTRADA EN CASO CONTRARIO TERMINAR PROGRAMA

SI EXISTE BASE DE DATOS DE PESOS PARA LA CAPA DE ENTRADA ENTONCES LEER ARCHIVO Y ASIGNAR VALORES A VECTORES DE PESOS

EN CASO CONTRARIO TERMINAR PROGRAMA SI EXISTE BASE DE DATOS DE SALIDAS ENTONCES LEER ARCHIVO Y ASIGNAR VALORES A VECTORES DE SALIDAS EN CASO CONTRARIO TERMINAR PROGRAMA

ASIGNARLE A TODOS LOS ELEMENTOS VALOR NULO NOMBRAR AL PRIMER VECTOR CAPA DE ENTRADAS NOMBRAR AL ULTIMO VECTOR CAPA DE SALIDAS NOMBRAR A LOS VECTORES INTERMEDIOS COMO CAPAS OCULTAS

HACER MIENTRAS EXISTAN CAPAS OCULTAS RECOGER VALOR DE CAPA PREVIA CALCULAR RESULTADO DE LA FUNCIN DE ACTIVACIN MULTIPLICAR EL RESULTADO POR LOS PESOS CORRESPONDIENTES TRANSFERIR VALOR A LA CAPA SIGUIENTE SI LA CAPA ES LA ULTIMA ENTONCES TRANSFERIR VALORES A LA CAPA DE SALIDAS VOLVER A EMPEZAR LEER VALORES DE LA CAPA DE SALIDA Y ASIGNARLOS A UNA VARIABLE BUSCAR EN BASE DE DATOS DE SALIDAS LA DESCRIPCIN O EL VALOR A RETORNAR POR LA RED PARA CADA VALOR POSIBLE DE SALIDA REALIZAR PROGRAMA ESPECIFICO PARA ESTA OPCIN TERMINAR PROGRAMA

El Cuadro RN004 muestra el primer nivel de un Diagrama de Flujo de Datos de un sistema ejecutor de una red neural. El dispositivo de captura de datos, al cual se hace referencia puede ser tanto un operador humano ( data entry ) como un mecanismo automtico.como:

Acceso directo de INTERNET E - mail Cmara de video Scanner CUADRO RN004 D.F.D. EJECUCIN DE RED NEURAL

Entrenamiento de la red neuronal: peso para las capas de neuronas En el paso 3 se ha expuesto que las capas de pesos deben ser " entrenadas " antes de poder ejecutar efectivamente la red, proceso que equivale a la " memoria " de la misma.

Este entrenamiento consiste en dar a los vectores los valores adecuados para que partiendo de las entradas, puedan ser obtenidas las salidas. El proceso equivale a incrementar o atenuar las conexiones sinpticas entre las neuronas. Anteriormente se expres que la memoria puede ser concebida como la suma de las interconexiones sinpticas. Esto es: ante un estmulo de entrada, se disparan impulsos nerviosos hacia las neuronas que contengan una conexin mas fuerte, con mayor facilidad de transmisin de mensajes.

Obtencin de pesos adecuados: Como ya se ha expresado anteriormente, este procedimiento vara segn la arquitectura de la red a elegir y el diseo del programador de la misma. Por ende, los prrafos siguientes deben ser tomados como ejemplificativos y no como abarcativos de la totalidad del tema a tratar, el cual es motivo de una obra en s misma, dada su amplitud. Uno de los mtodos usuales consiste en determinar los pesos de acuerdo a algn algoritmo de minimizacin del error. Estos algoritmos estn diseados como un proceso recursivo en donde el programador: 1. 2. 3. 1. 2. 1. 2. 1.

Otorga a red valores iniciales a los pesos ( generalmente valores random )

Introduce una trama de ejemplo a la red y su salida esperada correspondiente

ejecuta la red con estos datos.

Mide el error resultante. La medicin en s misma es un proceso artesanal con diversas variantes. A los efectos del presente trabajo se tomar el error como la diferencia entre la salida de red y su salida esperada por lo que tendremos: ERROR = SALIDA ESPERADA - SALIDA OBTENIDA

2. 1. Se determina la tendencia del error variando mnimamente los pesos y ejecutando nuevamente la red. Si el nuevo error disminuye, la tendencia es hacia la minimizacin del error. En caso contrario la tendencia debe ser revertida.

2. 1. Una vez determinada la tendencia, el diseador elige el error mnimo que est dispuesto a aceptar para la misma. A continuacin se establece un proceso iterativo en donde se varan los pesos en direccin a la tendencia y se mide el resultado. Este proceso contina hasta que el error es menor o igual al error mnimo previsto.

2. 1. 2. 1. Los pasos 1 a 7 se repiten tantas veces como tramas de entrada se quiere que reconozca la red. A medida que se ingresa una trama nueva, es necesario un proceso iterativo donde se reintroduzcan los viejos patrones nuevamente , para evitar de ese modo que los pesos asociados a los mismos se vayan A continuacin se suministra otra trama de entrada y su valor de salida y se repiten los pasos 1 a 6 hasta que el error nuevamente sea menos o igual al estipulado.

diluyendo. Los nuevos pesos deben ser capaces de reconocer no solo las tramas nuevas sino tambin las antiguas. 2. 1. Los valores de los pesos resultantes se almacenan en la base de datos de pesos para servir de valores de iniciales para la ejecucin de la red neuronal. En este punto se dice que la red ya est entrenada, por lo que est habilitada para el reconocimiento de los patrones exhibidos en los puntos 2 y 7.

2. 1. 2. 1. La red emite un mensaje al operador informando que est lista para ejecutarse.

El operador ejecuta la red en ese instante o guarda los pesos en el archivo correspondiente para uso posterior y apaga el sistema. El entrenamiento puede ser hecho en un perodo de tiempo anterior al de ejecucin (principio del da) o por personas que no sean el operador de la red. (Existe un entrenador que prepara la red para poder ser utilizada por uno o varios usuarios).

El Cuadro RN005 muestra el Diagrama de Flujo de Datos del Proceso de Entrenamiento de la red Cuadro RN005 DFD del Sistema de Entrenamiento de Red

ANEXO A Simbologa y procedimiento para realizar Diagramas de Flujo de Datos Para diagramar en flujo de los datos partimos de la base de los conceptos fundamentales de los Sistemas: a ) Existen generalmente datos, que provienen de Entes Externos al mismo. Un Ente Externo consiste en un Sistema o Subsistema que provee informacin de entrada pero que no esta comprendido en sistema a estudiar. Ntese que el modelo se refiere a informacin, independientemente del soporte de la misma. La informacin puede ser suministrada en varios soportes. Un soporte de informacin consiste en el medio fsico en el cual se registra la informacin. Puede ser tanto un formulario de papel como un disquete, CD - ROM, e - mail etc.

b ) Existen generalmente datos que se generan como salida del Sistema. Estos datos pueden a su vez ser entradas de otro ente externo. c ) Existen Procesos dentro del sistema. Un proceso es la accin o conjunto de acciones que permiten convertir o transformar los datos de entrada en los datos de salida del Sistema. d ) El Sistema por definicin puede ser descompuesto en sectores llamados subsistemas. Un subsistema consiste en un componente de un sistema mayor, diagramado bajo sus mismas reglas. { Gane y Sarsons 1983 } Sintetizan en su obra una metodologa para el estudio de los sistema utilizando cuatro smbolos bsicos a ) Ente Externo: Se utiliza una figura rectangular b ) Proceso: Se utiliza un crculo c ) Archivo : Se utiliza un rectngulo sin uno de los bordes laterales d ) Flujo de Informacin: Se utiliza una flecha El cuadro A1.1 grafica la simbologa bsica

CUADRO A1.1 SIMBOLOGA BSICA PARA LA DIAGRAMACION DE SISTEMAS

La interpretacin genrica de un diagrama de flujo de datos se encuentra en el CUADRO A1.2 CUADRO A1.2

INTERPRETACIN GENRICA DE UN DIAGRAMA DE FLUJO DE DATOS

De este diagrama se desprende, entonces, que el sistema objeto se nutre de datos de dos entes externos diferentes, la cual sirve para poder realizar tres procesos tras los cuales se obtienen datos de salida para otros dos entes externos. Veamos un ejemplo concreto. Ejemplo: Construir el diagrama de flujo de datos del siguiente subsistema: " Verificacin de Importes Facturados: " Los proveedores envan las facturas al ente, las cuales se verifican para: a ) Constatar el la base de proveedores los datos del mismo y anotar cambios tales como modificaciones del domicilio , razn social, alta de un nuevo proveedor etc. Se modifica la base de proveedores con las novedades emanadas de este proceso b ) Se chequean matemticamente las facturas para constatar los clculos de manera que los importes sean iguales a los precios unitarios multiplicados por las cantidades ( mas/menos los descuentos ) Tenemos entonces que: IMPORTE POR TEM = PRECIO UNITARIO * CANTIDAD A su vez se cheque que el importe total sea la suma de los importes por tems ( antes de determinar los descuentos ) IMPORTE TOTAL = SUMA DE IMPORTES POR TEMS c ) se agregan los datos en la base de datos de facturacin con los importes correctos d ) A pedido del Jefe del Sector se procesan los datos de la tabla de facturacin para poder obtener un listado totalizado de facturacin por da y por proveedor

El cuadro A1.3 ilustra la resolucin de este diagrama

CUADRO A1.3 Verificacin de Importes Facturados

Fin del Anexo A ANEXO B

Introduccin a la utilizacin de pseudocodigo: La utilizacin de pseudocodigos para narrar procesos complejos es ampliamente conocida entre la literatura de Sistemas. Se utiliza para simular ordenes a la computadora sin tener que conocer ni escribir en ningn lenguaje de programacin en especial.

Si bien en esta obra se utiliza un pseudocodigo diseado por el autor, las pautas bsicas se ajustan a los parmetros de cualquier cdigo existente en la bibliografa. { Gane y Sarsons ( 1983 ) } ofrecen amplios ejemplos para el lector interesado. El procedimiento standard para resolver cualquier operacin con la computadora por medio de la programacin consiste en dividir los problemas en una serie de acciones o pasos simples. Una accin compleja consiste entonces en la concatenacin de estos pasos simples. Los pasos a acciones bsicos que deben incorporarse en todo pseudocodigo son los siguientes:

Asignacin de valores a variables

Supngase que se desea trabajar con los valores 100 y 200 la sentencias X = 100 Y = 200 crea dos variables numricas a las que asigna los valores citados.

Realizacin de operaciones matemticas con los valores almacenados en las variables

El valor almacenado en una variable debe poder ser cambiado mediante el uso de operadores matemticos, lgicos o de cadena de caracteres. A los efectos del Pseudocodigo, si se desea sumarle 1 unidad al valor almacenado en la variable X se designa: X = X+1, denotando con ello la suma de una unidad al valor previo de la variable y el almacenamiento de dicho resultado como nuevo valor de la misma: Ejemplos: X = Y+1 El nuevo valor de X pasa a ser el valor de Y mas 1 X = Y^2 El nuevo valor de X pasa a ser el valor de Y elevado al cuadrado X = X^2 El nuevo valor de X pasa a ser el viejo valor de X elevado al cuadrado X = X*Y El nuevo valor de X pasa a ser el viejo valor de X por Y X = X - Y El nuevo valor de X pasa a ser el viejo valor de X menos Y X = X/Y El nuevo valor de X pasa a ser el viejo valor de X divididoY X = 2*( Y^2 ) El nuevo valor de X pasa a ser el viejo valor de 2Y al cuadrado Mediante estos procedimientos, es posible recalcular funciones automticamente. Cambiando el valor de la variable Y para el ultimo ejemplo, obtenemos automticamente un nuevo valor de X consistente en el resultado de elevar el valor al cuadrado y multiplicarlo por 2.

Condiciones lgicas

Una condicin lgica consiste en una clusula que pueda ser respondida con los valores Verdadero o Falso La pregunta Es X igual a uno? ( X = 1? ) solo puede ser respondida Como Verdadero o Falso

La clusula MIENTRAS establece como condicin que un suceso o variable tengan un determinado valor. As MIENTRAS X = 1, establece como condicin que algo va a ser hecho o dejarse de hacer cuando la variable X tenga el valor 1

Expresiones Condicionales: ( Llamadas tambin expresiones IF/THEN/ELSE ) Todo pseudocodigo debe tener estructuras que utilicen las condiciones de tal manera que expresen : Si ocurre una condicin determinada, entonces haga algo Si no ocurre una condicin determinada entonces no haga nada

Ejemplo: Si el valor de X es mayor que el valor de Y entonces termine el programa Si no se ha llegado al final de una base de datos, entonces contine buscando Si hay un error entonces avise al operador del mismo Si X = 1 entonces Y = Y+1

Accin de repeticin condicional e incondicional

Todo pseudocodigo debe tener una instruccin para ordenar cuando una accin debe ser repetida y una que indique hasta donde se debe repetir mientras se cumpla una condicin hasta que se cumpla una condicin siempre un numero determinado de veces

Las ordenes entonces deber ordenar: HACER ( LO SIGUIENTE ) MIENTRAS DE CUMPLA UNA CONDICIN Orden 1 Orden 2 Orden 3

VOLVER A EMPEZAR Genricamente esto significa que las ordenes 1,2 y tres se ejecutaran en secuencia mientras que se cumpla la condicin especificada. Ejemplos: X=0 Y=0

HACER MIENTRAS X SEA MENOR A 1000 Y = Y*X X = X+1 VOLVER A EMPEZAR Este ejemplo acumula en la variable Y el factorial de 1000 ( calcula mil veces el valor anterior multiplicado por cada nuevo dgito es decir : Factorial de 1000 = 1*2*3*4*5......*1000 IR AL PRIMER REGISTRO DE UNA BASE DE DATOS HACER MIENTRAS NO SEA EL FIN DE LA BASE Y = Y+ ( El salario del Empleado del Registro ) IR AL REGISTRO SIGUIENTE VOLVER A EMPEZAR Este ejemplo acumula en la variable Y la nomina salarial de la base de datos Se espera que estos ejemplos brinden al lector una visin sumaria de esta herramienta a los fines de interpretar los ejemplos pertinentes de la parte principal del trabajo. Para mayor detalle, { Gane y Sarsons ( 1983 ) } ofrecen vasto material sobre pseudocodigos. Fin del Anexo B ANEXO C Digitalizacin de datos. conversin de datos a binario Las computadoras utilizan el sistema binario para la representacin de informacin, el cual admite slo valores de 0 y 1. Para convertir informacin a este sistema se recurre a la tcnica llamada digitalizacin que consiste en transformar cualquier informacin en una cadena de ceros y unos. La informacin puede estar en diferentes formatos: 1. 2. 3. 4. 5. 6. 7. 8. 9. Un nmero Una letra Un caracter de computadora que no sea ni letra ni nmero como el signo " ? " Una foto Un dibujo en papel Una tonada musical Una radiografa Una seal de radar Una seal de sonar

10. Una seal de radio 11. Una seal de Televisin 12. Una Tomografa Computada

Caso 1: Un nmero Si la informacin es numrica, basta con convertir la cifra a base 2 ( binario ) . Recordemos que los nmeros comunes estn expresados en base 10, nomenclatura que significa que: 1234 en base10 quiere decir que se compone de la suma de: 4 x 100 3 x 101 2 x 102 1 x 103 1001 en base2 quiere decir que se compone de la suma de: 1 x 20 = 1 0 x 21 = 0 0 x 22 = 0 1 x 23 = 8 En otras palabras, 1001 en base2 es igual a 9 en base10 Todo numero expresado en base2 tiene su equivalente en base10 y viceversa. El algoritmo completo para convertir un nmero binario en decimal de encuentra en el Anexo D

Caso2 : Una letra Existen cdigos para computadora que transforman las letras en nmeros y viceversa Uno de los mas conocidos es el cdigo ASCII, que consiste en 255 caracteres correspondientes a todas las cifras, las letras y los caracteres comunes de computadora. Cualquier letra se transforma en un nmero utilizando este cdigo, y los numero resultantes se digitalizan utilizando el procedimiento descripto en el paso anterior.

Caso 3: Un caracter que no sea ni nmero ni letra Vale aqu lo enunciado en el punto anterior

Caso 4: Una Foto Existen dispositivos llamados Scaners que digitalizan fotos. Su funcionamiento consiste, en esencia, en dividir la foto en miles de puntos diminutos. Recordemos que una fotografa consiste de por s en un conjunto de puntos muy cercanos entre si que dan la apariencia al ojo de ser una unidad. A cada punto se le asigna un numero, correspondiente a una escala de colores ( paleta de colores ) predefinida. Tenemos entonces a la foto convertida en una serie o cadena de nmeros, con los cuales se opera con el procedimiento descripto en el caso 1. Las paletas usuales tienen 16 colores, 256 colores y 16 millones de colores. A medida que utilizamos mas colores, aumenta el tamao de la cadena resultante. Esta cadena se graba en una archivo de computadora y se trabaja con el mismo en forma standard.

Caso 5: Un dibujo en papel Los scaners tambin posibilitan Digitalizar dibujos, por lo que vale lo dicho en el punto anterior

Caso 6: Una tonada musical Las grabadoras digitales de sonidos dividen la onda sonora en fragmentos muy pequeos inaudibles para el odo humano ( se parte la meloda en fracciones de segundo ) y se les asigna un nmero de acuerdo a algn standard vigente. La norma MIDI es la ms popular actualmente. De esta manera se logra tener una cadena de nmeros, a la cual se la trata con el mismo procedimiento descripto en el paso 4. los reproductores digitales, parten de esta cadena y reproducen el sonido equivalente de cada nmero almacenado en ella

Caso 7: Una radiografa La radiografa no deja de ser un tipo especial de placa fotogrfica, por lo que recibe el mismo tratamiento que una foto comn. Vase caso 4

Casos 8 - 12: Seal de radar, sonar, radio etc. El rebote de la onda emitida es captado por dispositivos ad - hoc. Se le da un tratamiento similar a una onda sonora. Vase caso 6 Fin del Anexo C ANEXO D

programacin de algunas funciones de activacin La funcin y objetivos de una funcin de activacin varan dependiendo del objetivo y grado de transformacin deseados por el diseador de la red. Las mas simples de ellas solamente tratan de normalizar los datos como metodologa de trabajo. Esto las vuelve aptas para usarlas como funciones de ejemplo. { Freeman 1992 } utiliza en su obra la funcin sigmoide (o logstica )para la activacin. De la funcin original 1/(1+exp(-x)), la termina convirtiendo en: y = 1/( 1+e^( - x1*x2 ) ) +x3 Programada en Visual Basic : function sigmoide( sigmo1,sigmo2,sigmo3 ) sigmoe = 2.718281828459050 sigmoide = 1/( 1+sigmoe^( sigmo2* - sigmo1 ) ) +sigmo3 exit function El cuadro A4.1 muestra algunas funciones usuales de activacin CUADRO A4.1 Algunas funciones comunes de activacin FUNCIN Conversin a cerouno Coseno Tangente Hiperblica de X Tangente Hiperblica de 1.5 X Seno Sigmoide Simtrica Gaussiana Complemento de Gaussiana f(x)= decimal_a_01(x) cos(x) tanh(x) tanh(1.5*x) sin(x) 2/(1+exp(-x))-1 exp(-x2) 1-exp(-x2)

Ejemplo 1: Conversin a = 0/1 Una funcin simple convierte los datos de entrada a formato de Verdadero/Falso, simbolizado como 0 - 1. Por ejemplo, si lo que importa es saber si los valores son positivos o negativos exclusivamente y no interesa su valor, se pueden convertir todos los datos positivos a 1 y los negativos a 0 con lo que se obtiene el mismo resultado pero con un gran esfuerzo de procesamiento.

El algoritmo en pseudocodigo para esta funcin es: FUNCIN DE - DECIMAL - A - CEROUNO INGRESAR NUMERO DECIMAL SI EL NUMERO ES MENOR O IGUAL A 0 ENTONCES RETORNAR 0 EN CASO CONTRARIO RETORNAR 1 TERMINAR Vemos que el algoritmo consta de una condicin que retorna uno u otro de los dos valores de respuesta valor segn el signa del valor de entrada La programacin de este algoritmo en Visual BASIC es: Funcin Decimal_a_01 ( deci As Variant ) As Double If deci < = 0 Then Decimal_a_01 = 0 Else Decimal_a_01 = 1 End If End Function El formato cero/uno tiene sin embargo la desventaja de que al multiplicar cualquier numero por cero el resultado da cero, por lo que los cambios en los pesos de la red se hacen muy bruscos. Para evitar esto se utilizan, entonces otros sistemas de notacin de dos valores que no sean cero - uno. Los valores bipolares sirven de igual manera que el cero - uno pero utilizan los valores 1 y - 1 por lo que no hay valores nulos en la multiplicacin.La siguiente funcin es una variante de la anterior utilizando valores bipolares. El algoritmo en pseudocodigo para esta funcin es: FUNCIN DECIMAL - A - BIPOLAR INGRESAR NUMERO DECIMAL SI EL NUMERO ES MENOR O IGUAL A 0,5 ENTONCES RETORNAR - 1

EN CASO CONTRARIO RETORNAR 1 TERMINAR Funcin decimal_a_bipolar ( deci As Variant ) As Double If deci < = .5 Then decimal_a_bipolar = - 1 Else decimal_a_bipolar = 1 End If End Function

Ejemplo 3 :Esta funcin retorna el numero decimal equivalente a un numero binario dado. Se utiliza en los casos que se estima conveniente trabajar con datos decimales en vez de datos en cdigo binario Function binario - a - decimal ( b2d As Variant ) As Double b2d = Trim( b2d ) bin2d = 0 lencadena = Len( b2d ) For i = 0 To lencadena - 1 cerouno = Val( Mid( b2d, lencadena - i, 1 ) ) bin2d = bin2d + cerouno * ( 2 ^ i ) Next binario - a - decimal = bin2d End Function

ANEXO E Arquitecturas de redes neuronales Uno de los puntos importantes a plantearse cuando se desea realizar una red neuronal consiste en el diseo de una arquitectura adecuada para el fin propuesto. Este es uno de los aspectos en donde se denota la obra artesanal del diseador, su marca, su "firma". En la prctica, existirn entonces tantas arquitecturas como diseadores halla, en vistas de que cada investigador trata de agregar algn elemento que le confiera a la red una caracterstica especial. Sin embargo, existen algunos modelos standard de redes, los cuales pueden ser utilizados como funcin de testeo. Si la red propuesta no cumple una perfomance mejor que estas redes, entonces el esfuerzo debe ser continuado. Si, por el contrario, la nueva red mejora el rendimiento anterior, se ha llegado a una solucin fructfera del trabajo. Se puede decir que la red de contrapropagacin con una capa oculta o BPN ( 3 layer Back Propagation Network ) consiste en la estructura mas popular de referencia como material de testeo. Ella consiste en tres capas principales: La primera es la capa de entrada , a la cual se le asignan pesos y una funcin de activacin obteniendo de ese modo la capa oculta o segunda capa. Multiplicando la capa oculta por sus pesos y eventualmente su funcin de activacin , se obtiene la capa de salidas o tercera capa. El Cuadro A5.1 muestra el esquema bsico de una BPN con una capa oculta Cuadro A5.1 DFD de una BPN de 3 capas

BPN de cuatro capas (Four layer Back Propagation Network): Su configuracin es similar a la BPN de 3 capas excepto por el aadido de una capa oculta extra. Por ende tiene una capa de entrada, 2 capas ocultas y una capa de salida. Se debe testear esta red contra una BPN de 3 capas para determinar la perfomance optima entra ambas.

Redes con Salto de Conexin: ( Jump Connection Networks ). Es parecida a una BPN pero se diferencia en que cada capa se nutre de las capas anteriores. En una JCN de 3 capas tenemos: 1. 1. 1. Capa de Entradas. Se nutre de las entradas a la red Capa Oculta: Se nutre de la capa de entradas Capa Salida: Se nutre de la capa oculta y de la capa de entradas.

Conceptualmente el esquema de conexiones en una red de hasta 6 capas resulta el expuesto en el Cuadro A5.2

CUADRO A5.2 Esquema de las conexiones de una red con salto de conexin de 6 capas

En este diagrama cada crculo representa una capa de la red y las flechas emanadas las conexiones. Vemos que cada nueva capa recibe conexiones de todas las capas anteriores, por lo que el entrenamiento y la ejecucin de la red se hacen notoriamente mas lentos a medida que agregamos capas a la misma Redes con capas ocultas en paralelo: En este tipo de redes, existen una o varias capas ocultas que contienen cada una funcin de activacin distinta. Por ejemplo puede darse el caso de una red con dos capas ocultas, cada una de las cuales tenga una funcin de activacin diferente, las cuales contribuyen en conjunto a la capa de salidas. El Cuadro A5.3 ilustra esta arquitectura. CUADRO A5.3 Esquema de Red con capas ocultas en paralelo El crculo 1 representa la capa de entradas,el 2 y 3 las capas ocultas en paralelo, y el 4 la capa de salidas. CUADRO A5.3 Esquema de Red con capas ocultas en paralelo

Redes de Mapas Autoasociativos (Red de Kohonen y similares) En este tipo de Redes se caracteriza por poseer dos capas, la capa de entradas y la capa de salidas. Cada elemento de la capa de entradas queda asociado con un elemento de la capa de salidas, lo que tiene especial utilidad para poder agrupar datos en categoras o clases. Cada categora, entonces corresponde a un elemento de la capa de salidas. El cuadro A5.4 muestra un diagrama del funcionamiento de esta red Cuadro A5.4 Red de Mapas Autoasociativos Los ejemplos clsicos a tratar con esta estructura de red son los problemas donde se trata de encontrar el aglutinante o nexo entre los patrones. Por ejemplo dados sntomas de una enfermedad, se requiere conocer el nombre de la patologa. Redes de Memoria Asociativa Bidireccional (BAM) Este tipo de redes consiste en dos capas, la capa de entradas y la de salidas. Su estructura grfica es similar al grfico A5.4. Esta red trata de devolver el patrn original ante una entrada defectuosa del mismo. Esto es: ante una entrada incompleta o defectuosa de una patrn la red retorna el patrn completo. Por ejemplo: Si buscamos "Jos Rodrguez" pero por error ingresamos "Jos Radriguez", una bam devolver el correcto "Jos Rodrguez". Una red BAM asociada a una gua telefnica computadorizada posibilita escribir un nombre incorrecto y que la red devuelva el nombre y la direccin de todos los que se llamen parecido. El Cuadro A5. 5 muestra el DFD de una BAM asociada a una gua telefnica computarizada. Cuadro A5.5 D.F.D. de una BAM asociada a una gua telefnica

S-ar putea să vă placă și