Introduccion a las redes neuronales

2,288 views

Published on

Introduccion a las redes NEURONALES

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,288
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
63
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduccion a las redes neuronales

  1. 1. Introducción a Las redes Neuronales (Neurales) CO-6612Coordenadas iniciales: Prof. Minaya Villasana Oficina: CBI-112 Extension: 906 3386 forma más fácil (preferida) de contacto: mvillasa@usb.ve Introducción a las Redes Neuronales Artificiales
  2. 2. • Bibliografia: – Simon Haykin, Neural Networks: A comprehensive Foundation, Segunda Edición, Prentince Hall, 1998. – Christopher Bishop, Neural networks for pattern recognition, Oxford press, 1995. – " Neural Networks Toolbox: Users guide. Version 4", H. Demuth and M. Beale (Disponible en http://www.mathworks.com/access/helpdesk/h elp/pdf_doc/nnet/nnet.pdf) – Otros recursos en internet y en biblioteca central. – Página del curso: http://prof.usb.ve/mvillasa/ Introducción a las Redes Neuronales Artificiales
  3. 3. • Sistema de Evaluación: – Proyecto asignado (30%) • Será una data común para todos que deben analizar (clasificar, interpolar) con cierto grado de dificultad asociado. Se espera que ustedes realicen un analisis profundo de la data y obtener los mejores resultados. • El proyecto es la última entrega del trimestre en semana 11/12 y lo tendrán desde la semana 8/9 (aprox.) – Proyecto de Investigación (20%) • A discreción del estudiante. • Trabajos publicados (mas no trabajos hechos por ustedes mismos), temas complementarios, etc. • Consiste en una presentación. – Tareas (50%) • Me gustan mucho las tareas (una especie de adicción). • Las tareas vencen a las dos semanas de ser entregadas. Introducción a las Redes Neuronales Artificiales
  4. 4. • Horario y demás menudencias: – Horario tentativo: • Viernes 1:30 a 4:30 p.m. • CBI-131 – Para la semana 10/11 el grueso del curso debe estar listo. Introducción a las Redes Neuronales Artificiales
  5. 5. INTRODUCCIÓN A LASREDES NEURONALES Y SUS APLICACIONES Introducción a las Redes Neuronales Artificiales
  6. 6. IntroducciónUna red neuronal artificial es una herramienta diseñada paraemular la forma en que el cerebro humano funciona ¿ Cómo funciona el cerebro humano ? ¿ Cómo aprende el ser humano ? ¿ Dónde se guarda el conocimiento ? ¿Por qué es tan eficiente el cerebro humano ? Introducción a las Redes Neuronales Artificiales
  7. 7. IntroducciónEl cerebro humano está compuesto por una gran cantidad de elementosbásicos denominados neuronasBásicamente las neuronas están formadas por:• Un cuerpo central o Núcleo• Un mecanismo de conexión conotras neuronas (sinapsis): Axón y dendritas Introducción a las Redes Neuronales Artificiales
  8. 8. Introducción http://www.4colorvision.com/pix/pyramidpix.gifIntroducción a las Redes Neuronales Artificiales
  9. 9. IntroducciónLos estímulos recibidos en el cerebro sontransmitidos entre las neuronas mediante lasconexiones sinápticas.Cuando una neurona es estimulada libera unapequeña cantidad de un componente químico(neurotransmisor). Este viaja a través del axónhasta llegar a las dendritas de otras neuronas en lascuales el proceso se repite.Este proceso sirve para incrementar odisminuir la relación entre las neuronasinvolucradas en el.Así, ante un determinado estímulo ciertasneuronas se activan y otras se inhiben Introducción a las Redes Neuronales Artificiales
  10. 10. Introducción Ejemplo RespuestaEstímulo 1Estímulo 2 Respuesta Introducción a las Redes Neuronales Artificiales
  11. 11. IntroducciónMediante un proceso de aprendizaje se logran establecer losniveles correctos de activación-inhibición de las neuronasCuando este proceso se completa entonces ante determinadosestímulos sabemos como responder y “aprendemos”El “conocimiento” adquirido está entonces en los niveles derelación entre las neuronas logrados durante el proceso deaprendizajeEl cerebro es “entrenado” por repetición de estímulos ! Ejemplo: Los niños ! Introducción a las Redes Neuronales Artificiales
  12. 12. Introducción¿ Cómo puede ser el cerebro tan eficiente ?Por la enorme cantidad de neuronas (aprox. 100 billones) yla manera en que están interconectadas (aprox. 60 trillonesde sinapsis)Por la capacidad de organizarse, construir reglas y aprenderde la experiencia¿ Qué es y cómo construir una red neuronal artificial? Introducción a las Redes Neuronales Artificiales
  13. 13. IntroducciónEmulando entonces el funcionamiento del cerebro construiremosredes neuronales artificiales interconectando elementos deprocesamiento más básicos como las neuronas. Feedforward neural network Kohonen networkHopfield networkPara entender las redes neuronales artificiales es necesarioentender y modelar las unidades más básicas o neuronasartificiales Introducción a las Redes Neuronales Artificiales
  14. 14. IntroducciónRedes Neuronales Artificiales Is a massive parallel distributed processor that has a natural propensity for storing experimental knowledge and making available for use (Haykin, 1994) Introducción a las Redes Neuronales Artificiales
  15. 15. Introducción Beneficios de usar RNA• Generalización: Capacidad para producir respuestas razonables a estimulos no presentados durante su entrenamiento.• Adaptabilidad: La red puede ser construida para adaptar sus pesos sinápticos al medio ambiente (re- entrenar).• Robusta: Por su caracter distributivo, una red maneja muy bien daños a su estructura (ruido).• Complejidad: Puede capturar comportamiento complejo que no es posible con métodos tradicionales.• No-paramétrico: No hace suposiciones a priori. Introducción a las Redes Neuronales Artificiales
  16. 16. MODELO DE UNA NEURONA Introducción a las Redes Neuronales Artificiales
  17. 17. Modelo de una neuronaDendritas: Pesos sinápticos:Para recibir el estímulo o Cada dendrita tendrá un peso wjestablecer las conexionessinápticas para guardar el conocimiento adquirido w1 w2 Μ wm Axón: Para enviar la respuesta Núcleo: Para procesar la información Introducción a las Redes Neuronales Artificiales
  18. 18. Modelo de una neuronaLos estímulos se consideran vectores ( x1 , x 2 , Κ , x m )Cada entrada del vector corresponde a un estímulo o variable en particular de la cualse tiene cierta cantidad de observaciones o valores.Cuando se recibe el estímulo, cada entrada de este es multiplicada por elcorrespondiente peso sináptico de la dendrita que recibe dicho valor, y luego cadauno de estos resultados se suman. x1 w1 m x2 w2 w x1 + w2 x2 +Κ + wm xm = ∑wj xj 1 j=1 ΜΜ wm xm Este valor se considera como el estímulo que recibe la neurona Introducción a las Redes Neuronales Artificiales
  19. 19. Modelo de una neuronaEl estímulo es procesado en el núcleo mediante la operación ⎛m ⎞ ϕ ⎜ j= 1 ⎟ ( ⎜ ∑wj x j + b ⎟ = ϕ X tW + b ) ⎝ ⎠ ϕ Se denomina función de transferencia o activación b es el parámetro de sesgo o bias x1 w1 x2 w2 ∑ ϕ ( X tW + b) ΜΜ wm xm Este valor se considera como la respuesta de la neurona al estímulo recibido Introducción a las Redes Neuronales Artificiales
  20. 20. Modelo de una neuronaEn conclusión, los parámetros del modelo de una neurona son:• La función de transferencia ϕ• El conjunto de pesos sinápticos W• El parámetro de sesgo b Este puede ser considerado como un peso sináptico w = b asociado a 0 una dendrita que recibe siempre el estímulo x0 = 1 ⎡1⎤ ⎡b⎤ ⎛m ⎞ ⎛m ⎞ ⎢x ⎥ ⎢w ⎥ ⎜ j=1 ⎟ ⎜ j= 0 ⎟ ( ϕ⎜ ∑wj x j + b ⎟ = ⎜ ∑wj x j ⎟ =ϕ X tW ) X =⎢ 1⎥ W =⎢ 1⎥ ⎝ ⎠ ⎝ ⎠ ⎢Μ ⎥ ⎢Μ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣xm ⎦ ⎣wm ⎦ Introducción a las Redes Neuronales Artificiales
  21. 21. ACERCA DE LA FUNCIÓN DE ACTIVACIÓN Introducción a las Redes Neuronales Artificiales
  22. 22. La función de activaciónLa función de activación se utiliza para limitar el rango de valores dela respuesta de la neurona.Generalmente los rangos de valores se limitan a [0,1] o [-1,1], sinembargo otros rangos son posibles de acuerdo a la aplicación oproblema a resolver.Existen diversas funciones de activación y la decisión entre una uotra dependerá nuevamente de la aplicación o problema a resolver.Existen funciones de activación comúnmente utilizadas y con lascuales se han obtenido resultados satisfactorios en diversasaplicaciones. Introducción a las Redes Neuronales Artificiales
  23. 23. La función de activaciónLa función Umbral o threshold function Esta función está definida como ⎧ 1 si x ≥ 0 ϕ (x) = ⎨ ⎩ 0 si x < 0 La respuesta de la neurona es entonces 1 o 0. Estos valores se pueden asociar a verdadero o falso y esta condición dependerá de si X tW ≥ − b o X tW < − b Generalmente se utiliza para establecer criterios de clasificación. Por ejemplo, 1=Elemento tipo A, 0=Elemento tipo B En matlab la función se denomina hard-limit function Introducción a las Redes Neuronales Artificiales
  24. 24. La función de activación 1 X tW +b ≥ 0 1 = -1 1 0 = -1X tW +b ≤ 0 ⎡0⎤ ⎡1⎤ W = ⎢1⎥ X = ⎢x⎥ ⎢ ⎥ ⎢⎥ X tW + b = x + y ⎢1⎥ ⎣⎦ ⎢ y⎥ ⎣ ⎦ Introducción a las Redes Neuronales Artificiales
  25. 25. La función de activación Ejemplo: ⎡0⎤ ⎡0.8⎤ ⎢1⎥ ⎢1⎥estímulo X = ⎢ ⎥ Pesos sinápticos W = ⎢ ⎥ sesgo b = −1 ⎢−1⎥ ⎢1⎥ ⎢ ⎥ ⎢ ⎥ ⎣0⎦ ⎣0.5⎦Cuál es la respuesta de la neurona si se utiliza la función umbral ? X tW +b = 0 * 0.8 +1*1 −1*1 + 0 * 0.5 −1 = −1 ϕ (− 1) = 0 Introducción a las Redes Neuronales Artificiales
  26. 26. La función de activaciónLa función signo Esta función está definida como ⎧ − 1 si x < 0 ⎪ ϕ ( x ) = ⎨ 0 si x = 0 ⎪ 1 si x > 0 ⎩ La respuesta de la neurona es entonces -1, 0 o 1. ϕ 1 -1 En matlab la función se denomina hardlimits Introducción a las Redes Neuronales Artificiales
  27. 27. La función de activación X tW +b > 0 1 1 = -1 = -1 1 0 =X tW +b < 0 -1 X tW +b = 0 X tW + b = x + y Introducción a las Redes Neuronales Artificiales
  28. 28. La función de activación Ejemplo: ⎡0⎤ ⎡0.8⎤ ⎢1⎥ ⎢1⎥estímulo X = ⎢ ⎥ Pesos sinápticos W = ⎢ ⎥ sesgo b = −1 ⎢−1⎥ ⎢1⎥ ⎢ ⎥ ⎢ ⎥ ⎣0⎦ ⎣0.5⎦Cuál es la respuesta de la neurona si se utiliza la función signo ? X tW +b = 0 * 0.8 +1*1 −1*1 + 0 * 0.5 −1 = −1 ϕ (− 1) = − 1 Introducción a las Redes Neuronales Artificiales
  29. 29. La función de activaciónLa función logística Esta función está definida como ϕ (x ) = 1 x ∈ R, α > 0 1 + exp (− α x ) Es una de las funciones más utilizadas en la construcción de redes neuronales Es continua a valores en [0, 1] e infinitamente diferenciable Es la versión continua de la función umbral y se utiliza en problemas de aproximación ϕ 1.4 α =3 1.2 α =1 1 0.8 α = 0.3 0.6 0.4 En matlab la función se 0.2 denomina logsig 0 -10 -5 0 5 10 Introducción a las Redes Neuronales Artificiales
  30. 30. La función de activación Ejemplo: ⎡0⎤ ⎡0.8⎤ ⎢1⎥ ⎢1⎥estímulo X = ⎢ ⎥ Pesos sinápticos W = ⎢ ⎥ sesgo b = −1 ⎢−1⎥ ⎢1⎥ ⎢ ⎥ ⎢ ⎥ ⎣0⎦ ⎣0.5⎦Cuál es la respuesta de la neurona si se utiliza la función logística conparámetro 1 ? X tW +b = 0 * 0.8 +1*1 −1*1 + 0 * 0.5 −1 = −1 ϕ (− 1 ) = 1 = 0 . 2689 1 + exp (1) Introducción a las Redes Neuronales Artificiales
  31. 31. La función de activaciónLa función tangente hiperbólica Esta función está definida como 1 − exp (− α x ) ϕ ( x ) = tanh( x / 2) = x ∈ R, α > 0 1 + exp (− α x ) Es la versión continua de la función signo y se usa en problemas de aproximación Es importante por sus propiedades analíticas Es continua a valores en [-1, 1] e infinitamente diferenciable 1.5 ϕ α =3 1 α =1 0.5 α = 0.3 0 -0.5 -1 En matlab la función se denomina tansig -1.5 -10 -5 0 5 10 Introducción a las Redes Neuronales Artificiales
  32. 32. La función de activación Ejemplo: ⎡0⎤ ⎡0.8⎤ ⎢1⎥ ⎢1⎥estímulo X = ⎢ ⎥ Pesos sinápticos W = ⎢ ⎥ sesgo b = −1 ⎢−1⎥ ⎢1⎥ ⎢ ⎥ ⎢ ⎥ ⎣0⎦ ⎣0.5⎦Cuál es la respuesta de la neurona si se utiliza la función tangentehiperbólica con parámetro 2 ? X tW +b = 0 * 0.8 +1*1 −1*1 + 0 * 0.5 −1 = −1 ϕ (− 1) = 1 − exp ( 2 ) = − 0 . 76159 1 + exp ( 2 ) Introducción a las Redes Neuronales Artificiales
  33. 33. La función de activaciónLa función Lineal Esta función está definida como ϕ (x ) = x x∈R No limita la respuesta de la neurona Se utiliza en problemas de aproximación o estimación lineal ϕ 3 2 1 1 2 3 En matlab la función se denomina purelin Introducción a las Redes Neuronales Artificiales
  34. 34. La función de activaciónUna regresión lineal simple puede ser vista como la respuesta de unaneurona con función de activación lineal ⎡1⎤ ⎡b⎤ X =⎢ ⎥ W =⎢ ⎥ X tW = ax+ b ⎣ x⎦ ⎣a⎦ b ∑ 1 ϕ ( X tW ) = ax + b x a Introducción a las Redes Neuronales Artificiales
  35. 35. La función de activaciónLa función Lineal acotada Esta función está definida como ⎧0 si x ≤ 0 ⎪ ϕ ( x ) = ⎨ x si 0 ≤ x ≤ 1 ⎪ 1 si x ≥ 1 ⎩ ϕ 1 1 En matlab la función se denomina satlin (saturating linear) Introducción a las Redes Neuronales Artificiales
  36. 36. La función de activaciónLa función Lineal acotada simétrica Esta función está definida como ⎧− 1 si x ≤ − 1 ⎪ ϕ ( x ) = ⎨ x si − 1 ≤ x ≤ 1 ⎪ 1 si x ≥ 1 ⎩ ϕ 1 -1 1 -1 En matlab la función se denomina satlins (symmetric saturating linear Introducción a las Redes Neuronales Artificiales
  37. 37. La función de activación Estímulo X tW + b = 0 * 0.8 + 1*1 − 1*1 + 0 * 0.5 − 1 = −1 Función de activación Respuesta Umbral o threshold 0 Signo -1 logística 0.2689 Tangente Hiperbólica -0.76159 Lineal -1 Lineal Acotada 0 Lineal Acotada Simétrica -1La escogencia de la función de activación depende de laaplicación o problema a resolver ! Introducción a las Redes Neuronales Artificiales
  38. 38. ACERCA DE LOS PESOS SINÁPTICOS w1 w2 ∑ Μ wm Introducción a las Redes Neuronales Artificiales
  39. 39. Los pesos sinápticosRecordemos que los pesos sinápticos sirven para guardar elconocimiento adquirido.En analogía con el funcionamiento del cerebro, los valores de lospesos sinápticos se obtienen mediante un proceso de aprendizaje.Este proceso de aprendizaje puede ser dividido en: Paradigmas deaprendizaje y algoritmos de entrenamiento.• Paradigmas de aprendizaje Corresponden a la manera en que la red neuronal interactúa o se relaciona con el ambiente en el cual opera. Básicamente existen 2 tipos de paradigmas: Aprendizaje supervisado (Supervised learning) Aprendizaje no supervisado (Non supervised learning) Introducción a las Redes Neuronales Artificiales
  40. 40. Los pesos sinápticos• Algoritmos de entrenamiento Son técnicas matemáticas o heurísticas bien establecidas a través de los cuales se obtienen los valores de los pesos sinápticos y el parámetro de sesgo. Estos algoritmos NO modifican la función de activación elegida para el modelo de red neuronal que se entrena. Lo que hacen es modificar los pesos sinápticos utilizando el valor anterior de este mas un factor de corrección W nuevo =W viejo + ΔW y se diferencian uno de otro en la forma en que dicha corrección es obtenidaExisten una amplia variedad de algoritmos de entrenamiento cada cualcon sus fortalezas y debilidades.Distintos paradigmas de aprendizaje junto con distintos algoritmos deentrenamiento producen diversas redes neuronales Introducción a las Redes Neuronales Artificiales
  41. 41. Los pesos sinápticos Existen muchos algoritmos de entrenamiento, algunos de los cuales se mencionan aqui:•Error correction learning or delta rule: es un aprendizaje supervisado,en donde se usa el error obtenido en la presentación del estímulo paradeterminar el factor de corrección.•Competitive learning: las neuronas compiten entre si para hacerse activasestableciendo. Solo una se activa a la vez (especialización).•Hebbian learning: correlaciona la actividad pre y post sináptica (si ambasneuronas se activan se fortalece la conexión y se debilita en caso contrario).Aquí el factor de corrección es multiplicativo entre la actividad pre y postsináptica.•Memory Based learning: la red almacena data ya procesada en memoria. Unnuevo patrón es procesado según su cercanía (en sentido euclideo) a un patrónen memoria. Introducción a las Redes Neuronales Artificiales
  42. 42. Los pesos sinápticosError correction learning or delta rule Se utiliza bajo un paradigma de entrenamiento supervisado. La respuesta de la red neuronal se compara con la respuesta deseada y el error cometido se utiliza para modificar los pesos sinápticos Neuron k x1 wk 1 Yk =ϕk (∑wkj xj ) x2 wk 2 ∑ Μ Μ wkm xm α = Constante de aprendizaje wkj (η +1) = wkj (η) +α ek (η) x j (η) ek = dk −Yk = Error cometido Δwkj Introducción a las Redes Neuronales Artificiales
  43. 43. Los pesos sinápticosHebbian learning or activity product ruleEs el postulado de entrenamiento más antiguo y se basa en consideracionesdesarrolladas por Hebb, D.O (1949) en su libro The organization of behavior:A neuropsychological theoryEl postulado de Hebb establece básicamente que: Cuando dos neuronas conectadas (sinápsis) se activan simultáneamente, la relación entre estas se fortalece. En caso contrario, la relación se debilita o es eliminada.La formulación matemática apropiada es establecer entonces la correlaciónentre el estimulo de entrada y la respuesta a dicho estímulo y utilizar estainformación para actualizar el valor de los pesos sinápticos xj wkj (η +1) = wkj (η) +α yk (η) x j (η) w kj Yk Δwkj Neuron k Introducción a las Redes Neuronales Artificiales
  44. 44. Los pesos sinápticosCompetitive LearningEn este tipo de algoritmos se establece un mecanismo de competenciaentre las neuronas y la respuesta de la red ante un determinado estímuloproviene exclusivamente de la neurona ganadora Wj (t +1) = Wj (t ) + η(t ) [ X (t ) −Wj (t ) ] Δ w kj X (t ) Es esta característica la que hace que este tipo de algoritmos sean apropiados para descubrir patrones en un conjunto de datos y que por lo tanto sean usados para clasificación Introducción a las Redes Neuronales Artificiales
  45. 45. Los pesos sinápticos Memory based learning• En este tipo de entrenamiento las experiencias pasadas están almacenadas en la “memoria” de ejemplos que han sido clasificados correctamente.• En este tipo de entrenamiento un nuevo patrón de entrada escomparado con k patrones cercanos (concepto de vecindad) y luego es asignado la clasificación más frecuente en la vecindad.Las RBF utilizan este tipo de postulado en su entrenamiento, al igual que las redes SOMDistancias ||x-y||• Euclidea : ||x-y|| x• Producto interno : xt*y y xTy Introducción a las Redes Neuronales Artificiales
  46. 46. Arquitecturas Arquitecturas• Una capa, feedforward• Multicapa feedforward• Redes recurrentes Introducción a las Redes Neuronales Artificiales
  47. 47. Problemas Qué tipos de problemas se pueden resolver?• Asociación de patrones: escritura. La red es presentada con muchos ejemplos de un patron hasta “guardar” el patron, luego al ser presentado una versión con ruido esta es capaz de reconocer el patrón.• Clasificación: una la red es entrenada con ejemplos de clasificación conocida.• Aproximación de funciones. Identificación, problemas inversos.• Control: se conoce una señal de referencia y el objetivo es ajustar los parámetros libres para seguir la salida deseada.• Filtro: son útiles en predicciones. Introducción a las Redes Neuronales Artificiales

×