Redes Neuronales Artificiales - Departamento de Sistemas e

Download Report

Transcript Redes Neuronales Artificiales - Departamento de Sistemas e

Aprendizaje Automatizado

Redes Neuronales Artificiales

Introducción

 Otra forma de emular características propias de los humanos: memorizar y asociar hechos.

  Se aprende de la

experiencia

.

El cerebro humano es el ejemplo m á s perfecto de sistema capaz de adquirir conocimiento.

 Se modela artificialmente ese sistema.

Definición

 Una red neuronal es "un nuevo sistema para el tratamiento de la información, cuya unidad básica de procesamiento está inspirada en la célula fundamental del sistema nervioso humano:

la neurona

".

 Las neuronas son un componente relativamente simple pero conectadas de a miles forman un poderoso sistema.

Descripción

 Unidades de procesamiento que intercambian datos o información.

 Se utilizan para reconocer patrones, incluyendo imágenes, manuscritos, tendencias financieras, etc.

 Tienen la capacidad de aprender y mejorar su funcionamiento.

Fundamentos El modelo biológico

 El cerebro humano contiene más de cien mil millones de neuronas.

 La clave para el procesamiento de la información son las conecciones entre ellas llamadas

sinápsis

.

Estructura biológica

    Las

dendritas

son la vía de entrada de las señales que se combinan en el cuerpo de la neurona. El

axón

es el camino de salida de la señal generada por la neurona.

En las terminaciones de las

sinápsis

se encuentran unas vesículas que contienen unas sustancias químicas llamadas neurotransmisores, que propagan señales electroquímicas de una neurona a otra.

La neurona es estimulada por sus entradas y cuando alcanza cierto umbral, se dispara o activa pasando una señal hacia el axón.

Estructura artificial

La función de activación puede ser una simple función escalón

Elementos de una red neuronal

 Se interconectan neuronas en tres tipos de capas: – De entrada: reciben estímulos externos.

– – Oculta: elementos internos de procesamiento (se pueden estructurar en varias capas).

De salida: reciben la información procesada y retornan la respuesta del sistema al exterior.

Elementos de una red neuronal

Elementos de una red neuronal

  Las neuronas están conectadas por canales unidireccionales con peso.

El peso wij está asociado al canal que conecta la neurona j con la neurona i .

  La entrada total de la neurona j es net j = Σw ij y i .

La salida de la neurona j es y j = f(net j ) .

Funciones de activación

  θ i representa un desplazamiento o umbral de activación (sesgo o

bias

).

Se puede pensar θ i como el peso w 0i neurona imaginaria x 0 con a 0 (t) = 1 .

que conecta una

Función de activación escalón

Funciones de activación identidad y lineal-mixta

Función de activación sigmoidal

Regla de aprendizaje

 Biológicamente se acepta que la información memorizada en el cerebro se relaciona con los valores sinápticos de las conexiones.

 En las RNA se considera que el conocimiento se encuentra representado en los pesos de las conexiones.

 El proceso de aprendizaje se basa en cambios en estos pesos.

Formas de conexión entre neuronas

 Las salidas de las neuronas se convierten en entradas de otras neuronas.

 Cuando ninguna salida de las neuronas es entrada de neuronas del mismo nivel o de niveles precedentes, la red se describe como propagación hacia adelante (

feedforward

).

 En caso contrario la red se describe como propagación hacia atrás (

feedback

).

Características de las RNA

 Topología.

– – Número de capas. Número de neuronas por capa.

– Tipo de conexiones. Normalmente, todas las neuronas de una capa reciben señales de la capa anterior (más cercana a la entrada) y envían su salida a las neuronas de la capa posterior (más cercana a la salida de la red).

 Tipo de aprendizaje.

Redes feedforward.

 Las más conocidas son: – Perceptrón – – Adaline Madaline  – Backpropagation Son útiles en aplicaciones de reconocimiento o clasificación de patrones.

Mecanismo de Aprendizaje

   Los cambios en el proceso de aprendizaje se reducen a destrucción, modificación y creación de conexiones entre las neuronas.

La creación de una conexión implica que el peso de la misma pasa a tener un valor distinto de cero.

Una conexión se destruye cuando su valor pasa a ser cero.

Redes con aprendizaje supervisado

 El tipo de aprendizaje puede ser supervisado o no supervisado.

 El proceso de aprendizaje supervisado se realiza mediante el control de un agente externo (supervisor) que determina la respuesta que debería generar la red a partir de una entrada determinada.

 En el caso de no coincidir se modifican los pesos con el fin de aproximarse al valor deseado.

Aprendizaje por corrección del error. Algoritmo

 Paso 1: Asignar valores aleatorios a los pesos de la red.

 Paso 2: Mientras no se alcance un nivel deseado de predicción: – Tomar un dato de entrenamiento x y obtener una salida y .

– Si y no es el valor deseado para x actualizar los pesos.

entonces

Regla de aprendizaje delta o MEC

 Los algoritmos actualizan los pesos mediante:

w

´ 

w

 

w

 La variación entre los distintos métodos está en la forma de calcular Δ

w .

 Se define una medida de error para cada patrón de entrenamiento p :

E p

 1 2 (

d p

y p

) 2

Regla de aprendizaje delta o MEC

   Se deben encontrar los w i error cuadrático:

E

 

p

D E p

 1 2  (

d p

 que minimicen el

y p

) 2 Para esta regla de aprendizaje, 

w i

   

E

w i

La idea es definir un vector gradiente  

E

 

E

w

1 , 

E

w

2 ,..., 

E

w m

Regla de aprendizaje delta o MEC

  Se debe encontrar la dirección en la que este vector hace menor al error E .

Algunas fórmulas útiles (función lineal): 

E

w i

 

E

y

 

y

w i

y

w i

x i

E

y

  (

d p

y p

)  Las redes Adaline y Madaline utilizan esta regla de aprendizaje.

Regla delta generalizada

  La regla delta se puede aplicar a una capa de neuronas.

Se puede generalizar a más capas.

 La idea central es que los errores de las unidades ocultas se propagan hacia atrás.

 Se aplica en la red Backpropagation.

Neural Network Toolbox

>> load house_dataset  La red backpropagation más comunmente utilizada posee una capa oculta con 20 neuronas.

>> newff(houseInputs, houseTargets, 20);  La cantidad de neuronas de entrada tanto como la de salida quedan determinadas por las características del dataset.

>> net = train(net, houseInput, houseTargets)

Neural Network Toolbox

Neural Network Toolbox

 El dataset es dividido aleatoriamente en tres conjuntos: – – 60% de los datos se utilizan para entrenamiento.

20% de los datos se utilizan para validación.

  – 20% de los datos se utilizan para test.

El entrenamiento continúa mientras se reduce el error de validación.

Esta es una técnica muy utilizada para evitar el sobreentrenamiento.

Neural Network Toolbox

 Una vez entrenada la red, se la puede utilizar: >> y = sim(net, p);  Para un conjunto de nuevos datos se espera un error similar al calculado para el conjunto de test.

 Se puede mejorar la precisión de una red.

Neural Network Toolbox

 Se puede inicializar nuevamente la red para volver a entrenar: >> net.IW{1, 1}(1:2, 1:2) -0.5815 0.2696

-0.2799 -0.4926

>> net = init(net); >> net.IW{1, 1}(1:2, 1:2) -0.0047 0.2063

0.4592 -0.4419

Neural Network Toolbox

 Una segunda estrategia es cambiar el número de capas y neuronas internas.

 – Se puede agregar como cuarto argumento un arreglo con los nombres de las funciones transferencia a usar en cada capa.

Por último, usar datos adicionales generalmente mejora el aprendizaje.