Upload
lamnhi
View
217
Download
0
Embed Size (px)
Citation preview
(c) 2017. P. Gómez-Gil, INAOE 1
C291-78
Tópicos Avanzados:
Inteligencia Computacional I
II.1 Fundamentos de las RNA
Dra. Ma. del Pilar Gómez Gil [email protected]
V:25-Ene-17
(c) 2017. P. Gómez-Gil, INAOE 2
Redes Neuronales Artificiales...
Están inspiradas en las neuronas biológicas
Tienen habilidades de aprendizaje automático, generalización y abstracción.
Con estos modelos pueden resolverse una gran variedad de problemas de reconocimiento, aproximación, predicción, clasificación, optimización etc.
(c) 2017. P. Gómez-Gil, INAOE 3
La Computación “Convencional”
PASOS PARA LA SOLUCION DE PROBLEMAS EN COMPUTADORA
1. Desarrollo de una formulación matemática.
2. Desarrollo de un algoritmo para implementar la solución
matemática.
3. Codificación del algoritmo en un lenguaje específico.
4. Ejecución del código.
(c) 2017. P. Gómez-Gil, INAOE 4
Éxitos de la Computación
Convencional
Muy eficiente en la solución a
problemas matemáticos complejos y de
simulación.
Muy eficiente realizando tareas
repetitivas y bien definidas.
(c) 2017. P. Gómez-Gil, INAOE 5
Fracasos de la Computación
Convencional
Muy ineficiente resolviendo problemas de reconocimiento, tales como:
Reconocimiento de imágenes
Reconocimiento de voz
Muy ineficiente con adaptación y aprendizaje.
Muy ineficiente con problemas de percepción.
(c) 2017. P. Gómez-Gil, INAOE 6
Algunas Características
de los Sistemas Biológicos (1/2)
Aún los organismos mas primitivos tienen herramientas
sofisticadas de PERCEPCION.
Muestran gran capacidad de ADAPTACIÓN y
APRENDIZAJE.
Pueden conseguir éxito aún con dispositivos bastante
lentos (con un tiempo de respuesta en décimas de
milisegundos) poco exactos o a veces, incluso si están
dañados.
(c) 2017. P. Gómez-Gil, INAOE 7
Algunas Características
de los Sistemas Biológicos (2/2)
Masivamente paralela
Altamente interconectada
Tolerante al ruido en el medio ambiente y en sus componentes
Gran variabilidad y especialización en sus componentes.
Adaptable al medio
Lenta
Baja en precisión
Desarrollo evolutivo hacia sistemas más complejos
www.invdes.com.mx
Existen los sistemas adaptivos inteligentes
(Smart Adaptive Systems)?[Gabrys 2005]
Actualmente hay muchos intentos prometedores
usando RNA, sistemas difusos, métodos de
aprendizaje de máquina y teoría de aprendizaje
y computación evolutiva, útiles cuando pueden
recolectarse datos de entrada/salida
A estas técnicas se les conoce como “cómputo
suave”
(c) 2017. P. Gómez-Gil, INAOE 8
Niveles de adaptación de un SAS [Gabrys 2005]
1. Adaptación a un medio ambiente cambiante. El sistema se adapta a cambios suaves en el medio ambiente. Ejemplo, sistemas de preferencias de clientes en comercio electrónico.
2. Adaptación sin una guía explícita. El medio ambiente cambia en sí mismo, mas que sus características. Ejemplo, el sistema tiene que transferirse a otra planta, sin necesidad de definir explícitamente parámetros.
3. Adaptación a aplicaciones nuevas/desconocidas. (Problema abierto). Empezando con información muy limitada, es posible construir al sistema a través de aprendizaje incremental.
(c) 2017. P. Gómez-Gil, INAOE 9
Requerimientos de los SAS [Kasabov 2002]
1. Deben tener estructuras abiertas, extendibles y ajustables
2. Deben adaptarse en línea, de forma incremental y durante toda su vida, de manera que nuevos datos son usados tan pronto como estén disponibles
3. Deben aprender rápido, de una gran cantidad de datos, idealmente en modo de “un solo paso”
(c) 2017. P. Gómez-Gil, INAOE 10
Requerimientos de los SAS [Kasabov 2002]
4. Un SAS deberá tener una memoria capaz de añadir, consultar o eliminar piezas individuales de datos e información.
5. Un SAS deberá ser capaz de mejorar su desempeño, a través de interactuar con otros sistemas y con el medio ambiente, de una manera jerárquica y modular.
6. Un SAS deberá representar adecuadamente el tiempo y el espacio en diferentes escalas, memoria de corto y largo plazo, edad etc.
7. Un SAS deberá ser capaz de auto-mejorarse, analizar su propio desempeño y explicar que ha aprendido acerca de un problema que esté resolviendo
(c) 2017. P. Gómez-Gil, INAOE 11
(c) 2017. P. Gómez-Gil, INAOE 12
Que Son las Redes Neuronales
Artificiales?
Las Redes Neuronales Artificiales (R.N.A.) son modelos matemáticos inspirados en sistemas
biológicos, adaptados y simulados en computadoras convencionales.
Los elementos que las conforman se asemejan a las neuronas biológicas.
[Wasserman 89]
Una definición mas amplia de Redes
Neuronales Artificiales…
“Una red neuronal es un procesador masivamente paralelo y distribuido hecho de unidades procesadoras simples, las cuales son de manera natural propensas a almacenar conocimiento adquirido de la experiencia y hacerlo útil. Se parece al cerebro en dos aspectos: 1. La red neuronal adquiere el conocimiento del medio
ambiente, a través de un proceso de aprendizaje
2. La fuerza de conexión entre los neurones, conocida como los pesos sinápticos, se utiliza para almacenar el conocimiento adquirido ” [Haykin 1999]
(c) 2017. P. Gómez-Gil, INAOE 13
(c) 2017. P. Gómez-Gil, INAOE 14
Componentes básicos de las RNA
1. Elementos de procesamiento: Neurones
2. Regla de activación de los elementos.
3. Topología de interacción entre los elementos de
procesamiento.
4. Regla de propagación a través de las conexiones.
5. Regla de aprendizaje.
6. Medio ambiente en el que el sistema opera.
(c) 2017. P. Gómez-Gil, INAOE 15
Características Principales de Las RNA
1. APRENDIZAJE. Una red neuronal puede modificar su comportamiento en respuesta al medio ambiente.
2. GENERALIZACION. Una vez entrenada, la red neuronal puede ser insensible a cambios en sus entradas.
3. ABSTRACCION. Una red neuronal puede determinar la esencia o características principales de un conjunto de datos.
(c) 2017. P. Gómez-Gil, INAOE 16
Otros Nombres de las RNA
Modelos Conexionistas (Connectionist
Models)
Procesamiento distribuído en paralelo
(Parallel Distributed Processing)
Sistemas neuronales artificiales (Artificial
Neural Systems or ANS)
(c) 2017. P. Gómez-Gil, INAOE 17
Asociaciones Importantes
Relacionadas a RNA
IEEE Computational Intelligence:
http://ieee-cis.org/
Capítulo México de la IEEE-CIS
http://www.hafsamx.org/cis-chmexico/
Neural Networks Society
http://www.inns.org/
Sociedades de Reconocimiento de Patrones,
Control, Visión, etc.
(c) 2017. P. Gómez-Gil, INAOE 18
Revistas relevantes al curso (1/2)
Revistas relevantes al curso (2/2)
(c) 2017. P. Gómez-Gil, INAOE 19
(c) 2017. P. Gómez-Gil, INAOE 20
Eventos Históricos Importantes (1/2)
1943. W. McCulloch y W. Pitts publican "A Logical Calculus of the ideas imminent in nervious activity" in Bulletin of Mathematical Biophysics, 5: 115-33.
1949. D. O. Hebb publica el libro "Organization of Behavior" New York: Science Editions. La ley de aprendizaje especificada por Hebb ha sido la base para los algoritmos de entrenamiento de R.N.A.
Entre los años 50´s y 60´s un grupo de investigadores producen las primeras redes neuronales artificiales, implementadas con circuitos electrónicos. Entre ellos están Marvin Minsky, Frank Rosenblatt y Bernanrd Widrow.
1962. F. Rosenblatt publica el libro "Principles of neurodynamics". New York: Spartan Books, presentando las bases del perceptrón.
(c) 2017. P. Gómez-Gil, INAOE 21
Eventos Históricos Importantes (2/2)
1969. M. Minsky y S. Papert publican "Perceptrons" Cambridge, MA: MIT Press. En este libro muestran que el perceptrón es teóricamente incapaz de resolver problemas muy simples. Se crea una fuerte desmotivación en la investigación del área.
1974. Paul J Werbos publica su tesis doctoral: “Beyond Regression: new tools for prediction and analysis in the behavioral sciences,” Harvard University, Cambridge, MA. En 1990, en el artículo “Backpropagation through time: what it does and how to do it” Procceding of the IEEE, Vol78, pp. 1550-1560, Werbos muestra que este trabajo corresponde al algoritmo de retro-propagación de Rumelhart et al.
1986. D. E. Rumelhart, G. E. Hinton y R. J. Williams publican "Learning internal representations by error propagation", en Parallel Distributed Processing, Vol I, pp 318-62. Cambridge MA: MIT Press. Acá presentan uno de los primeros algoritmos para entrenar redes neuronales de varios niveles, destruyendo el mito de Minsky y haciendo resurgir la investigacion en el área de R.N.A.
... Cientos de modelos y aplicaciones han surgido desde entonces....
(c) 2017. P. Gómez-Gil, INAOE 22
La Neurona Biológica
(c) 2017. P. Gómez-Gil, INAOE 23
El Cerebro Humano
Contiene más de 10 “billones ingleses” (miles de millones) de elementos de proceso llamados neuronas (1010) [Haykin 1999],
Contiene cerca de 60 “trillones ingleses” de conexiones llamadas sinapsis (6x1012) [Haykin 1999], ,
Es el mayor consumidor de energía del cuerpo humano. Siendo el 2% de la masa total del cuerpo, consume más del 20% del oxígeno.
(c) 2017. P. Gómez-Gil, INAOE 24
Características de una neurona
Dependiendo de la región del cerebro y su
función, su diámetro va de una décima a una
centésima de milímetro (10 – 100 μm)
Está formada de 3 partes principales: Dentritas
Axon
Cuerpo
(c) 2017. P. Gómez-Gil, INAOE 25
Dentritas
Reciben señales de otras células en puntos de conexión
llamados sinapsis. Las señales se pasan al cuerpo de la
célula, donde son "promediadas" con otras señales.
(c) 2017. P. Gómez-Gil, INAOE 26
Axón y Cuerpo
Axón. Manda pulsos a otras células en caso de que el promedio
obtenido en el cuerpo de la célula sea suficientemente grande por determinado tiempo.
El axón tiene en la punta ramificaciones, cada una de las cuales termina con un botón sináptico ( o sinapsis) el cual se usa para transmitir información de un neurón a otro .
El axón puede medir desde menos de un milímetro hasta un metro.
Cuerpo. Es una fábrica química capaz de procesar y emitir señales, controlar la
energía del neurón, realizar actividades de mantenimiento, etc.
(c) 2017. P. Gómez-Gil, INAOE 27
Un botón sináptico
(c) 2017. P. Gómez-Gil, INAOE 28
Interconectividad
Los neurones están altamente interconectados, teniendo alrededor de 104 botones sinápticos conectados a las dentritas de otros neurones.
La conectividad de las neuronas, más que su complejidad funcional, es lo que le da al cerebro su capacidad de procesamiento
(c) 2017. P. Gómez-Gil, INAOE 29
Algunos Ejemplos de Aplicaciones de
RNA
Reconocimiento de caracteres manuscritos, impresos, de font antiguo, etc. .
Construcción de Memorias asociativas.
Reconocimiento de voz
Control de robots
Predicción de series de tiempo
Toma de decisiones administrativas, financieras etc.
Reconocimiento de enfermedades
Reconocimiento de señales de radio
Predicción de Señales y series de tiempo Caóticas
Generación de reglas para sistemas expertos
Aplicaciones en economía para predicción
Aplicaciones en geología, meteorología, astronomía
Aplicaciones en ....
(c) 2017. P. Gómez-Gil, INAOE 30
Alcances y Limitaciones de las RNA
Las RNA no son la solución de todos los problemas, sino solo de aquellos en los que "las reglas de solución" no son conocidas, y existen suficientes datos ejemplos que permitan a la red aprender.
Las RNA son hasta cierto punto impredecibles.
Las RNA no pueden explicar como resuelven un problema. La representación interna generada puede ser demasiado compleja para ser analizada, aún y en los casos más sencillos.
(c) 2017. P. Gómez-Gil, INAOE 31
Resumen de los Beneficios de los
Sistemas Neuronales Artificiales [Haykin
1994]
1. Son sistemas no lineales
2. Son capaces de hacer un mapeo entre entradas y salidas
3. Son adaptables
4. Pueden dar información sobre la confiabilidad de sus respuestas
5. Pueden dar información sobre el “contexto” de la selección
6. Son tolerantes a fallas
7. Son implementables en VLSI
8. Son universales en cuanto a su análisis y diseño
9. Presentan analogías con los sistemas biológicos
Una solución basada en RNA vale la
pena si…
Las reglas de decisión de la solución no
se conocen explícitamente
Hay una gran cantidad de datos que
representan al problema…
(c) 2017. P. Gómez-Gil, INAOE 32
Las RNA como “caja negra”
(c) 2017. P. Gómez-Gil, INAOE
ANN
Ejemplos
(medio
ambiente)) conocimiento
Entradas
Salidas
33
(c) 2017. P. Gómez-Gil, INAOE
Componentes básicos de una RNA
1. Elementos de procesamiento, llamados “neuronas”
2. Reglas de activación para cada neurona.
3. Reglas de interacción entre neuronas (topografía o
topología)
4. Reglas de aprendizaje
5. Información acerca del medio ambiente donde las
RNA están inmersas (ejemplos)
34
Un neurón (1/2)
(c) 2017. P. Gómez-Gil, INAOE
x0
xi
xn-1
w0
wi
wn
)(
1
0
i
n
i
ii wxFo
.
.
.
.
.
.
35
(c) 2017. P. Gómez-Gil, INAOE
Un neurón típico (2/2)
Es un procesador que recibe un conjunto de n valores de entrada, esto es, un vector X. Cada valor puede venir del “mundo externo” o de otro neurón.
Cada entrada xi, se multiplica por un número real wi,llamado “peso”. Todas las multiplicaciones se suman:
Posteriormente , la suma es filtrada por una función F, llamada “función de activación” obteniéndose la salida del neurón
1
0
n
i
iii wxnet
)( ii netFo
36
Funciones de Activación
La función de activación tiene como objetivo el acotar
los valores de salida del neurón para mantenerlos en
ciertos rangos.
La función de activación depende del tipo de red
neuronal que se esté manejando. Hay funciones de
activación lineales y no lineales
(c) 2017. P. Gómez-Gil, INAOE 37
Función lineal
(k es una constante)
Función umbral o escalón
(t es una constante)
Función sigmoide
Función tangente hiperbólica
Funciones de Activación
Clásicas
)exp(1
1)(
xxf
)tanh()( xxf
xkxf *)(
(c) 2017. P. Gómez-Gil, INAOE
tx
txxf
si 0
si 1)(
38
(c) 2017. P. Gómez-Gil,
INAOE
Una Función de Activación Lineal
39
(c) 2017. P. Gómez-Gil,
INAOE
Una función de activación no
lineal
-1.5
-1
-0.5
0
0.5
1
1.5
-4 -2 0 2 4
f(x)
x
40
Entrenamiento de RNA’s
Las R.N.A. aprenden de ejemplos.
Una red es entrenada de manera que un conjunto de valores de entrada, aplicado en los neurones de entrada, produzca una salida deseada en los neurones de salida de la red.
Normalmente los valores de entrada y de salida se representan de manera numérica, ya sea por dígitos binarios o números reales.
La codificación de dichos valores depende de la arquitectura y características de la red neuronal utilizada.
(c) 2017. P. Gómez-Gil, INAOE 41
Utiliza ejemplos que muestran a la red neuronal que debe aprender (salidas deseadas)
Cada vector de entrada está asociado con un vector de salida desado .
Entrenamiento supervisado
entrenamiento
pesos
Salidas deseadas
Entradas
42 (c) 2017. P. Gómez-Gil, INAOE
(c) 2017. P. Gómez-Gil,
INAOE
Supóngase que se va a entrenar una red neuronal para aprender la función booleana “o exclusivo”.
Un ejemplo de datos para
entrenamiento supervisado
43
Aprendiendo el XOR
(c) 2017. P. Gómez-Gil, INAOE
ANN
Ejemplos {(0,0,0), (0,1,1,),
(1,1,0),(1,0,1)} conocimiento
(valores de w’s)
Entradas Salidas
44
(c) 2017. P. Gómez-Gil,
INAOE
Un ejemplo de datos para
entrenamiento supervisado (cont.)
El conjunto de entrenamiento es:
ENTRADAS: SALIDAS DESEADAS:
X0 = [ 0,0 ] Y0 = [ 0 ] X1 = [ 0,1 ] Y1 = [1 ] X2 = [ 1,0 ] Y2 = [1 ] X3 = [ 1,1 ] Y3 = [0 ]
Entrenar significa que cada par [Xi,Yi],se aplicará a la red neuronal utilizando algún algoritmo para ajustar los pesos, hasta que la red reproduzca los valores deseados.
45
(c) 2017. P. Gómez-Gil,
INAOE
Este tipo de entrenamiento está presente en
la naturaleza.
Por ejemplo, el cerebro de un bebé no
recibe “vectores de salida deseados” para
aprender como reaccionar a los miles de
estímulos que recibe diariamente.
Entrenamiento no supervisado
46
(c) 2017. P. Gómez-Gil, INAOE
Entrenamiento no supervisado(cont)
Esta clase de entrenamiento
no requiere una salida
variable para cada vector de
entrada.
Los pesos se modifican de tal
forma que sean capaces de
producir salidas congruentes
con el conjunto de
entrenamiento.
Entradas similares producen
salidas similares
entrenamiento
pesos
Entradas
clases
47
Se desea que una red aprenda un conjunto de símbolos, digamos,
las letras del alfabeto. Se le muestran a la red repetidas veces los
símbolos, de manera que esta los clasificará, y creará grupos de los
mas parecidos, generando una representación "ideal" para cada
grupo.
(c) 2017. P. Gómez-Gil,
INAOE
Ejemplo de Entrenamiento no
Supervisado
48
(c) 2017. P. Gómez-Gil, INAOE
Estados de una RNA
Expert
trainer
1. Aprendizaje
Parámetros
Salidas deseadas
2.
Evaluación
Clasificación o
Evaluación
USER
Conjunto de entrenamiento
Pesos
49
Entrada
(c) 2017. P. Gómez-Gil,
INAOE
Tipos principales de RNAs
Dependiendo de la manera en que se
organizan los elementos procesadores,
las RNA se pueden clasificar como:
De un nivel
De varios niveles
Recurrentes
X Y RNA
50
(c) 2017. P. Gómez-Gil,
INAOE
Redes Neuronales de un Nivel
(1/2)
Son aquellas donde los elementos
procesadores están organizados en una
línea, recibiendo su entrada directamente
del exterior y produciendo ellos
directamente la salida o resultado de la
RNA
51
Redes Neuronales de un Nivel
(2/2)
(c) 2017. P. Gómez-Gil, INAOE
Entradas Salidas
52
Redes neuronales de varios
niveles
(c) 2017. P. Gómez-Gil, INAOE
Inputs outputs
53
Redes neuronales de
decenas/cientos/miles de niveles
(Redes de aprendizaje profundo)
(c) 2017. P. Gómez-Gil, INAOE 54
(c) 2017. P. Gómez-Gil,
INAOE
Algoritmo de aprendizaje
Es una serie de reglas dadas, bien definidas
para la solución de un problema de aprendizaje.
Reglas de aprendizaje básicas:
Aprendizaje por corrección de error
Aprendizaje basado en memoria
Aprendizaje Hebbiano
Aprendizaje competitivo
Aprendizaje Boltzman
55
(c) 2017. P. Gómez-Gil, INAOE 56
Bibliografía
De Wilde, Philippe. Neural Network Models. Second Edition. Springer. 1997
Eck, J. et al .”Visualizing the Computational Intelligence field.” IEEE. Computational Intelligence Magazine Nov. 2006.
Gabrys, B. Do Smart systems exists? – Introduction. StudFuzz 173, 1-17, 2005. Springer-Verlag.
Kasabov, N. Evolving connectionist systems – methods and applications in bioinformatics, brain study and intelligent machines, Springer Verlag, London-New York, 2002.
S. Haykin. Neural Networks, A comprehensive Foundation. MacMillan College Publishing Company. 1999
Wasserman 99. Artificial Neural Networks.