inteligencia artificial y redes neuronales

7
Inteligencia Artificial y Redes Neuronales (M. Daniela López De Luise-EnterpriseWare SRL-Junio de 2001) 1. Inteligencia Artificial Podía decirse que la Inteligencia artificial es el estudio de los comportamientos que permiten percibir, razonar y actuar. Desde el punto de vista de objetivos, debemos decir que además de abarcar la ingeniería, es en sí una ciencia. El objetivo ingenieril: resolver problemas reales usando como base las técnicas de representación y utilización del conocimiento y de cómo construir sistemas. El objetivo científico: determinar qué ideas acerca de la representación del conocimiento, del uso que se da a éste, y del ensamblaje de sistemas explican diversas clases de inteligencia. La Inteligencia Artificial, para cumplir con su objetivo, aborda el estudio de los métodos de representación de conocimiento, uso y alcance. También estudia los métodos de aprendizaje con mayor o menor complejidad. Entre las áreas más destacadas de la AI, podemos encontrar: - Aprendizaje automático y Redes neuronales - Robótica - Percepción - Computación evolutiva (algoritmos genéricos) - Arquitecturas con agentes inteligentes (ej. Bases de Datos inteligentes) - Sistemas basados en el conocimiento: sistemas expertos - Recuperación de la información y procesamiento de lenguaje natural 2. Por qué redes neuronales 2.1. Se adapta al procesamiento paralelo masivo, realizando cálculos lógicos que en una arquitectura de Von Neumann sería casi ridículo pensar. Este procesamiento masivo es característico de cierto tipo de aplicaciones como reconocimiento de patrones, clasificación, etc. 2.2. Dada la flexibilidad de “adaptación” es apto para “aprendizaje” de características a partir de sus entradas. 2.3. Su naturaleza de procesamiento no lineal, es apto para aproximaciones funcionales y para filtrado de señales con resultados altamente superiores a los sistemas convencionales. 2.4. Son excelentes sistemas de clasificación donde los dominios de interés son complejo. 3. Problemas de las redes neuronales 3.1.Requieren de una capacidad de cálculo muy alta para obtener resultados significativos 3.2.Debido a su naturaleza matemática, la red puede alcanzar un nivel de optimización local y no global (acá hay que tener en cuenta que en definitiva siempre se está optimizando una especie de función de costo, que será la que refleje el objetivo a alcanzar).

Upload: josue-juarez

Post on 13-Dec-2015

1 views

Category:

Documents


0 download

DESCRIPTION

La Inteligencia Artificial, para cumplir con su objetivo, aborda el estudio de losmétodos de representación de conocimiento, uso y alcance. También estudia losmétodos de aprendizaje con mayor o menor complejidad.

TRANSCRIPT

Page 1: Inteligencia Artificial Y Redes Neuronales

Inteligencia Artificial y Redes Neuronales(M. Daniela López De Luise-EnterpriseWare SRL-Junio de 2001)

1. Inteligencia ArtificialPodía decirse que la Inteligencia artificial es el estudio de los comportamientosque permiten percibir, razonar y actuar.Desde el punto de vista de objetivos, debemos decir que además de abarcar laingeniería, es en sí una ciencia.El objetivo ingenieril: resolver problemas reales usando como base las técnicasde representación y utilización del conocimiento y de cómo construir sistemas.El objetivo científico: determinar qué ideas acerca de la representación delconocimiento, del uso que se da a éste, y del ensamblaje de sistemas explicandiversas clases de inteligencia.

La Inteligencia Artificial, para cumplir con su objetivo, aborda el estudio de losmétodos de representación de conocimiento, uso y alcance. También estudia losmétodos de aprendizaje con mayor o menor complejidad.Entre las áreas más destacadas de la AI, podemos encontrar:- Aprendizaje automático y Redes neuronales- Robótica- Percepción- Computación evolutiva (algoritmos genéricos)- Arquitecturas con agentes inteligentes (ej. Bases de Datos inteligentes)- Sistemas basados en el conocimiento: sistemas expertos- Recuperación de la información y procesamiento de lenguaje natural

2. Por qué redes neuronales2.1. Se adapta al procesamiento paralelo masivo, realizando cálculos lógicosque en una arquitectura de Von Neumann sería casi ridículo pensar. Esteprocesamiento masivo es característico de cierto tipo de aplicaciones comoreconocimiento de patrones, clasificación, etc.2.2. Dada la flexibilidad de “adaptación” es apto para “aprendizaje” decaracterísticas a partir de sus entradas.2.3. Su naturaleza de procesamiento no lineal, es apto para aproximacionesfuncionales y para filtrado de señales con resultados altamente superiores a lossistemas convencionales.2.4. Son excelentes sistemas de clasificación donde los dominios de interés soncomplejo.

3. Problemas de las redes neuronales3.1.Requieren de una capacidad de cálculo muy alta para obtener resultadossignificativos3.2.Debido a su naturaleza matemática, la red puede alcanzar un nivel deoptimización local y no global (acá hay que tener en cuenta que en definitivasiempre se está optimizando una especie de función de costo, que será la querefleje el objetivo a alcanzar).

Page 2: Inteligencia Artificial Y Redes Neuronales

3.3.Para la resolución de muchos problemas de la vida real aún son técnicasimpracticables debido al estado de avance de la tecnología y a la complejidad dela implementación e interpretación de las redes.

4. Conceptos básicosUna manera de ver el comportamiento básico de una red es compararla contraun sistema algorítmico tradicional.

Acá vemos unas diferencias importantes:1.En el caso del clasificador tradicional (A), los patrones de entrada sonintroducidos secuencialmente, luego se realizan ciertos cálculos internostambién secuencialmente. En el caso del clasificador neuronal (B), las entradasson paralelas y los cálculos internos se realizan paralelamente.2.En el caso tradicional, los parámetros del sistema son calculados previamentea partir de los datos de muestra. Una vez determinados, estos parámetrospermanecen invariables en el tiempo. En cambio en el clasificador neuronal (B)los parámetros internos y los “pesos” que unen los nodos (donde se depositaparte del conocimiento acerca del algoritmo de clasificación), son “aprendidos”por la red durante el transcurso de su proceso de aprendizaje, que solo constade la presentación de las entradas de muestra y de la respuesta esperada porparte de la red. Al terminar este proceso (totalmente automático), puede optarseo no por dejar los parámetros estáticos.

Page 3: Inteligencia Artificial Y Redes Neuronales

5. TaxonomíaLos componentes básicos de una red de neuronas son:

5.1. Nodos de entrada:Los datos de entrada a la red de neuronas, deberá presentarse de manera quesea procesable por ésta. Normalmente se trata de un conjunto de valores queconforman un vector de n elementos numéricos (algunas redes admiten soloelementos dentro de los números enteros, otras permiten entradas realesacotadas y otras simplemente reales). Estos nodos son los que reciben laentrada en algún formato relacionado con el entorno real del problema y sededica a transformar las entradas en algo entendible por la red. Es un“preprocesamiento de adaptación”.

5.2. Nodo interno: Función de CombinaciónCada unidad en la red neuronal que no es de entrada combina valoresalimentados vía una conexión sináptica o de otras unidades, produciendo unúnico valor denominado “neto”. No existe una definición estándar de cómo debeser esta función. Normalmente se las denomina función de combinación, y esuna función con dominio en el campo de los vectores y con imagen en losescalares. Es decir, es una función que recibe un vector de valores y quedevuelve un número. La mayoría de las redes de neuronas utilizan la función decombinación lineal o bien la distancia euclídea de las entradas respecto a lasalida esperada. La principal característica afectada por esta función es lahabilidad de generalizar que pueda llegar a tener la red, especialmente cuandola cantidad de patrones de aprendizaje son muchos.Un esquema de este tipo de nodos sería:

El nodo gris representa la función de combinación. En el caso de lasdenominadas redes de Hopfield la ecución que representa al nodo es:

(1) y = w0 . x0 + w1. x1+...+ wn-1 . xn-1 = Σ wi. xi (i = [0..N-1])

...w0w1

w2

wn-2

wn-1

yentradas salidas

x0x1x2

xn-2xn-1

entradas

x0x1x2

xn-2xn-1

problema real

Page 4: Inteligencia Artificial Y Redes Neuronales

+1 fh 0 α

-1

Aquí los wi, son los “pesos” de las conexiones entre el nodo de entrada y el nodogris. Los xi, son cada uno de los elementos en que ha sido descompuesta laentrada para conformar el vector mencionado para los nodos de entrada.Como puede verse aquí, los pesos dependen de los nodos que interconectan.En estos pesos quedará parte de la información algorítmica almacenada, demodo que al modificar el peso de una conexión estamos modificando elalgoritmo que cumple la red y por lo tanto su comportamiento.

5.3. Función de activaciónLa mayoría de las unidades dentro de la red convertirá su entrada a otro valorescalar utilizando esta función. El valor resultante es denominado activación.Salvo para las neuronas de salida, normalmente estos valores son enviados víasinápsis a otras unidades. En algunos casos estos valores son acotados. Todaslas redes tienen esta función, y en el peor de los casos su resultado seráidéntico a su entrada, o sea una función identidad o lineal.Para nuestro estudio, tomaremos una red muy sencilla que se utiliza paraclasificar patrones, es el caso de la red de Hopfield.Para adaptar (1) conforme aesta red, incluyendo la función de activación, debemos tomar el valor obtenidoen (1) (llamémoslo α) y hacerlo pasar por una función fh: +1, α > 1(2) fh = 0 , α ε [-1..+1]

-1, α < -1lo que gráficamente sería:

Nuestra neurona tendrá el siguiente aspecto:

Acá nuestra ecuació(3) y = fh (w0 . x0 + w

5.4. Función de ePara la etapa de aprdiferencia entre la sa

...entradas

x0x1x2

xn-2xn-1

w0

w1

salidas

w2 fh wn-2

wn-1

n (1) se tran1. x1+...+ wn

rrorendizaje, nolida obtenid

y

sformará con (2) en :-1 . xn-1)= fh (Σ wi. xi) (i = [0..N-1])

rmalmente se utiliza una función que mide laa por la red y el valor que debió dar (respuesta

Page 5: Inteligencia Artificial Y Redes Neuronales

esperada). Por medio de la misma se puede corregir el comportamiento de lared.

En nuestro caso (red de Hopfield), no tendremos esta función, pero en redesmás complejas es una componente que sirve para ajustar los pesos luego deque el nodo haya provocado su salida. Suele ser del estilo:

(4) wi(t+1) = wi(t) + η.ξ.xi

donde vemos que se agregan dos cosas: un valor de error (ξ) y un valor quedetermina la “rapidez” con que la red “aprende” de sus errores (η). Los pesos wicambian con el tiempo, la sucesión temporal sería aproximadamente:

t suceso0 ingresa el vector de entrada en los

nodos input. Se inicializan los pesos wi.Se establece que tan rápido se quiereaprender dándole un valor a ηηηη.

1 el nodo procesa por primera vez laentrada y obtiene un error ξξξξ, que seusa para corregir los pesos con la“rapidez” dada por ηηηη

2 se repite el paso de t=1...

5.5. Función objetivoEs la función que representa el objetivo a alcanzar durante el entrenamiento.Normalmente se trata de una minimización del error total, en función de lospesos de las conexiones.

En el caso de la red de Hopfield que nos planteamos, no será ni la maximizaciónni la minimización de ninguna función. Esta red termina de procesar cuando lassalidas obtenidas no cambian al iterar. En ese momento, la salida estableobtenida representará el resultado deseado.

6. DemostraciónPara llevar a la práctica lo anterior veamos la red de Hopfield cuando secompone de 120 nodos, y donde suponemos que hubo en algún momento unproceso de aprendizaje (del cual no hablaremos en esta presentación). La redfue “entrenada” con los siguiente 8 patrones que siguen:

Page 6: Inteligencia Artificial Y Redes Neuronales

Cada patrón contiene 120 pixels, y sólo números –1 o +1 (para puntos blancos onegros)Luego se tomó el patrón del número 3 y se lo distorcionó invirtiendo bits al azarcon una probabilidad de 0.25. El resultado de la distorción fue introducido en lared para ver si reconocía que el patrón original era realmente un 3 o si loconfundía con otra cosa (esta es la misma técnica que se utiliza para los filtros).A continuación están las 8 salidas sucesivas de la red desde el momento inicialen t=0, hasta que se llega al resultado final en t=7:

La responsable de este resultado es la red de Hopfield, que tendrá el siguienteaspecto (incluyendo algunos “artefactos” matemáticos no explicados):

7. Aplicación

t = 0 t = 1 t = 2 t = 3

t = 4 t = 5 t = 6 t = 7

Page 7: Inteligencia Artificial Y Redes Neuronales

1. Clasificación2. Reconocimiento de imágenes3. Determinación de patrones de comportamiento (ej.webmining)4. Filtros (eliminación de ruidos)5. Robótica (ej. para que el robot aprenda a “mantener el equilibrio”)

Lic. M. Daniela López De LuiseEnterpriseWare SRL- Buenos Aires- ArgentinaTE/FAX: +54(11)4964-2435email: [email protected]