utp 2015-2_sirn_s2_rna

60
Sistemas Inteligentes y Redes Neuronales (WOIA) MSc. Ing. José C. Benítez P. Sesión: 2 Introducción a las RNA

Upload: jcbpperu

Post on 28-Jul-2015

1.890 views

Category:

Documents


2 download

TRANSCRIPT

Sistemas Inteligentes

y Redes Neuronales

(WOIA)

MSc. Ing. José C. Benítez P.

Sesión: 2

Introducción a las RNA

Sesión 2. Temas

Redes Neuronales Artificiales (RNA)� 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

2

Introducción a las RNA

El cerebro humano es el

sistema de cálculo más

complejo que conoce el

hombre.

3

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.

4

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.

5

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.

6

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.

7

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.

8

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.

9

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.

10

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.

11

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.

12

La neurona biológica

� La señal ingresa por las dendritas atraviesa

el cuerpo, el axón (salida), y sale por las

terminaciones nerviosas.

13

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.

14

La neurona biológica

� Existen varios tipos de neuronas.

15

Red neuronal biológica

16

Red neuronal biológica

17

C. Tradicional VS C. Neuronal

� Programación/Entrenamiento

� Arquitectura

� Sistemas Expertos

18

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

19

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

20

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

21

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

22

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

23

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

24

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

25

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.-

26

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

27

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).

28

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.

29

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).

30

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.

31

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.32

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.

33

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.

34

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.

35

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

Sistemas Inteligentes y Redes Neuronales - Prof. Ing. José C. Benítez P. 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

Sistemas Inteligentes y Redes Neuronales - Prof. Ing. Jose C. Benitez P. 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 RNAs1. Perceptrón

2. Adaline - Madaline

3. Perceptrón multicapa

4. Memorias asociativas

5. Máquina de Boltzmann

6. Máquina de Cauchy

7. Backpropagation (Propagación hacia atrás)

8. Redes de Elman

9. Redes de Hopfield

10. Redes de neuronas de base radial

11. Redes de neuronas de aprendizaje competitivo

12. Mapas Auto organizados (Redes de Kohonen)

13. Crecimiento dinámico de células

14. Gas Neuronal Creciente

15. 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

Topología:

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

Topología:

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

Preguntas

Al término de la experiencia de aprendizaje el alumno debe ser

capaz de responder las siguientes preguntas:

1. ¿Cuáles son los objetivos de las RNA?

2. Explique las características propias del cerebro en las RNA.

3. ¿Qué es y cuáles son las partes de una NB?

4. ¿Que son las sinapsis?

5. ¿Cuáles son lo tipos de NB que existen?.

6. Compare la computación tradicional con la computación

neuronal.

7. Listar cinco hechos mas importantes, de la historia de las RNA.

8. Listar diez aplicaciones de las RNA.

9. Describa en detalle cada una de las funciones de las RNA.

10. ¿Cuales son las ventajas de las RNA?.

59

Sesión 2. Introducción a las RNA

Sistemas Inteligentes y Redes Neuronales

http://utpsirn.blogspot.com

60