utp 2014-2_ia_s2_intro a las rna
TRANSCRIPT
Inteligencia Artificial
(W0I9)
Sesión: 2
MSc. Ing. José C. Benítez P.
Introducción a las RNA
2
Sesión 2. Temas
Introducción a las RNA (Redes Neuronales Artificiales)� Introducción a la RNA
� Características de las RNA
� La Neurona biológica
� Red neuronal biológica
� Computación tradicional VS computación neuronal
� Historia de la computación neuronal
� Aplicación de las RNA
� Representación una RNA
� Funcionamiento de una RNA
� Funciones de las RNAs
� Ventajas de las RNAs
� Modelos de RNAs
� Clasificación de las RNAs
3
Introducción a las RNA
El cerebro humano es el
sistema de cálculo más
complejo que conoce el
hombre.
4
Introducción a las RNA
El computador y el hombre realizan
bien, diferentes clases de tareas; así
la operación de reconocer el rostro
de una persona resulta una tarea
relativamente sencilla para el hombre
y difícil para el computador, mientras
que la contabilidad de una empresa
es tarea costosa para un experto
contable y una sencilla rutina para un
computador básico.
5
Introducción a las RNA
La capacidad del cerebro humano de pensar, recordar
y resolver problemas ha inspirado a muchos científicos
intentar o procurar modelar en el computador el
funcionamiento del cerebro humano.
6
Características de las RNA
� Las Redes Neuronales Artificiales ( ANN - Artificial Neural
Networks) están inspiradas en las RNB del cerebro
humano.
� Las RNA están constituidas por elementos (NA) que se
comportan de forma similar a la NB en sus funciones más
comunes.
� Estos elementos están organizados de una forma
parecida a la que presenta el cerebro humano.
� Las RNA al margen de "parecerse" al cerebro presentan
una serie de características propias del cerebro.
7
Características propias del cerebro en las RNA
� Por ejemplo las ANN
� aprenden de la experiencia,
� generalizan de ejemplos previos a ejemplos
nuevos y
� abstraen las características principales de una
serie de datos.
8
Características propias del cerebro en las RNA
Aprender:
� Adquirir el conocimiento de una cosa por medio
del estudio, ejercicio o experiencia.
� Las RNA pueden cambiar su comportamiento
en función del entorno.
� Se les muestra un conjunto de entradas y
ellas mismas se ajustan para producir unas
salidas consistentes.
9
Características propias del cerebro en las RNA
Generalizar:
� Extender o ampliar una cosa.
� Las RNA generalizan automáticamente
debido a su propia estructura y naturaleza.
� Estas redes pueden ofrecer, dentro de un
margen, respuestas correctas a entradas
que presentan pequeñas variaciones
debido a los efectos de ruido o distorsión.
10
Características propias del cerebro en las RNA
Abstraer:
� Aislar mentalmente o considerar por
separado las cualidades de un objeto.
� Algunas RNA son capaces de abstraer
la esencia de un conjunto de entradas
que aparentemente no presentan
aspectos comunes o relativos.
11
La neurona biológica
� La neurona es la unidad
fundamental del sistema
nervioso y en particular del
cerebro.
� Cada neurona es una simple
unidad procesadora que recibe
y combina señales desde y
hacia otras neuronas.
� Si la combinación de entradas
es suficientemente fuerte la
salida de la neurona se activa.
12
La neurona biológica
� El cerebro consiste en 100,000 millones de
neuronas densamente interconectadas.
� Las partes de la neurona son las:
� dendritas,
� el cuerpo (o soma),
� el núcleo,
� el axón y
� las terminaciones nerviosas.
� La eficacia de la sinapsis es modificable
durante el proceso de aprendizaje de la red.
13
La neurona biológica
� La señal ingresa por las dendritas atraviesa
el cuerpo, el axón (salida), y sale por las
terminaciones nerviosas.
14
La neurona biológica� El axón de la neurona se ramifica en las terminaciones
nerviosas (salida) y estas están conectadas a las dendritas
(entradas) de otras neuronas a través de uniones llamadas
sinapsis.
15
La neurona biológica
� Existen varios tipos de neuronas.
16
Red neuronal biológica
17
Red neuronal biológica
18
C. Tradicional VS C. Neuronal
� Programación/Entrenamiento
� Arquitectura
� Sistemas Expertos
19
C. Tradicional VS C. Neuronal
� Las técnicas tradicionales de programación utilizadas para
la solución de un problema requieren la creación de un
algoritmo.
� Un algoritmo consiste en una secuencia de instrucciones
que indica el modo en el que debe proceder el sistema
basado en un computador para lograr el fin perseguido
que es la resolución del problema.
� El diseño de una secuencia de instrucciones para resolver
un problema de contabilidad es relativamente sencillo,
mientras que existen muchos problemas del mundo real
en los que resulta difícil realizar un algoritmo que resuelva
dichos problemas.
Programación/Entrenamiento
20
C. Tradicional VS C. Neuronal
� Por ejemplo imaginemos desarrollar un programa para
cualquiera de los problemas de reconocimiento de
imágenes como el rostro de una persona.
� Hay muchas variaciones de la imagen de una persona, como
que presente un rostro serio o un rostro alegre, variaciones
en general que deben tenerse en cuenta a la hora de
diseñar el algoritmo.
� Las RNA, a diferencia de los algoritmos que son
instrucciones previamente programadas, deben ser
previamente entrenadas. Esto significa que a la red se le
muestra en su capa de entrada unos ejemplos y ella misma
se ajusta en función de alguna regla de aprendizaje.
Programación/Entrenamiento
21
C. Tradicional VS C. Neuronal
� Las RNA presentan una arquitectura totalmente diferente de
los computadores tradicionales de un único procesador.
� Las máquinas tradicionales basadas en el modelo de Von
Neuman tienen un único elemento procesador, la CPU (Control
Process Unit) que realiza todos los cálculos ejecutando todas las
instrucciones de la secuencia programada en el algoritmo.
Arquitectura
22
C. Tradicional VS C. Neuronal
� Cualquier CPU realiza más de cien comandos básicos,
incluyendo sumas, restas, y desplazamientos entre otros.
� Los comandos o instrucciones se ejecutan
secuencialmente y sincronizadas con el reloj del sistema.
� Sin embargo en los sistemas de computación neuronal
cada elemento PE sólo puede realizar uno, o como
mucho, varios cálculos.
� La potencia del procesado de las ANN se mide
principalmente por el número de interconexiones
actualizadas por segundo durante el proceso de
entrenamiento o aprendizaje.
Arquitectura
23
C. Tradicional VS C. Neuronal
� Sin embargo las máquinas de Von Neuman se miden por el
número de instrucciones que ejecuta por segundo el
procesador central CPU.
� La arquitectura de las ANN parte de la organización de los
sistemas de procesado en paralelo, es decir, sistemas en
los que distintos procesadores están interconectados.
� No obstante los procesadores son unidades procesadoras
simples, diseñadas para la suma de muchas entradas y con
un ajuste automático de las conexiones ponderadas.
Arquitectura
24
C. Tradicional VS C. Neuronal
� Los sistemas expertos difieren de la programación tradicional
en que la base del conocimiento está separada del motor de
inferencia (el método del procesado del conocimiento).
� Esta característica permite que todo el conocimiento
adicional puede ser añadido al sistema sin necesidad de
tener que ser reprogramado todo el sistema.
� Esta técnica requiere que exista una persona experta en un
área y que se puedan crear reglas que codifiquen el
conocimiento.
� En el desarrollo de una red neuronal no hay que programar
ni el conocimiento ni las reglas del procesamiento del
conocimiento.
Sistemas expertos
25
C. Tradicional VS C. Neuronal
� La red neuronal aprende las reglas del procesamiento del
conocimiento mediante el ajuste de las conexiones
ponderadas entre las neuronas de distintas capas de la red.
� Mientras que en los Sistemas Expertos el conocimiento se
hace explícito en forma de reglas, en la computación neuronal
las ANN generan sus propias reglas aprendiendo de los
ejemplos que se les muestran en la fase de entrenamiento.
� El aprendizaje se consigue a través de una regla de
aprendizaje que adapta o cambia los pesos de las conexiones
en respuesta a los ejemplos de entrada, y opcionalmente
también en respuesta a las salidas deseadas.
Sistemas expertos
26
C. Tradicional VS C. Neuronal
� Esta característica de las ANN es lo que permite decir que
las redes neuronales aprenden de la experiencia.
� Una característica importante de las ANN es la forma o el
modo en que se almacena la información.
� La memoria o el conocimiento de estas redes está
distribuida a lo largo de todas las conexiones ponderadas
de la red.
� Algunas ANN presentan la característica de ser "asociativas"
que significa que para una entrada parcial la red elegirá la
entrada más parecida en memoria y generará una salida
que corresponda a la entrada completa.
Sistemas expertos.-
27
C. Tradicional VS C. Neuronal
� La naturaleza de la memoria de las RNA permite que la red
responda adecuadamente cuando se le presenta una entrada
incompleta o con ruido. Esta propiedad es la capacidad de
"generalización".
� Las RNA son tolerantes a las fallas (Fault Tolerance). En muchas
RNA si resultaran destruidos varios elementos procesadores
(PE), o se alteraran las conexiones el comportamiento de la red
sería mínimamente modificado. El comportamiento varía pero
el sistema no se descompone o deja de funcionar.
� Esta característica se debe a que las RNA tienen la información
distribuida a lo largo de toda la red y no está contenida en un
único lugar.
Sistemas expertos
28
Historia de la RNA
Base
� En 1943, el neurobiólogo Warren McCulloch, y el
estadístico Walter Pitss, publicaron el artículo "A
logical calculus of Ideas Imminent in Nervous Activity".
� Este artículo constituyó la base y el inicio del desarrollo
en diferentes campos como son:
� los Computadores Digitales (John Von Neuman),
� la Inteligencia Artificial (Marvin Minsky con los
Sistemas Expertos) y
� el funcionamiento del ojo (Frank Rosenblatt con la
famosa red llamada Perceptron).
29
Historia de la RNA
Inicio de las RNA
� En 1956, los pioneros de la Inteligencia Artificial,
Minsky, McCarthy, Rochester, Shanon, organizaron
la primera conferencia de Inteligencia Artificial que
fue patrocinada por la Fundación Rochester.
� Esta conferencia se celebró en el verano de 1956 en
la localidad inglesa de Darmouth y en muchos libros
se hace referencia al verano de este año como la
primera toma de contacto seria con las RNAs.
30
Historia de la RNA
Perceptron
� Nathaural Rochester del equipo de investigación de
IBM presentó el modelo de una red neuronal que él
mismo realizó y puede considerarse como el primer
software de simulación de RNAs.
� En 1957, Frank Rosenblatt publicó el mayor trabajo de
investigación en computación neuronal realizado hasta
esas fechas. Su trabajo consistía en el desarrollo de un
elemento llamado "Perceptron".
� En 1959, Bernard Widrow en Stanford desarrolló un
elemento adaptativo lineal llamado "Adaline"
(Adaptive Linear Neuron).
31
Historia de la RNA
Descenso de las expectativas
� A mediados de los años 60, Minsky y Papert pertenecientes
al Laboratorio de Investigación de Electrónica del MIT
(Massachussets Institute Technology) comenzaron un trabajo
profundo de crítica al perceptron.
� El resultado de este trabajo, el libro Perceptrons, era un
análisis matemático del concepto del perceptron.
� La conclusión de este trabajo, que se transmitió a la
comunidad científica del mundo entero, es que el Perceptron
y la Computación Neuronal no eran temas interesantes que
estudiar y desarrollar.
� A partir de este momento descendieron drásticamente las
inversiones en la investigación de la computación neuronal.
32
Historia de la RNAPero continuaron…� Uno de los pocos investigadores que continuaron con su trabajo
en la computación neuronal tras la publicación del libro
Perceptrons fue James Anderson.
� Teuvo Kohonen, de la Universidad de Helsinki, es uno de los
mayores impulsores de la computación neuronal de los 70.
� Otro investigador que continuó con su trabajo de investigación en
la computación neuronal a pesar del mal presagio que indicaron
Minsky y Papert fue Stephen Grossberg.
� En 1982 John Hopfield publicó el artículo Hopfield Model o
Crossbar Associative Network, junto con la invención del
algoritmo Backpropagation se consiguió devolver el interés y la
confianza en el fascinante campo de la computación neuronal tras
dos décadas de casi absoluta inactividad y desinterés.
33
Historia de la RNAHoy
� Existen muchos grupos en diferentes universidades de todo
el mundo que están realizando investigación en el área de
las RNA.
� Cada grupo tiene diferente énfasis y motivación, con los
neurólogos, psicólogos del conocimiento, físicos,
programadores y matemáticos.
� Grossberg continua trabajando en compañía de Carpenter
en la Universidad de Boston, mientras Teuvo Kohonen está
en la Universidad de Helsinki.
� Uno de los mayores grupos de investigación de los últimos
años ha sido el grupo PDP (Parallel Distributed Processing)
formado por Rumelhart, McClelland y Hinton.
34
Historia de la RNAHoy
� Rumelhart de la Universidad de Stanford es uno de los
principales impulsores de la red más utilizada en la mayoría
de las aplicaciones actuales, la famosa Backpropagation.
� En la Universidad de Carnegie-Mellon, el grupo de
investigación de McClelland destaca por el estudio de las
posibles aplicaciones de la Backpropagation.
� Y en la Universidad de Toronto, Hinton y Sejnowski han
desarrollado una máquina llamada Boltzman que consiste
en la red de Hopfield con dos modificaciones significativas.
� Bart Kosko ha diseñado una red llamada BAM (Bidirectional
Associate Memory) basado en la red de Grossberg.
35
Historia de la RNA
Hoy
� Existen grandes grupos de investigación como los de
California Institute of Technology, Massachussets
Institute of Technology, University of California Berkeley
y University of California San Diego.
� Conviene no olvidar el esfuerzo económico y técnico que
están realizando las empresas privadas tanto en USA
como en Japón y en la Comunidad Económica Europea.
� Las inversiones en estos países es muy significativa; sólo
en USA se gasta más de 100 millones de dólares al año.
36
RNA aplicaciones
� Las características especiales de los sistemas de
computación neuronal permiten que sea utilizada
esta nueva técnica de cálculo en una extensa
variedad de aplicaciones.
� La computación neuronal provee un acercamiento
mayor al reconocimiento y percepción humana
que los métodos tradicionales de cálculo.
� Las RNAs presentan resultados razonables en
aplicaciones donde las entradas presentan ruido o
las entradas están incompletas.
36
37
RNA aplicaciones
Algunas de las áreas de aplicación de las RNA:
� Análisis y Procesado de señales
� Reconocimiento de Imágenes
� Control de Procesos
� Filtrado de ruido
� Robótica
� Procesado del Lenguaje
� Diagnósticos médicos
� Otros
37
38
Representación de una RNA
Red neuronal artificial perceptrón simple con n neuronas
de entrada, m neuronas en su capa oculta y una neurona
en su capa de salida.
38
39
Funcionamiento de una RNA
• Las RNAs consisten en una simulación de las propiedades
observadas en los sistemas neuronales biológicos a través de
modelos matemáticos recreados mediante mecanismos
artificiales (como un circuito integrado, un computador o un
conjunto de válvulas).
• El objetivo es conseguir que las máquinas den respuestas
similares a las que es capaz de dar el cerebro que se
caracterizan por su generalización y su robustez.
• Una RNB se compone de unidades llamadas neuronas.
• Cada neurona recibe una serie de entradas a través de
interconexiones y emite una salida.
39
40
Funciones de las RNAs
Tres FuncionesLa salida de una neurona viene dada por tres funciones:
1. Una función de propagación
2. Una función de activación
3. Una función de transferencia
40
41
Funciones de las RNAs
Función de Propagación
� También es conocida como función de excitación.
� Consiste en la sumatoria de cada entrada multiplicada por el
peso de su interconexión (valor neto).
� Si el peso es positivo, la conexión se denomina excitatoria; si
es negativo, se denomina inhibitoria.
41
42
Funciones de las RNAs
Función de activación
� La función de activación, modifica a la función de propagación.
� Puede no existir, siendo en este caso la salida la misma función
de propagación.
42
43
Funciones de las RNAs
Función de transferencia
� La función de transferencia, se aplica al valor devuelto por la
función de activación.
� Se utiliza para acotar la salida de la neurona y generalmente
viene dada por la interpretación que queramos darle a dichas
salidas.
� Algunas de las más utilizadas son:
� la función sigmoidea (para obtener valores en el intervalo
[0,1]) y
� la función tangente hiperbólica (para obtener valores en el
intervalo [-1,1]).
43
44
Ventajas de las RNAs
� Las RNA tienen muchas
ventajas debido a que están
basadas en la estructura del
sistema nervioso,
principalmente el cerebro.
� Aprendizaje
� Auto organización
� Tolerancia a fallos
� Flexibilidad
� Tiempo real
44
45
Ventajas de las RNAs• Aprendizaje:
• Las RNA tienen la habilidad de aprender mediante una
etapa que se llama etapa de aprendizaje.
• Esta consiste en proporcionar a la RNA datos como
entrada a su vez que se le indica cuál es la salida
(respuesta) esperada.
• Auto organización:
• Una RNA crea su propia representación de la información
en su interior, descargando al usuario de esta tarea.
• Tolerancia a fallos:
• Debido a que una RNA almacena la información de forma
redundante, ésta puede seguir respondiendo de manera
aceptable aun si se daña parcialmente.
45
46
Ventajas de las RNAs
• Flexibilidad:
• Una RNA puede manejar cambios no importantes en la
información de entrada, como señales con ruido u otros
cambios en la entrada
• Ejemplo: Si la información de entrada es la imagen de un
objeto, la respuesta correspondiente no sufre cambios si la
imagen cambia un poco su brillo o el objeto cambia
ligeramente.
• Tiempo real:
• La estructura de una RNA es paralela, por lo cuál si esto es
implementado con computadoras o en dispositivos
electrónicos especiales con procesamiento paralelo, se
pueden obtener respuestas en tiempo real.
46
47
Modelos de RNAs� Perceptrón
� Adaline
� Perceptrón multicapa
� Memorias asociativas
� Máquina de Boltzmann
� Máquina de Cauchy
� Propagación hacia atrás (backpropagation)
� Redes de Elman
� Redes de Hopfield
� Redes de neuronas de base radial
� Redes de neuronas de aprendizaje competitivo
� Mapas Auto organizados (Redes de Kohonen)
� Crecimiento dinámico de células
� Gas Neuronal Creciente
� Redes ART (Adaptative Resonance Theory)47
48
Clasificación de las RNAs
Las RNA se pueden clasificar según:
� Topología
� Tipo de Aprendizaje.
� Tipo de información.
48
49
Clasificación de las RNAs
Las RNA en función de su topología (patrón de
conexiones) que presenta, se clasifican en dos
tipos básicos de redes:
� Las redes de propagación
hacia delante
� Las redes recurrentes.
49
50
Clasificación de las RNAs
Patrón de conexiones:
Las redes de propagación hacia delante o acíclicas.
Todas las señales van desde la capa de entrada hacia la salida sin
existir ciclos, ni conexiones entre neuronas de la misma capa.
• Monocapa. Ejemplos:
� perceptrón,
� Adaline.
• Multicapa. Ejemplos:
� perceptrón multicapa.
50
51
Clasificación de las RNAs
Patrón de conexiones:
Las redes recurrentes
Son las que presentan al menos un ciclo cerrado de activación
neuronal.
Ejemplos:
� Elman,
� Hopfield,
� máquina de Boltzmann.
51
52
Clasificación de las RNAs
� Aprendizaje supervisado
� Aprendizaje no supervisado o
auto organizado
� Redes híbridas
� Aprendizaje reforzado
Las RNA en función del tipo de aprendizaje de que es capaz
(si necesita o no un conjunto de entrenamiento supervisado)
se clasifican en:
52
53
Clasificación de las RNAs
Aprendizaje supervisado:
Necesitan un conjunto de datos de entrada previamente
clasificado o cuya respuesta objetivo se conoce.
Ejemplos de este tipo de redes son:
� el perceptrón simple,
� la red Adaline,
� el perceptrón multicapa y
� la memoria asociativa bidireccional.
Tipo de aprendizaje:
53
54
Clasificación de las RNAs
Aprendizaje no supervisado o auto organizado:
No necesitan de tal conjunto previo.
Ejemplos de este tipo de redes son:
� las memorias asociativas,
� las redes de Hopfield,
� la máquina de Boltzmann y
� la máquina de Cauchy,
� las redes de aprendizaje competitivo,
� las redes de Kohonen o mapas autoorganizados y
� las redes de resonancia adaptativa (ART).
Tipo de aprendizaje:
54
55
Clasificación de las RNAs
Redes híbridas:
Son un enfoque mixto en el que se utiliza una función de
mejora para facilitar la convergencia.
Un ejemplo de este último tipo son:
� las redes de base radial.
Aprendizaje reforzado:
Se sitúa a medio camino entre el supervisado y el auto
organizado.
Tipo de aprendizaje:
55
56
Clasificación de las RNAs
También se pueden clasificar las RNAs según sean
capaces de procesar un tipo información en:
� Redes analógicas
� Redes discretas
56
57
Clasificación de las RNAs
Redes analógicas:
Procesan datos de entrada con valores continuos y
habitualmente acotados.
Ejemplos de este tipo de redes son:
� Hopfield,
� Kohonen y
� las redes de aprendizaje competitivo.
Tipo información:
57
58
Clasificación de las RNAs
Redes discretas:
Procesan datos de entrada de naturaleza discreta;
habitualmente valores lógicos booleanos.
Ejemplos de este segundo tipo de redes son:
� La máquina de Boltzmann,
� La maquina de Cauchy, y
� la red discreta de Hopfield.
Tipo información:
58
59
Resumen
Las Tareas que no cumplan las
indicaciones no serán considerados
por el profesor.
� Realizar un resumen mediante mapas conceptuales (CMapTools)
de esta diapositiva.
� Serán mejor consideradas los resúmenes que tengan información
extra a esta diapositiva.
� Las fuentes adicionales utilizadas en el resumen se presentarán
en su carpeta personal del Dropbox y deben conservar el nombre
original y agregar al final _S2.
� Las fuentes y los archivos *.cmap deben colocarse dentro de su
carpeta personal del Dropbox, dentro de una carpeta de nombre:
IA_PaternoM_S2
60
PreguntasEl resumen con mapas conceptuales solicitado de la Sesión al menos debe
responder las siguientes preguntas:
1. Comparar al computador y al hombre en la realización de tareas.
2. Listar 05 características de las RNA.
3. Describir las características propias del cerebro en las RNA.
4. Listar 10 características de la NB (cuántos son en un niño, adulto, sus
partes, donde se encuentran en mayor cantidad en el cerebro, cuantos
hay en punto, cuánto pesa el cerebro de un niño y un adulto, etc.)
5. Describir 05 características de las sinapsis.
6. Listar los tipos de NB. Hacer una maqueta de al menos dos tipos.
7. Comparar la computación tradicional con la computación neuronal.
8. Listar 10 hechos mas importantes de la historia de las RNA.
9. Listar 10 aplicaciones de las RNA.
10. Describa las características de cada una de las funciones de las RNA.
11. Describir 05 ventajas de las RNA.
12. Realizar un cuadro sinóptico de la clasificación de las RNA.
61
Sesión 2. Introducción a las RNA
Inteligencia Artificial
http://utpiayse.blogspot.com