REDES NEURONALES Proyecto final de semestre Oscar Velázquez Longinos, Rogelio Valdez Sánchez Universidad Autónoma del estado de México Centro Universitario UAEM Atlacomulco [email protected] [email protected] Abstract--- El objetivo de este trabajo es con el motivo de tener conocimiento de las redes neuronales para ello se toma en cuenta todos los elementos que constituyen una red neuronal y así tener una mejor comprensión del comportamiento de la misma, donde se abarcarán los temas de reglas de actualización de la Backpropagation entre diversos temas que se relacionan con las redes neuronales. Así mismo para tener un amplio conocimiento para la aplicación de las redes neuronales en los distintos campos de estudio como lo son medicina, inteligencia artificial, aeronáutica, industria en general etc. INTRODUCCION En este trabajo se presentaran algunas investigaciones relacionadas con las redes neuronales que nos ayudaran a comprender con facilidad la estructura y el funcionamiento que genera su uso que pueden facilitar. Las redes neuronales son un elemento importante de las denominadas tecnologías de Inteligencia Artificial. La inteligencia artificial es una disciplina científica y técnica que se ocupa del estudio de las ideas que permiten ser inteligentes a los ordenadores" (definición de H. Winston). Otra posible definición de la Inteligencia Artificial sería: rama de la computación que se encarga de los problemas de percepción, razonamiento y aprendizaje en relación con sistemas artificiales, y que tiene como áreas de investigación a los sistemas expertos y de conocimiento, la robótica, los lenguajes naturales y las redes neuronales. Página 1 de 40 REDES NEURONALES Y a pesar de que el objetivo final de la inteligencia artificial, dotar de inteligencia a los sistemas automatizados. Las redes neuronales, son modelos simplificados de las redes de neuronas que forman el cerebro. Intentan aprender a partir de los datos que se le suministran. Las principales características que diferencian a las redes neuronales de otras tecnologías de Inteligencia Artificial son: • • • Su capacidad de aprendizaje a partir de la experiencia (entrenamiento). Las redes neuronales pueden ser entrenadas para realizar una determinada tarea sin necesidad de un estudiar está a fondo ni programarla usando un lenguaje de programación. Su velocidad de respuesta una vez concluido el entrenamiento. Se comportan también en este caso de manera similar ha como lo hace el cerebro: los seres humanos no necesitamos pensar mucho para identificar un objeto, una palabra, etc. Una vez hayamos aprendido a hacerlo. Su robustez en el sentido de que el conocimiento adquirido se encuentra dispersado por toda la red, de forma que si se modifica una parte se continúan generando cierto número de respuestas correctas (en este caso también hay cierta analogía con los cerebros parcialmente dañados). Página 2 de 40 REDES NEURONALES INDICE CAPITULO 1 RED BACKPROPAGTION ALGORITMO ....................................................................................... pág.4 ESTRUCTURA ............................................................................... pág.5 a 7 GRADIENTE DECENDIENTE ........................................................ pág.7 a 8 DEMOSTRACION DE REGLAS DE APENDIZAJE ..................... pág.8 a 9 RAZON DE APRENDIZAJE ........................................................ pág.9 a 10 MOMENTO ............................................................................... pág.11 a 12 SESGO ..................................................................................... pág.12 a 14 CONTROL DE CONVERGENCIA ............................................ pág.14 a 15 FUNCION DE FINALIZACION .......................................................... pág.16 CAPITULO 2 DESARROLLO DEL PROGRAMA PROBLEMA QUE RESULVE ............................................................. pág.16 DISEÑO Y DESARROLLO ........................................................ pág.17 a 32 FUNCIONAMIENTO ......................................................................... pág.33 EVIDENCIAS (IMAGENES Y CODIGO) .................................. pág.34 a 35 COMENTARIOS .......................................................................................... pág.33 EVIDENCIAS ........................................................................................ pág. 34 a 35 Página 3 de 40 REDES NEURONALES ALGORITMO Paso 1. Inicializar los pesos de la red con valores pequeños aleatorios. Paso 2. Presentar un patrón de entrada y especificar la salida deseada que debe generar la red. Paso 3. Calcular la salida actual de la red. Para ello se presentan las entradas a la red y se calcula la salida de cada capa hasta llegar a la capa de salida, ésta será la salida de la red. Los pasos son los siguientes: Se calculan las entradas netas para las neuronas ocultas procedentes de las neuronas de entrada. Para una neurona j oculta: Paso 4. Calcular los términos de error para todas las neuronas. Paso 5. Actualización de los pesos: para ello utilizamos un algoritmo recursivo, comenzando por las neuronas de salida y trabajando hacia atrás hasta llegar a la capa de entrada, ajustando los pesos de la siguiente forma: Paso 6. El proceso se repite hasta que el término de error resulta aceptablemente pequeño para cada uno de los patrones aprendidos. Página 4 de 40 REDES NEURONALES Estructura >Paso 1. Inicializar los pesos de la red con valores pequeños aleatorios. >Paso 2. Presentar un patrón de entrada y especificar la salida deseada que debe generar la red. >Paso 3. Calcular la salida actual de la red. Para ello se presentan las entradas a la red y se calcula la salida de cada capa hasta llegar a la capa de salida, ésta será la salida de la red. Los pasos son los siguientes: Se calculan las entradas netas para las neuronas ocultas procedentes de las neuronas de entrada. Para una neurona j oculta: En donde el índice h se refiere a magnitudes de la capa oculta; el subíndice p, al pésimo vector de entrenamiento, y j a la j-ésima neurona oculta. El término puede ser opcional, pues actúa como una entrada más. θ Se calculan las salidas de las neuronas ocultas: Se realizan los mismos cálculos para obtener las salidas de las neuronas de salida: Paso 4 . Calcular los términos de error para todas las neuronas. Si la neurona k es una neurona de la capa de salida, el valor de la delta es: La función f debe ser derivable. En general disponemos de dos formas de función de salida: La función lineal: La función sigmoidal: Página 5 de 40 REDES NEURONALES La selección de la función depende de la forma que se decida representar la salida: si se desea que las neuronas de salida sean binarias, se utiliza la función sigmoidal, en otros casos, la lineal. Para una función lineal, tenemos mientras que la derivada de una función sigmoidal es: por lo que los términos de error para las neuronas de salida quedan: Para la salida lineal. Para la salida sigmoidal. Si la neurona j no es de salida, entonces la derivada parcial del error no puede ser evaluada directamente, por tanto se obtiene el desarrollo a partir de valores que son conocidos y otros que pueden ser evaluados. La expresión obtenida en este caso es: donde observamos que el error en las capas ocultas depende de todos los términos de error de la capa de salida. De aquí surge el término propagación hacia atrás. Paso 5. Actualización de los pesos: para ello utilizamos un algoritmo recursivo, comenzando por las neuronas de salida y trabajando hacia atrás hasta llegar a la capa de entrada, ajustando los pesos de la siguiente forma: Para los pesos de las neuronas de la capa de salida: Para los pesos de las neuronas de la capa oculta: En ambos casos, para acelerar el proceso de aprendizaje se puede añadir un término momento. Paso 6. El proceso se repite hasta que el término de error resulta aceptablemente pequeño para cada uno de los patrones aprendidos. Página 6 de 40 REDES NEURONALES Estructura y Aprendizaje de la Red Backpropagation En una red Backpropagation existe una capa de entrada con n neuronas y una capa de salida con m neuronas y al menos una capa oculta de neuronas internas. Cada neurona de una capa (excepto las de entrada) recibe entradas de todas las neuronas de la capa anterior y envía su salida a todas las neuronas de la capa posterior (excepto las de salida). No hay conexiones hacia atrás feedback ni laterales entre las neuronas de la misma capa. La aplicación del algoritmo tiene dos fases, una hacia delante y otra hacia atrás. Durante la primera fase el patrón de entrada es presentado a la red y propagado a través de las capas hasta llegar a la capa de salida. Obtenidos los valores de salida de la red, se inicia la segunda fase, comparándose éstos valores con la salida esperada para así obtener el error. Se ajustan los pesos de la última capa proporcionalmente al error. Se pasa a la capa anterior con una retropopagación del error, ajustando los pesos y continuando con este proceso hasta llegar a la primera capa. De esta manera se han modificado los pesos de las conexiones de la red para cada patrón de aprendizaje del problema, del que conocíamos su valor de entrada y la salida deseada que debería generar la red ante dicho patrón. La técnica Backpropagation requiere el uso de neuronas cuya función de activación sea continua, y por lo tanto, diferenciable. Generalmente, la función utilizada será del tipo sigmoidal. GRADIENTE DESCENDIENTE De acuerdo a Reeves(1964) la utilización del gradiente descendiente consiste en ajustar pesos y bias tratando de minimizar la suma del error cuadrático debido a que es el método de entrenamiento más utilizado. Define una función E (W) que proporciona el error que comete la red en función del conjunto de pesos W. [191,1,2,5]. El objetivo del aprendizaje es encontrar la configuración de pesos que corresponda al mínimo global de la función de error, el principio general del método es el siguiente: Dado un conjunto de pesos W (0) para el instante de tiempo t=0, se calcula la dirección de máxima variación del error. La dirección de máximo crecimiento de la función E (W) en W (0) viene dado por el gradiente ∇E (W). P á g i n a 13 | 58 Página 7 de 40 REDES NEURONALES Posteriormente se actualizan los pesos siguiendo el sentido contrario al indicado por el gradiente ∇E (W), dirección que indica el sentido de máximo decrecimiento de este modo se va produciendo un descenso por la superficie de error hasta alcanzar un mínimo local. W (t +1) = W (t) −α∇E (W). Derivada de la función sigmoidal 1.4 𝜎(𝑥)=función Sigmoidal = 1 1+𝑒 −𝑥 𝛿 𝛿 1 𝜎(𝑥) = ( ) 𝑑𝑥 𝑑𝑥 1 + 𝑒 −𝑥 𝑒 −𝑥 =(1+𝑒 −𝑥)2 1+𝑒 −𝑥 −1 =(1+𝑒 −𝑥)² 1+𝑒 −𝑥 1 1+𝑒 −𝑥 1 =(1+𝑒 −𝑥)² − (1+𝑒 −𝑥)² =(1+𝑒 −𝑥)² − (1+𝑒 −𝑥)² = 𝜎(𝑥) − 𝜎(𝑥) 𝜎 1 = 𝜎(1 − 𝜎) 𝛿 𝑑𝑥 =(1 + 𝑒 −𝑥 )¯¹ =-1=(1 + 𝑒 −𝑥 )¯2 . 𝛿 𝑑𝑥 𝑑1 =-(1 + 𝑒 −𝑥 )¯2 . ( 𝑑𝑥 (1 + 𝑒 −𝑥 ) + 𝑑𝑒 −𝑥 𝑑𝑥 ) = (1 + 𝑒 −𝑥 )¯2 . ( 𝑒 −𝑥 . (−1)) =(1 + 𝑒 −𝑥 )¯2 𝑒 −𝑥 𝑒 −𝑥 =(1+𝑒 −𝑥)¯2 Demostración de reglas de actualización 1.5 𝜕𝐸 𝜕𝛴 1 = (0𝑘 − 𝑇𝑘)² 𝜕𝑊𝑖𝑗 𝜕𝑤𝑦𝑘𝐸²𝐾 2 Página 8 de 40 REDES NEURONALES 2 𝑑 ( 0k − tk) ∑ (0k − tk) 2 𝑑𝑤𝑖𝑗 𝑘𝑡𝑘 ∑ (0k − tk) ( 𝑑0𝑘 𝑑𝑡𝑘 − ) 𝑑𝑤𝑖𝑗 𝑑𝑤𝑖𝑗 𝑘𝑡𝑘 𝑑0𝑘 ) 𝑑𝑤𝑖𝑗 ∑ (0k − tk) ( 𝑘𝑡𝑘 Si 0 k =𝜎 (Xk) 𝑑0𝑘 𝑑𝑥𝑘 = 𝜎(𝑋𝑘)(1 − 𝜎(𝑋𝑘)) 𝑑𝑤𝑖𝑗 𝑑𝑤𝑖𝑗 ∑(0k − tk)σ Xk ) (1 − 𝜎(𝑋 𝑘)) 𝑘𝑡𝑘 𝑑𝑥𝑘 𝑑𝑤𝑖𝑗 Si X k=dwjk-0j 𝑑 𝑥 𝑘 𝑑 𝑤𝑖 𝑘 = : 0𝑗 𝑑𝑤𝑖𝑗 𝑑𝑤𝑖𝑗 = 𝑑𝑤𝑗 𝑑𝑜𝑗 𝑘. 0 𝑗 . 𝑑0𝑗 𝑑𝑤𝑖𝑗 Si 0j=𝜎 (wij.xj) = Wjk ∗ 𝑑 (𝜎(𝑤𝑖𝑗 𝑥𝑗)) 𝑑𝑤𝑖𝑗 = wjk ∗ σ (wijxj) (1 − σ(wij x))j 𝑑𝑤𝑖 𝑗 𝑑𝑤𝑖𝑗 = w j k*0j (1-0 jj) xj Si xj=0j Wjk. 0 j (1-0 j) 0 i 𝑑𝐸 = (∑(0k − tk)σ Xk ) (1 − 𝜎(𝑋 𝑘)) − (𝑊𝑗𝑘 ∗ 0 𝑗(1 − 0)0𝑖) 𝑑𝑤𝑖𝑗 𝑘𝑡𝑘 Si 𝜎 (X k) Página 9 de 40 REDES NEURONALES (0 j (1 − 0j)0 i) ∗ ∑(0k − tk)0 k (1 − 0 k) ) ∗ 𝑄 𝑗 𝑘 𝑘𝑡𝑘 Si 𝝏k=0 k (0 k-t k) (1-0 k) 𝑑𝐸 = 0𝑖 0 𝑗(1 − 0𝑗) ∑ ∂k ∗ W j k 𝑑𝑤𝑖 𝑘𝑡𝑘 Si σj = 0j(1 − 0j) ∑ ∂k Wj k = 0iσj 𝑘𝑡𝑘 LVBP Razón de Aprendizaje Variable 1.6 2.-Razón de Aprendizaje Variable (LVBP) Incrementa la velocidad de convergencia al aumentar la velocidad de aprendizaje en superficies planas y disminuye esta razón cuando la pendiente aumenta. 3.- Razón de Aprendizaje Adaptable ( ) Una forma de incrementar la velocidad de convergencia hacia un mínimo del error cuadrático medio (E) es variando la velocidad de aprendizaje. si E disminuye constantemente, E es negativo para un número de pasos, entonces se debe incrementar la . 4.-Razón de Aprendizaje Adaptable ( ) 2 si E se ha incrementado ( E>0) entonces se debe reducir la . 5. -Reglas del algoritmo VLBP (1) 1.- Si el error cuadrático se incrementa mayor a un porcentaje establecido (1% a 5%) después de haber actualizado W; entonces se descarta la actualización; se multiplica por 0 < < 1 se ajusta a cero (si se utiliza el momento). 6.-Reglas de algoritmo VLBP (2) 2.- si el error cuadrático disminuye después de haber actualizado W, entonces la actualización es aceptada. Página 10 de 40 REDES NEURONALES es multiplicada por un factor >1. Si había sido ajusta a cero, este regresa a su valor original. 7.-Reglas de Algoritmo VLBP 3.- Si el error cuadrático se incrementa en un valor menor a , entonces la actualización de W se acepta pero no cambia. Si había sido ajusta a cero, este regresa a su valor original. Valores típicos: = 1.05 = 0.7 =4% 8.- Cuando la trayectoria viaja en línea recta, y el tamaño del paso tienden a incrementarse con una disminución del error constante. Cuando la trayectoria llega a un valle angosto disminuye rápidamente. 9.-w 1 1,1 w 2 1,1 Ejemplo 10.-Razón de Aprendizaje Error Cuadrático 11.-Variantes del Algoritmo VLBP Delta-bar-delta (R. A Jacobs) Cada parámetro de la red (W y b) tiene su propia razón de aprendizaje. El algoritmo incrementa , para un parámetro si este cambia en la misma dirección por varia iteraciones. Si la dirección del parámetro (p/ej. W) cambia alternamente, entonces debe reducirse la . 12.-Variantes del Algoritmo VLBP (2) Algoritmo de tolerancia SuperSAB (T. Tollenaere) Es similar al Delta bar delta de Jacobs, pero tiene reglas más complejas para ajustar la velocidad de aprendizaje Momento El elegir un incremento adecuado influye en la velocidad con la que converge el algoritmo, se sabe que con este control se puede realizar mediante el parámetro denominado ganancia, normalmente se le asigna un valor pequeño, para asegurar que la red llegue asentarse en una solución. Esta variante añade un término que controla la velocidad de acercamiento al mínimo, acelerándola cuando se está lejos del mínimo y deteniéndola Página 11 de 40 REDES NEURONALES cuando se está cerca (influye en la velocidad del aprendizaje) y está dado por la expresión: El cambio en el peso es proporcional al gradiente del error, siendo α (tasa de aprendizaje) la constante de proporcionalidad – Si α es grande, el error puede oscilar alrededor del mínimo – Si α es pequeña, la convergencia de más lenta Donde es el incremento que sufrió el parámetro w en la Iteración anterior y n es un numero positivo que controla la importancia dada al Incremento anterior y se denomina momento. Aplicación la regla de Se obtiene: Este método trata de ser más estable ya que si la derivada parcial del error respecto al peso tiene el mismo signo en iteraciones consecutivas, la utilización del momento procura un cambio mayor en el peso, acelerando así la convergencia del algoritmo, presenta problemas en proximidades del mínimo. Las mayores tasas de convergencia suelen lograrse para valores grandes tanto de h (siempre que el aumento en dicho valor no produzca inestabilidades) como el momento m. La elección de los pesos iniciales es también importante, ya que la función de error para el PMC puede tener varios mínimos locales, y el punto final de convergencia depende de las condiciones iniciales. Típicamente, dicho problema se resuelve aplicando el algoritmo de retro propagaciones varias veces con diferentes pesos iniciales hasta que se encuentra una solución adecuada. Sesgo 1.8 Página 12 de 40 REDES NEURONALES El algoritmo Backpropagation emplea un ciclo propagación – adaptación de dos fases. Una vez que se ha aplicado un patrón a la entrada de la red como estímulo, este se propaga desde la primera capa a través de las capas superiores de la red, hasta generar una salida. La señal de salida se compara con la salida deseada y se calcula una señal de error para cada una de las salidas. Las salidas de error se propagan hacia atrás, partiendo de la capa de salida, hacia todas las neuronas de la capa oculta que contribuyen directamente a la salida. Sin embargo las neuronas de la capa oculta solo reciben una fracción de la señal total del error, basándose aproximadamente en la contribución relativa que haya aportado cada neurona a la salida original. Este proceso se repite, capa por capa, hasta que todas las neuronas de la red hayan recibido una señal de error que describa su contribución relativa al error total. Basándose en la señal de error percibida, se actualizan los pesos de conexión de cada neurona, para hacer que la red converja hacia un estado que permita clasificar correctamente todos los patrones de entrenamiento. La importancia de este proceso consiste en que, a medida que se entrena la red, las neuronas de las capas intermedias se organizan a sí mismas de tal modo que las distintas neuronas aprenden a reconocer distintas características del espacio total de entrada. Después del entrenamiento, cuando se les presente un patrón Página 6 de 9 arbitrario de entrada que contenga ruido o que esté incompleto, las neuronas de la capa oculta de la red responderán con una salida activa si la nueva entrada contiene un patrón que se asemeje a aquella característica que las neuronas individuales hayan aprendido a reconocer durante su entrenamiento. Y a la inversa, las unidades de las capas ocultas tienen una tendencia a inhibir su salida si el patrón de entrada no contiene la característica para reconocer, para la cual han sido entrenadas, el sesgo para una backpropagation se denota conforme a los siguientes pasos: Sea el problema de clasificación con dos clases con codificación Y = {−1, 1} y con pérdida 0-1, (y, g(x)) = 1{y6=g(x)} y riesgo R(g(x)) = EY/x[(Y/x, g(x))], en el cuál, la predicción óptima viene dada por la regla de Bayes: g(x) = arg inf g(x){R(g(x)) = EY/x[(Y/x, g(x))]} TEOREMA 1: En el problema de clasificación anterior, si D es un conjunto de muestras aleatorias de entrenamiento obtenidas de la distribución PX,Y, y ˆgn es el estimador obtenido a partir de una muestra aleatoria Zn = (Z1, ..., Zn), con Zi = (Xi,Yi), i = 1 : n, se verifica la siguiente descomposición de la esperanza del error de predicción: MPE(ˆgn(x)) = EZn,Y/x[(Y/x, ˆgn(x))] = c1σ2(Y/x) +Sesgo(ˆgn(x)) + c2 Var(ˆgn(x)) (1) donde: c1 = c1(x) =2PZn[ˆgn(x) = g(x)] − 1 c2 = c2(x) =½+1 si ˆg∗D (x) = g(x) Página 13 de 40 REDES NEURONALES −1 en otro caso son constantes dependientes de x (y también del algoritmo), y: Sesgo (ˆgn(x)).=(g(x), ˆg∗D(x)) Var(ˆgn(x)) .=EZn [(ˆg∗D(x), ˆgn(x)]σ2(Y/x).=EY/x[(Y/x, g(x))] donde ˆg∗D es la predicción principal en D definidacomo: ˆg∗D (x)= argming(x) EZn [(g(x), ˆgn(x))] que, en el problema de clasificación, es la moda de las predicciones de las hipótesis entrenadas con muestras de D. Análogamente, puede definirse: ME (ˆgn(x)) = Sesgo (ˆgn(x)) + c2 Var(ˆgn(x)) (3) y su correspondiente valor medio (análogamente para MPE):Página 7 de 9 ME (ˆgn) = EX [ME(ˆgn(X))] = EX[Sesgo(ˆgn(X))] + EX[c2(X)Var(ˆgn(X))] (4) A diferencia de la descomposición en regresión, el término de varianza, puede resultar negativo debido a que c2(x) = −1 en los puntos donde existe sesgo: Sesgo (ˆgn(x)) =(g(x), ˆg∗D(x)) = 1. Ello significa que en estos puntos, cuanto más varianza menor error de generalización. Claramente, esto no ocurre en el caso de regresión con pérdida cuadrática. Por otra parte, es peculiar el término del ruido, pero su expresión sigue rigurosamente el paralelismo con la descomposición con pérdida cuadrática, [Domingos, 2000]. Para la regla de Bayes, su valor resulta intuitivo al ser el riesgo de Bayes en x: c1(x)EY/x[(Y/x, g(x))] = (2PZn [g(x) = g(x)] − 1)EY/x[(Y/x, g(x))] = EY/x[(Y/x,g(x))] Sin embargo, para cualquier otro algoritmo entrenado con muestras de D, dicho valor resulta menor que dicho riesgo si PZn[ˆgn(x) = g(x)] < 1 e, incluso negativo, si PZn[ˆgn(x) = g(x)] < 0.5 con lo que, además, depende del algoritmo utilizado. Así, si el estimador está lejos de ser óptimo, cuanto mayor ruido, mejor es su comportamiento. [Domingos, 2000] estudia el comportamiento de su propuesta de descomposición con árboles de regresión (regression trees) y con clasificadores k-nearest neighbors, y anima a estudiar dicho comportamiento con otros estimadores. Control de convergencia En las técnicas de gradiente descendente es conveniente avanzar por la superficie de error con incrementos pequeños de los pesos. Página 14 de 40 REDES NEURONALES Información local de la superficie. Incrementos grandes: se corre el riesgo de pasar por encima del punto mínimo sin conseguir estacionarse en él. · Incrementos pequeños: aunque se tarde más en llegar, se evita que ocurra esto. El elegir un incremento adecuado influye en la velocidad con la que converge el algoritmo. Sabemos que este control lo podemos realizar mediante el parámetro denominado ganancia. Normalmente se le asigna un valor pequeño (0,05-0,25) para asegurar que la red llegue a asentarse en una solución. Otra manera de incrementar la velocidad de aprendizaje, consiste en utilizar otro parámetro llamado Momento: Un último aspecto a tener en cuenta es la posibilidad de convergencia hacia alguno de los mínimos locales. No se puede asegurar en ningún momento que el mínimo que se encuentre sea global. Una vez que la red se asienta en un mínimo, sea local o global, cesa el aprendizaje, aunque el error siga siendo demasiado alto, si se ha alcanzado un mínimo local. Si se alcanza un mínimo local y el error es satisfactorio, el entrenamiento ha sido un éxito, si no sucede así, puede realizarse varias acciones para solucionar el problema: Cambio de arquitectura (más capas ocultas o más PE) Modificación de parámetros de aprendizaje. Página 15 de 40 REDES NEURONALES Emplear un conjunto de pesos iniciales diferentes. Modificar el conjunto de entrenamiento o presentar los patrones en distinta secuencia. Capítulo 2 Desarrollo del programa PROBLEMAS QUE RESULBE Los TLU resuelven separabilidad en la clasificación de problemas típicamente lineales. Es decir son buenos clasificadores lineales. Los TLU multicapas podría resolver teóricamente cualquier problema pero no se dispone de procedimientos y mucho menos de algoritmos generales de entrenamiento para estos casos. La principal ventaja de la Backpropagation es su capacidad genérica de mapeo de patrones. La red es capaz de aprender una gran variedad de relaciones de mapeo Página 16 de 40 REDES NEURONALES de patrones. No requiere un conocimiento matemático de la función que relaciona los patrones de la entrada y los patrones de salida. La Backpropagation sólo necesita ejemplos de mapeo para aprender. La flexibilidad de esta red es aumentada con la posibilidad de elegir número de capas, interconexiones, unidades procesadoras, constante de aprendizaje y representación de datos. Como resultado de estas características la red Backpropagation es capaz de participar con éxito en una amplia gama de aplicaciones. DISEÑO Y DESARROLLO BACKPROPAGATION I Página 17 de 40 REDES NEURONALES Clase red neuronal Página 18 de 40 REDES NEURONALES Página 19 de 40 REDES NEURONALES Página 20 de 40 REDES NEURONALES Clase neurona Página 21 de 40 REDES NEURONALES Página 22 de 40 REDES NEURONALES Clase sigmoide Pantalla de salida Página 23 de 40 REDES NEURONALES BACKPROPAGATION II Clase net Página 24 de 40 REDES NEURONALES Clase neuron Página 25 de 40 REDES NEURONALES Página 26 de 40 REDES NEURONALES Página 27 de 40 REDES NEURONALES Pantallas de salida Página 28 de 40 REDES NEURONALES Página 29 de 40 REDES NEURONALES Página 30 de 40 REDES NEURONALES Página 31 de 40 REDES NEURONALES Página 32 de 40 REDES NEURONALES . .... Página 33 de 40 REDES NEURONALES FUNCIONAMIENTO Esta programa está diseñado con base a la red Backpropagation esta programa tienes funciones como el momento, función de aprendizaje, pesos esta se refiere a los pesos de la capa oculta ya que esta está constituida por tres capas de entrada oculta y salida, también otra función es el número de neuronas ocultas. Este lo que hace es leer todo en una tabla XOR estos valores se evalúan después de evaluar los pesos. Al terminar de evaluar los valores de los pesos al igual que los datos totales de la sigmoidal. Al introducir los datos de la red Backpropagation 0 y 1 esta te manda los resultados de la sigmoidal, al igual que el error de propagación esto lo hace con un cierto número de iteraciones dados al código principal. Bueno al darte estos datos te manda automáticamente los datos y registros de pesos de la capa oculta la salida de las neuronas, los pesos de la capa de oculta y la salida de las neuronas. Al final de la obtención de los datos esto tiene que mandarte los datos a un documento de texto de los pesos de cada iteración de la capa de salida y de la capa de salida para que grafique el error. Primero lo que graficara es el error por lotes y después el error normal Página 34 de 40 REDES NEURONALES EVIDANCIAS Grafica del error Página 35 de 40 REDES NEURONALES CONCLUCIONES Rogelio Valdes Sánchez Esta parte de la ingeniería es importante ya que esta se aplica para las matemáticas cosa inteligentes virtuales y para las ciencias exactas. Esto se aplica en la tecnología artificial y de última generación. Los usos de estas son mediante las matemáticas y las llamadas redes, redes neuronales que son parte fundamental para la creación desarrollo e invención de nuevas tecnologías como reconocimientos faciales de voz huella dactilar etc. Por otra parte la redes como la red Backpropagation sirve para aceptar y rechazar lo que se llama como error. Por otra parte también esta red regresa al error para corregir. En este documento encontraremos donde se aplica como se aplica y como funciona matemáticamente su derivada etc. Esta investigación describe muchas cosas acerca de la red Backpropagation de sus funciones y actualizaciones y como se desarrolla pasó a paso la red ya mencionada. Esta parte de las redes neuronales abarca y se aplican más tipos de redes y cada una de ellas sirve para trabajar en un tipo de clase ya cada una tiene diferente uso y aplicaciones en las que se pueden desarrollar. Oscar Velázquez Longinos La red Backpropagation aprende y corrige errores mediante un programa desarrollado en java teniendo como resultado una gráfica y conclusiones contundentes sobre pesos y errores producidos por el programa en una serie de operaciones matemáticas basadas en fórmulas matemáticas previamente analizadas e investigadas por diferentes estudiosos de las redes neuronales. En este proyecto desarrollado me fue muy útil ya que pude comprender más a fondo sobre las redes neuronales así mismo comprenderlas y motivarme a quizás utilizarlas en un futuro próximo, considero que es una herramienta muy útil para desarrollar más tecnología que ayude a resolver problemas en la ingeniería y vida diaria, por ello se tiene que estudiar la Backpropagation más a fondo para saber dónde podemos emplearlos. El error que genera una red neuronal en función de sus pesos genera un espacio de n dimensiones, donde n es el número de pesos de conexión de la red, al evaluar el gradiente del error en un punto de esta superficie se obtendrá la dirección en la cual la función del error tendrá un mayor crecimiento, como el objetivo del proceso Página 36 de 40 REDES NEURONALES de aprendizaje es minimizar el error debe tomarse la dirección negativa del gradiente para obtener el mayor decremento del error. REFERENCIAS 1. Rosenblatt, F. Principios de Neurodinámica (Spartan, Washington, DC, 1961). 2. Minsky, ML & Papert, S. Perceptrones (MIT, Cambridge, 1969). 3. Le Cun, Y. Proc. Cognitiva 85 , 599-604 (1985). 4. Rumelhart, DE, Hinton, GE & Williams, RJ en procesamiento distribuido en paralelo: Exploraciones en la microestructura de la cognición. Vol. 1 : Fundamentos (editores Rumelhart, DE & McClelland, JL) 318-362 (MIT, Cambridge, 1986). Las citas 817 Ant sistema: Optimización por una colonia de agentes cooperantes Dorigo, Maniezzo, et al. - 1996 637 Sistema de colonia de hormigas: Un enfoque de aprendizaje cooperativo para el problema del viajante de comercio - Dorigo, Gambardella - 1997 323 Un algoritmo heurístico eficaz para el problema del viajante de comercio Lin, Kernighan - 1973 El problema del viajante: Un estudio de caso en la optimización 273 local. Búsqueda local en la optimización combinatoria - Johnson, McGeoch – 1997 250 1965] "Computer Solutions del problema del viajante - Lin 229 Algoritmos para el ruteo de vehículos y problemas de programación con restricciones de ventana de tiempo - Salomón - 1987 225 La búsqueda tabú reactiva - Battiti, TECCHIOLLI - 1994 157 El viajante de comercio: soluciones computacionales para aplicaciones TSP - Reinelt - 1994 133 ªRobust Taboo Busque el problema de asignación cuadrática, º - Taillard – 1991 131 Algoritmos rápidos para problemas del viajante de comercio geométrica Bentley – 1992 Página 37 de 40 REDES NEURONALES 106 Red Ant: unos agentes móviles se acercan al encaminamiento adaptativo Caro, Dorigo – 1998 105 Las hormigas pueden colorear los gráficos - Costa, Hertz - 1997 89 Híbridos genéticos para el problema de asignación cuadrática - Fleurent, Ferland – 1993 66 Un esquema de recocido mejorado para el QAP - Connolly - 1990 66 El sistema de hormiga: Un proceso de optimización autocatalítico - Dorigo, Maniezzo, et al. - 1991 54 Travelling Salesman-Tipo Combinatoria problemas y su relación con la logística de la Sangre-Banking - o - 1976 51 M .: Las colonias de hormigas para el QAP - Gambardella, Taillard, et al. – 1999 45 Agentes móviles para enrutamiento adaptativo - Caro, Dorigo - 1998 27 Q .: Self-Guided algoritmo genético - Chen, Chang, et al. - 2008 25 Problemas hamiltonianos de Sendero en la optimización on-line de sistemas de fabricación flexibles - Ascheuer - 1996 22 Enrutamiento de vehículo: Manipulación intercambios borde - Kinderwater, Savelsbergh – 1997 21 Una implementación eficiente de los algoritmos de búsqueda local para los problemas de enrutamiento contrained - Savelsbergh - 1990 15 apprendimento automatico, ed Algoritmi basati Do metafora naturale (Optimización - Dorigo, Ottimizzazione - 1992 Un enfoque plano de corte al problema ordenamiento secuencial (con 14 aplicaciones a la planificación de trabajos en la industria manufacturera Ascheuer, Escudero, et al -. 1993 14 El viaje asimétrica vendedor politopo con restricciones de precedencia Balas, Fischetti, et al. - 1995 Página 38 de 40 REDES NEURONALES 14 k-intercambio procedimientos de búsqueda local en una prioridad limitada problema de enrutamiento - Psaraftis - 1983 Un enfoque relajarse y corte de Lagrange para el problema de 12 ordenamiento secuencial con relaciones de precedencia - Escudero, Guignard et al. - 1994 11 Un algoritmo inexacto para el Problema de pedido secuencial - Escudero – 1988 7 Precedencia limitado de enrutamiento y helicóptero programación: diseño heurístico. Interfaces 22 - Timlin, Pulleyblank - 1992 Página 39 de 40 REDES NEURONALES Página 40 de 40