REDES NEURONALES Mapas con Características Autoorganizativas Som

7,450 views

Published on

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,450
On SlideShare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
230
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

REDES NEURONALES Mapas con Características Autoorganizativas Som

  1. 1. Mapas con Características Autoorganizativas ( SOM )
  2. 2. Introducción
  3. 3. La corteza cerebral <ul><li>La corteza es, en esencia, una capa extensa (de 1m 2 aprox., en humanos adultos) y fina (entre 2 y 4 mm de grosor) que consta de seis capas de neuronas de distintos tipos y densidades. </li></ul>
  4. 4. Nuestro Cerebro
  5. 5. Mapas en Neurobiologia <ul><ul><li>Mapa Retinóptico: visión, colliculus superior </li></ul></ul><ul><ul><li>Mapa Fonotópico: auditivo, corteza auditiva. </li></ul></ul><ul><ul><li>Mapa Somatotópico: Tacto, corteza somatosensoria. </li></ul></ul><ul><ul><li>Mapa de las funciones neuronales relacionadas con las regiones identificables del cerebro. </li></ul></ul>
  6. 6. “ El Homunculus” Es una representación distorsionada de la relación entre las partes del cuerpo y las regiones del cerebro que controlan a ellas
  7. 7. Professor of Computer Science, Computer Science Department, Biology Department, Department for Physics and Astronomy. Director, Laboratory of Computational and Biological Vision Director, Institut für Neuroinformatik , Ruhr-Universität Bochum, Germany Ph D. Christoph von der Malsburg (1970´s)
  8. 8. His research areas are the theory of self-organization, associative memories, neural networks, and pattern recognition, in which he has published over 300 research papers and four monography books. His fifth book is on digital computers. His more recent work is expounded in the tercera edicion extendida (2001) Teuvo Kohonen Dr. Eng., Emeritus Professor of the Academy of Finland; Academician of his book Self - Organizing Maps . (1980´s)
  9. 9. Información general <ul><li>Para la emulación de un sistema biológico sin conexiones de tipo no lineal centro-encendido/contorno-apagado, Kohonen diseño un método simple . </li></ul><ul><li>Creó los Self-organizing Feature Map (SOFM) que significa “Red de Mapas Auto-organizativos”. </li></ul>
  10. 10. AUTOORGANIZACIÓN <ul><li>Consiste en la modificación de la red completa para llevar a cabo un objetivo específico. </li></ul><ul><li>Generalización es la facultad de las redes de responder adecuadamente cuando se les presentan datos o situaciones a las que nunca había sido expuesta anteriormente . </li></ul>
  11. 11. Arquitectura
  12. 12. ARQUITECTURA <ul><li>Arquitectura no-supervisada. </li></ul><ul><li>Consiste de un número de neuronas organizadas en una red n-dimensional. </li></ul><ul><li>Cada neurona es conectada a todas las otras neuronas, pero es localmente conectada solo a sus vecinas. </li></ul><ul><li>Cada neurona tiene un vector de pesos W de entrada asociado y la neurona con el vector de peso más cercano a la entrada P se activará. </li></ul>
  13. 15. Características
  14. 16. Aprendizaje competitivo <ul><ul><li>Las neuronas compiten unas con otras para llevar a cabo una tarea dada. </li></ul></ul><ul><ul><li>Tienen conexiones recurrentes de autoexitación y de inhibición por parte de neuronas vecinas. </li></ul></ul><ul><li>La competición entre neuronas se realiza en todas las capas de la red. </li></ul>
  15. 17. <ul><li>Este aprendizaje, categoriza (cluster) los datos introducidos en la red. </li></ul><ul><li>Las clases o categorías deben ser creadas por la propia red. </li></ul><ul><li>Estas neuronas tiene asignado un peso total, que es la suma de todos los pesos que tiene a su entrada. </li></ul>
  16. 18. SOM <ul><li>Es una red no supervisada, se entrena solo con patrones de entrada </li></ul><ul><li>Las entradas se conectan a una única capa de neuronas donde cada nodo se conecta a su vecino y solo puede haber una neurona activa </li></ul><ul><li>La conexión puede ser lineal, cuadrada, hexagonal, irregular, etc. </li></ul><ul><li>La red detecta grupos similares o “clusters” en los datos de entrada </li></ul>
  17. 20. Especificaciones <ul><li>Se pueden usar arreglos unidimensionales, bidimensionales, tridimensionales, n-dimensionales, etc. </li></ul><ul><li>Kohonen sugirió vecindarios rectangulares y hexagonales para una implementación eficiente. </li></ul><ul><li>El desempeño de la red es insensible a la forma que tome el vecindario. </li></ul>
  18. 21. Vecindades
  19. 22. Redes Autoorganizativas <ul><ul><li>Aprenden a detectar regularidades y </li></ul></ul><ul><ul><li>correlaciones en sus entradas. </li></ul></ul><ul><ul><li>Adaptan sus respuestas futuras </li></ul></ul><ul><ul><li>conforme a sus entradas. </li></ul></ul>
  20. 23. <ul><li>El mapa consiste de una cuadricula regular de unidades de procesamiento, “neuronas”. </li></ul><ul><li>Un modelo de algunas observaciones multidimensionales, eventualmente un vector, de caracteristicas es asociado con cada unidad. </li></ul>
  21. 24. Ejemplo de funcionamiento:
  22. 25. Convergencia
  23. 26. Función sombrero mexicano (Mexican-Hat)
  24. 27. Ventajas <ul><li>Entrenamiento no supervisado </li></ul><ul><li>No precisa de pares entrada/salida tan solo patrones de entrada. </li></ul><ul><li>Simplemente se autoorganiza de forma autónoma para adaptarse lo mejor posible a los datos usados en el entrenamiento </li></ul>
  25. 28. Limitaciones <ul><li>Solo proporciona información de que zona del espacio de entrada pertenece un cierto patrón. </li></ul><ul><li>Es preciso interpretar esa información </li></ul><ul><li>El proceso de interpretación necesita datos para los que se conoce su clasificación </li></ul>
  26. 29. Desventajas <ul><li>Los mapas pueden fallar al ajustarse la topología desde su espacio de entrada. </li></ul><ul><li>Ocurre cuando dos partes de la red cortan la topología separando en partes el espacio de entrada, en este caso la red forma un nudo entre las partes. </li></ul><ul><li>Esta división es difícil de remover porque las dos partes de la red son clasificaciones estables en regiones diferentes. </li></ul>
  27. 30. Algoritmo de Aprendizaje
  28. 31. Entrenamiento de SOM’s <ul><li>Los Mapas Autoorganizativos difieren del aprendizaje competitivo convencional en la manera en que las neuronas actualizan sus pesos. </li></ul><ul><li>En los SOM’s, no solo se actualiza los pesos de la neurona que resulta ganadora en el aprendizaje, sino que se actualizan también los de la vecindad. </li></ul>
  29. 32. Entrenamiento de SOM’s <ul><li>La propiedad anterior, da como resultado que las neuronas vecinas producen vectores de pesos similares para vectores de entrada similares. </li></ul><ul><li>En forma concreta, la diferencia entre los SOM’s y las redes competitivas, es que los primeros producen varias salidas activadas </li></ul>
  30. 33. Procedimiento <ul><li>Primero determina a la neurona ganadora i* usando algún procedimiento de acuerdo al nivel competitivo. </li></ul><ul><li>Despues el peso de los vectores para todas las neuronas dentro de cierto vecindario de la neurona ganadora son actualizados usando la regla de Kohonen. </li></ul>
  31. 34. Regla de Aprendizaje de los SOM Actualización de los vectores de pesos en una vecindad de la neurona ganadora. REGLA DE KOHONEN
  32. 35. Donde: N i* (d) es la vecindad que contiene el indice para todas las neuronas que radican dentro del radio d d es el radio alrededor de la neurona ganadora i* es la neurona ganadora
  33. 36. De esta forma: N i* (d) ={ j, d ij  d} Conforme p se este presentando, los pesos de la neurona ganadora y de su vecindad se acercarán cada vez más a p
  34. 37. ALGORITMO <ul><li>En cada vector se presenta la siguiente secuencia de pasos: </li></ul><ul><ul><li>Encontrar el nodo k cuyo vector de peso esté más próximo al vector de entrada actual. </li></ul></ul><ul><ul><li>Entrenar el nodo k y todos los nodos más próximos a este. </li></ul></ul>
  35. 38. ALGORITMO <ul><ul><li>Decrementar suavemente la razón de aprendizaje. </li></ul></ul><ul><ul><li>Después de M ciclos, decrementarel tamaño de la vecindad. </li></ul></ul>
  36. 39. Entrenamiento <ul><li>Se inicializan los pesos de forma aleatoria. </li></ul><ul><li>Se presenta un vector de entrenamiento. </li></ul><ul><li>La neurona mas cercana al vector es la única que se activa </li></ul><ul><li>Solo se modifican los pesos de la neurona activa y de sus vecinas </li></ul>
  37. 40. Modificación de pesos <ul><li>Se modifican los pesos de la neurona activa y de sus vecinas </li></ul><ul><li>Los pesos se mueven hacia el vector de entrada </li></ul>
  38. 41. Modificación de los parámetros <ul><li>La tasa de aprendizaje se reduce con el numero de iteraciones </li></ul>Donde: T 0 es el numero total de iteraciones  0 es la razón inicial de aprendizaje
  39. 42. Modificación de los parámetros La vecindad se modifica de igual forma Donde:  0 es el numero total de iteraciones  0 =1/2 # neuronas en la capa
  40. 43. Variaciones al algoritmo Básico <ul><li>Modificar las neuronas vecinas en función de su lejanía </li></ul><ul><li>Utilizar un factor de conciencia que hace que una neurona que se activa con frecuencia, tienda ano activarse. </li></ul><ul><li>Diferentes patrones de vecindad </li></ul><ul><li>Modificación de las vecindades con el tiempo </li></ul>
  41. 44. Aplicaciones
  42. 45. Aplicaciones <ul><li>Es el algoritmo de RNA más popular dentro de la arquitectura no-supervisada. </li></ul><ul><li>En muchos proyectos industriales son utilizadas como una herramienta que resuelve problema del mundo real. </li></ul>
  43. 46. Aplicaciones <ul><li>Muchos campos de la ciencia han adoptado los SOM como una herramienta analítica estándar en: estadística, procesamiento de señales, teoría de control, análisis financiero, experimentos físicos, químicos y médicos. </li></ul>
  44. 47. Aplicaciones <ul><li>El SOM es un algoritmo para visualizar e interpretar conjuntos de datos multidimensionales. </li></ul><ul><li>Tiene aplicaciones practicas (tipica) en el proceso de visualizacion de procesos de estados o resultados financieros financieros a traves de la representacion de dependencias centrales dentro de los datos en el mapa. </li></ul>
  45. 48. <ul><li>Los SOM resuelven problemas difíciles no lineales y de alta-dimensión, así como, extracción de características y clasificación de imágenes y patrones acústicos, control adaptativo de robots, ecualización, demodulación y transmisión de tolerancia de error de señales en telecomunicaciones. </li></ul>Aplicaciones
  46. 49. La máquina de escribir neuronal fonética .
  47. 50. Aplicaciones <ul><li>&quot;Self Organizing Maps&quot; Help Analyze Thousands Of Genes. </li></ul><ul><li>Usando este algoritmo sofisticado , un equipo de científicos en el instituto de Whitehead ha diseñado una nueva técnica para analizar las cantidades masivas de datos generados por los micro arreglos de DNA </li></ul>
  48. 51. Ejercicios
  49. 52. Ejemplo 1: <ul><li>Entrene un SOM para: Una vecindad de radio d=1,  = 0.1 </li></ul><ul><li>a)Efectue 3 iteraciones </li></ul><ul><li>b)Redibuje el diagrama </li></ul>
  50. 53. Antes Después
  51. 54. Código en Matlab NNT
  52. 55. ARQUITECTURA SOM
  53. 56. Inicio Final Mapa Bidimensional
  54. 57. Simulación en Matlab / NNT
  55. 58. <ul><li>Initsm: </li></ul><ul><li>Esta funcion inicializa los pesos Wij de una capa S de un mapa autoorganizado. </li></ul><ul><li>La funcion toma la matriz de los vectores de entrada ejemplo P y un numero de neuronas S, y regresa los pesos para un SOM con S neuronas. </li></ul><ul><li>Los mapas autoorganizados no requieren de umbrales B. </li></ul>
  56. 59. <ul><li>Recuerde que cada i-esima fila de P debe contener valores maximos y minimos para cada entrada i-esima </li></ul><ul><li>W= initsm(P,S) </li></ul><ul><li>Ejemplo </li></ul><ul><li>W= initsm(P,3) </li></ul>
  57. 60. <ul><li>trainsm </li></ul><ul><li>Se usa para entrenar redes autoorganizadas con la regla de Kohonen. La funcion anterior regresa una nueva matriz de pesos W despues de ser entrenados los pesos iniciales con los vectores de entrada P con los parametros tp. </li></ul><ul><li>Semantica, </li></ul><ul><li>W = trainsm (W,b,P,tp) </li></ul><ul><li>tp = [disp-freq max-epoch lr] </li></ul>
  58. 61. <ul><li>Valores por omisión </li></ul><ul><li>disp-freq =25 </li></ul><ul><li>max-epoch =100 </li></ul><ul><li>lr= 1 </li></ul>
  59. 62. <ul><li>simusm </li></ul><ul><li>Simula un mapa autoorganizado. </li></ul><ul><li>La funcion toma una matriz de vectores de entrada P, la matriz de pesos W, y la matriz de vecindad M, de un SOM, regresando la salidas de la capa. </li></ul><ul><li>Cada vector de salida tiene un uno para la neurona i con la entrada mas grnade de la red, y 0.5 para las neuronas j con una distancia de 1 (Mij <=1) de la neurona gandora </li></ul>
  60. 63. <ul><li>Ejemplo </li></ul><ul><li>W= initsm([.2 2;0 5],6) </li></ul><ul><li>M= nbman(2,3) </li></ul><ul><li>a= simusm ([ 1;2 ],W,M) </li></ul><ul><li>Existen tres funciones para crear la matriz de vecindades. Cada una calcula las distancias de forma diferente </li></ul><ul><li>nbgrid, nbman, nbdist </li></ul>
  61. 64. <ul><li>nbgrid </li></ul><ul><li>Crea una matriz de vecindades usando una distancia en cuadricula. </li></ul><ul><li>Sintaxis: </li></ul><ul><li>nbgrid(d1) nbgrid(d1,d2) nbgrid(d1,d2,..d5) </li></ul><ul><li>La distancia de la cuadricula entre las dos neuronas es la magnitud del elemento maximo y el vector obtenido de la resta de las neuronas coordinadas </li></ul>
  62. 65. <ul><li>nbgrid(d1): Regresa una matriz de vecindades d1xd1 para una capa con con d1 neuronas arregladas en una dimension. Cada elemento ij de la matriz de vecindades es la distancia entre la cuadricula entre la neurona i y j. </li></ul><ul><li>nbgrid(d1, d2): Regresa una matriz de vecindades (d1*d2)x (d1*d2) para una capa con d1*d2 neuronas arregladas en dos dimensiones. Cada elemento ij de la matriz de vecindades es la distancia vectorial entre las neuronas i y j. </li></ul>
  63. 66. <ul><li>Ejemplo M= nbgrid(2,2) </li></ul><ul><li>M= 0 1 1 1 </li></ul><ul><li>1 0 1 1 </li></ul><ul><li>1 1 0 1 </li></ul><ul><li>1 1 1 0 </li></ul>
  64. 67. <ul><li>nbman </li></ul><ul><li>Calcula la matriz de vecindades usando la distancia Manhattan. </li></ul><ul><li>Sintaxis </li></ul><ul><li>nbman(d1) nbman(d1,d2) nbman(d1,d2,..d5) </li></ul><ul><li>La distancia Manhattan entre dos neuronas es la suma de los elementos absolutos en el vector obtenido de la resta de las neuronas coordinadas. </li></ul>
  65. 68. <ul><li>nbman(d1): Regresa una matriz de vecindades d1xd1 para una capa con d1 neuronas arregladas en una dimension. Cada elemento ij de la matriz de vecindades es la distancia vectorial entre la neurona i y j. </li></ul><ul><li>nbman(d1, d2): Regresa una matriz de vecindades (d1*d2)x (d1*d2) para una capa con d1*d2 neuronas arregladas en dos dimensiones. Cada elemento ij de la matriz de vecindades es la distancia vectorial entre las neuronas i y j. </li></ul>
  66. 69. <ul><li>Ejemplo M= nbman(2,2) </li></ul><ul><li>M= 0 1 1 2 </li></ul><ul><li>1 0 2 1 </li></ul><ul><li>1 2 0 1 </li></ul><ul><li>2 1 1 0 </li></ul>
  67. 70. <ul><li>nbdist </li></ul><ul><li>Calcula la matriz de vecindades usando la distancia vectorial. </li></ul><ul><li>Sintaxis </li></ul><ul><li>nbdist(d1) nbdist(d1,d2) nbdist(d1,d2,..d5) </li></ul><ul><li>Las neuronas en un SOM pueden ser artregladas de cualquier forma. Estos arreglos son representadso por matrices de vecindades que mantienen las distancias entre cada una de las neuronasen la capa. </li></ul>
  68. 71. <ul><li>nbdist(d1): Regresa una matriz de vecindades d1xd1 para una capa con con d1 neuronas arregladas en una dimension. Cada elemento ij de la matriz de vecindades es la distancia vectorial entre la neurona i y j. </li></ul><ul><li>nbdist(d1, d2): Regresa una matriz de vecindades (d1*d2)x (d1*d2) para una capa con d1*d2 neuronas arregladas en dos dimensiones. Cada elemento ij de la matriz de vecindades es la distancia vectorial entre las neuronas i y j. </li></ul>
  69. 72. <ul><li>Ejemplo M= nbdist(2,2) </li></ul><ul><li>M= 0 1.0000 1.0000 1.4142 </li></ul><ul><li>1.0000 0 1.4142 1.0000 </li></ul><ul><li>1.0000 1.4142 0 1.0000 </li></ul><ul><li>1.4142 1.0000 1.0000 0 </li></ul>
  70. 73. Ejemplo 1: <ul><li>clear;echo on;clc;nntwarn off; </li></ul><ul><li>P= rands(3, 10); </li></ul><ul><li>S=9; </li></ul><ul><li>W= initsm(P,S) </li></ul><ul><li>M= nbdist(9,1); </li></ul><ul><li>tp= [50 800 1]; </li></ul><ul><li>[W]= trainsm(W,M,P,tp) </li></ul><ul><li>echo off </li></ul>
  71. 74. Ejemplo de Codificación 2: <ul><li>clear;echo on;clc;nntwarn off; </li></ul><ul><li>P= rands(2, 100); </li></ul><ul><li>W= initsm(P,9); </li></ul><ul><li>M= nbman(3,3); </li></ul><ul><li>tp= [10 500]; </li></ul><ul><li>[W]= trainsm(W,M,P,tp) </li></ul><ul><li>echo off </li></ul>
  72. 75. Inicio Final Mapa Lineal
  73. 76. Bibliografía
  74. 77. Articulos Originales <ul><li>Von der Malsburg, C. 1973. “Self-organization of orientation sensitive cells in the striate cortex”, Kibernetik, vol 14,pp. 85-100. </li></ul><ul><li>Willshaw, D. J. And C. Von der Malsburg, 1976, “how patterned neural connections can be set up by self-organization”, Proceedings of the Royal Society of London series B, vol. 194. pp. 431-445. </li></ul>
  75. 78. Articulos Originales <ul><li>Kohonen T., 1982, “Self-Organized formation of topologically correct feature maps”, Biological Cybernetics, vol 43, pp.59-69. </li></ul>
  76. 79. Dudas ???
  77. 80. Hasta la próxima !!!

×