adeline 1

7

Click here to load reader

Upload: efren-mwdina

Post on 01-Jul-2015

811 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adeline 1

∑anP1

P2

7 de Enero del 2010 Redes neuronales

Abstract— Este trabajo tiene por objetivo principal describir en forma concreta y precisa el funcionamiento, estructura, algoritmos, aplicaciones de las redes Adaline. Reforzando así los conocimientos previos a la teoría de redes neuronales. Finalizaremos dándole énfasis al estudio de la aplicación “Filtros Adaptativos”, donde estudiaremos su funcionamiento, estructura y una implementación practica en MATLAB.

Orden de Temas — I. Introducción, II Introducción a las redes adaline, III. Filtros adaptativos, IV. Sistemas predictivos usando filtros adaptativos, V Ejercicio práctico.

I. INTRODUCCION

onocemos de antemano la teoría de las redes neuronales y como primer estudio

nos enfocamos en el perceptrón de Rosemblatt, del cual sacamos muchos conceptos básicos e importantes, como son:

C

El perceptrón es capaz de clasificar patrones linealmente separables, utiliza el aprendizaje supervisado, la función de activación es una hardlim (limitador fuerte). Su algoritmo de entrenamiento no es optimizado pues busca una posible solución y no la mejor respuesta a la clasificación.

Las redes adaline son muy parecidas al perceptrón, es decir, solo son capaces de clasificar patrones linealmente separables, la diferencia radica en que su función de activación es lineal, pero su punto fuerte está en su algoritmo de entrenamiento basado en la optimización del error cuadrático medio. Esto hace que busque una respuesta óptima para las soluciones.

Por estos criterios las redes Adaline son muy utilizadas en la aplicación de filtros adaptativos, sistemas predictivos en general.

II. INTRODUCCION A LAS REDES ADALINE

A. ¿Que son las redes Adaline y sus características?

Son Redes muy similares al Perceptrón con la diferencia de que su función de activación es lineal (purelin). Son de aprendizaje supervisado. De manera similar al perceptrón buscan minimizar el error en la salida. Usan la regla de Widrow – Hoff para el aprendizaje. Pueden resolver problemas linealmente separables. Su algoritmo LMS (Least Mean Square) es más eficiente que la regla de aprendizaje del perceptrón pues minimiza el error medio cuadrático. Este aprendizaje es del tipo Supervisado.

B. Estructura

La estructura general de la red es la siguiente:

Fig1. Estructura General Adaline

Como su función de activación es lineal la salida está definida directamente por la función identidad:

a=f (n )

a=n

a=∑i=1

w i∗Pi+b

Redes Adaline – Filtros AdaptativosEfrén Medina, Henry Cubides, Juan Salazar, Jorge Sigüencia Universidad Politécnica Salesiana, Ingeniería

Electrónica, Ciclo 9.

Page 2: Adeline 1

7 de Enero del 2010 Redes neuronales

C. Algoritmo LMS

A continuación describimos en resumen el algoritmo general LMS utilizado en las redes adaline:

1. Conocer de antemano el conjunto de patrones de entrenamiento, valor esperado (t), valor de entrada (p).

2. Evaluamos los patrones de la red mediante la función identidad:

a=∑i=1

w i∗Pi+b [1]

3. Calcular los nuevos pesos y bias mediante las ecuaciones:

W k+1=W k−2∝ (t k−ak ) . Pi [2]

bk+1=bk−2∝ ( tk−ak ) [3]

4. Calculamos el error medio cuadrático mediante:

f ℇ2= 12 L

∑R=1

L

(t k−ak )2 [4]

Donde k es el número de iteraciones.

Se debe imponer el valor de la tasa de aprendizaje (α), por ejemplo; α = 0.2.

5. Se debe terminar el aprendizaje si:

ℇ esperado> f ℇ2 [5]

En este caso se debe imponer el valor del ℇ esperado (goal).

D. Implementación ADALINE con MATLAB

MATLAB nos ofrece la herramienta toolbox de redes neuronales en el cual nos simplifica y facilita la implementación de estas redes con su entrenamiento LMS a través de la siguiente manera:

newlin(PR,S,ID,LR): crea una red Adaline

Donde: R, matriz Rx2 que contiene valores máximos y mínimos de cada uno de los R elementos de entrada.

S: # de neuronas

ID: Arreglo de valores de retardos, 0 por defecto.

LR: Tasa de aprendizaje, 0.01 por defecto.

Net.inputWeights{1,1}.delays: retardos iniciales, nos permite ingresar el numero de retardos que se desee. Se tiene que tomar en cuenta que los retarnos tienen que ir e orden ascendete ejemplo [0 1 2 3…] etc .

Net.adaptParam.passes: # de iteraciones.

Net.IW{1,1}: Nos permite inicializar los pesos de los retardos.

Net.B{1}: permite inicializar el peso del bias.

adapt(net,P,T,Pi,Ai): Entrena la red y realiza la adaptación del filtro- net: Es la red creada con newlin- P es la entrada de la neurona- T son los targets de la señal o lo que se quiere

eliminar- Pi condiciones iniciales del delay- Ai condiciones iniciales del layer

Más adelante observaremos como se emplean estos comandos con la aplicación descrita.

III. FILTROS ADAPTATIVOS

A. Introducción

Las redes Adaline tienen su máxima aplicación en el tratamiento de señales, en especial el filtrado. En comunicaciones o transporte de señales hay muchas

Page 3: Adeline 1

D

D

D

kykp 1

12 kykp

1 RkykpR

ky

D ∑

W1,1

W1,2

W1,R

b=1

n(k) a(k)

7 de Enero del 2010 Redes neuronales

interferencias que modifican las señales, por esto se han creado diversos tipos de filtros, desde redes pasivas RCL, técnicas de frecuencia, etc. Hasta modernos diseños digitales DSP. El diseño es muy complejo y costoso en muchas ocasiones. Las redes neuronales simplifican estos diseños como veremos más adelante.

B. Que son los Filtros Adaptativos?

Como sabemos al escuchar música de cualquier tipo de medio audible con sus respectivos altavoces o parlantes, se dividen las frecuencias en bajos, medios, agudos, esto se logra mediante filtros que separan estas frecuencias del original. Este es el trabajo de un filtro separar ciertas componentes deseadas o indeseadas de la original, en este caso podría separar componentes de ruido indeseadas de una señal.

C. ¿Cómo se diseñan?

Se implementan filtros más eficientes mediante software. La implementación de un filtro mediante redes adaline funciona de la siguiente manera:

La red toma valores de la entrada y salida deseada y se ajusta para dar una respuesta dada. Si cambian los valores la red puede adaptarse automáticamente a estos nuevos valores.

D. Estructura

Al combinar la red Adaline con un bloque de retardos en línea se crea un filtro adaptativo de la siguiente manera:

Fig.2. Retardos en línea

Fig.3. filtro adaptativo

En este caso la salida queda definida por la siguiente expresión:

a ( k )=f (W p+b )=∑i=1

R

W 1 , i∗y (k−i+1 )+b

[6]

El esquema en diagrama de bloques para su mayor comprensión lo exponemos a continuación:

s: señal originalv: fuente de ruidom: ruido contaminado por el trayectot: suma de s+ma: salida esperada del filtro adaptativoe: error.

Page 4: Adeline 1

Camino de contaminación

Filtro Adaptativo

+ +

Fuente de Ruido

v a

et

m

Señal Original

s+

- Error

7 de Enero del 2010 Redes neuronales

Fig.4. Diagrama de bloques de un filtro Adaptativo

Para nuestra red, la salida del filtro son los valores de m, en la entrada tendremos los valores de v respectivamente. Hay que tomar en cuenta que la señal m que pasa a través de algún trayecto (camino de contaminación) por efectos esta se atenúa y se desfasa por retardos, por tanto esta señal deberá tener la siguiente forma:

m (k )=Asin(wk+θ)

Funcionamiento:

No es posible determinar la forma de onda de la señal original pues puede ser cualquier onda en cualquier instante. El filtro adaptativo se adapta a cualquier tipo de onda. Por esto se debe determinar completamente la forma de la fuente del ruido.

La señal v se introduce y se obtiene la fuente efectiva del ruido m, por tanto lo que interesa es que la señal a sea lo más parecida a m, para que así se cancele la parte de ruido efectivo de t = s + m, aproximándose así la señal de error e a la señal s.

IV. SISTEMAS PREDICTIVOS USANDO FILTROS ADAPTATIVOS

Los sistemas predictivos se basan en datos estadísticos, como sabemos las redes neuronales son muy apropiadas en el manejo de los mismos. Por el simple hecho de las

cualidades de las redes Adaline y de los filtros adaptativos creados con estas, vimos que son capaces de adaptarse a diversas señales, esto quiere decir que se pueden estudiar patrones de comportamientos estadísticos en cierto tiempo y así entrenar una red que sea capaz de comportarse y predecir valores en ciertos tiempos.

Un ejemplo muy práctico es un estudio de la predicción del consumo de carga, se toman datos del consumo en todo el año y se entrena con estos valores a la red. A lo largo del año la red entrenada será capaz de predecir consumos picos o bajos en ciertas fechas del año o días en función de su entrenamiento, además si ocurre algo fuera de lo planeado la red está en la capacidad de adaptarse a nuevos valores y así dar resultados óptimos.

V. EJERCICIO PRÁCTICO

El ejercicio implementado es el de un filtro adaptativo en base a lo estudiado. Nuestra aplicación se describe:

En el ejercicio práctico se uso Matlab con el cual adquirimos una señal de voz de formato wav a una frecuencia de muestreo fs de 8000 hz la cual es la señal de origen S.

Creamos una señal que actúa como la fuente de ruido vk la cual puede ser adquirida desde el micrófono o generada mediante una onda senoidal. La señal que actúa como fuente de ruido teniendo el ruido contaminante mk que al sumar a la señal de origen se produce la señal contaminada.

Cabe recalcar que tanto la señal entrante como la del ruido son señales que duran 3 segundos con una frecuencia de muestreo de 8000Hz dado señales de 24000 muestras en total se realiza de esta manera para optimizar el entrenamiento y adaptación del filtro.

Señal Restaurada

Page 5: Adeline 1

7 de Enero del 2010 Redes neuronales

En el aprendizaje el vector de entradas P es igual al vector vk y la salida deseada es mk.

Para la implementación se utilizo dos retardos, tres pesos sinápticos y el bias, inicializándolos con valores aleatorios. Se uso una neurona y con el comando adapt el cual realiza el filtro adaptativo y entrena a la neurona para eliminar el ruido vk de la señal contaminada

0 1000 2000 3000 4000 5000 6000 7000-1

0

1Audio

0 500 1000 1500 2000 2500 3000 3500 4000-1

0

1Ruido

0 1000 2000 3000 4000 5000 6000 7000-2

0

2Señal con ruido

0 1000 2000 3000 4000 5000 6000 7000-1

0

1Señal filtrada

VI. CONCLUSIONES

1. Las redes adaline son muy parecidas al perceptrón con la diferencia que su función de activación es lineal.

2. La optimización de la red está en su algoritmo LMS descrito anteriormente que minimiza óptimamente el error medio cuadrático.

3. En los filtros adaptativos básicamente se utiliza una estructura de retardos y una red adaline.

4. Se observa la rapidez con la que la red se entrena y la eficacia que posee ya que se probo filtrando con 2 voces diferentes y filtra que uno no desea escuchar

5. También se nota una especie de amplificación a la salida de la red neuronal lo cual amplifica para el

filtrado y nos da una idea del potencial que tiene este tipo de neurona.

6. En cuanto a los comando se los estudiaron y se basan exactamente en lo visto en este informe ya que es la manera de entrenar una red adeline y vemos la sencillez de la aplicación de los comando.

VII. BIBLIOGRAFÍA

[1] Tomado el 6 de Enero del 2010 de

Martin T. Hagan, Howard B. Demounth and Mark Beale, “Neural Network Desing”, original copyright by PWS Publishing Company 1996 . China Machine Press.

[2]Tomado el 6 de Enero del 2010 de

James A. Freeman, David M. Skapura, ”Neural Networks, Algorithms, Applications and Programming Techniques ”, Addison-Wesley Publishing Company. QA76.87.F74. 1991.

[3] Tomado el 6 de Enero del 2010 de

Universidad Tecnologica de Pereira, “Tutorial de Redes Neuronales”, Copurigth© Universidad Tecnologica de Pereira. 2000.

[4] Tomado el 6 de Enero del 2010 de

MATLAB 7 , “Help Neural Network Toolbox”.