redes neuronales artificiales · 2016. 9. 26. · los algoritmos actualizan los pesos mediante: ......
TRANSCRIPT
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
Están inspiradas en el cerebro humano.
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 netj = Σwijyi.� La salida de la neurona j es yj = f(netj).
� f es la función de activación
� θi representa un desplazamiento o umbral de activación (sesgo o bias).
� Se puede pensar θi como el peso w0i que conecta una neurona imaginaria x0 con a0(t) = 1.
Elementos de una red neuronal
Funciones de activación escalón y signo
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) o unidireccional.
� 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
� Cada círculo representa una neurona.
� Cada neurona recibe señales desde las neuronas situadas a su izquierda y envía señales a las neuronas situadas a la derecha.
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 entonces
actualizar los pesos.
Regla de aprendizaje delta o MEC
� Los algoritmos actualizan los pesos mediante:
www ∆+=´
� 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:
221 )( ppp ydE −=
Regla de aprendizaje delta o MEC
� Se deben encontrar los wi que minimicen el error cuadrático:
∑∑ −==∈
221 )( pp
Dp
p ydEE
� Para esta regla de aprendizaje,i
i w
Ew
∂∂−=∆ η
� La idea es definir un vector gradiente
mw
E
w
E
w
EE
∂∂
∂∂
∂∂=⋅∇ ,...,,
21
Regla de aprendizaje delta o MEC
El error es una función vectorial (vector w de pesos)
Regla de aprendizaje delta o MEC
� Se debe encontrar la dirección que más rápidamente hace disminuir el error E.
� Algunas fórmulas útiles (función lineal):
ii w
y
y
E
w
E
∂∂⋅
∂∂=
∂∂
ii
xw
y =∂∂
)( pp ydy
E −−=∂∂
� 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.
Redes Neuronales - Resumen (I)
� Capacidad de representación: muy alta. Fronteras de representación no lineales.
� Legibilidad: ninguna. El modelo resultante consiste en vectores de pesos para las conexiones entre neuronas.
� Tiempo de cómputo on-line: Rápido. Las operaciones son sumas y multiplicaciones.
Redes Neuronales - Resumen (II)
� Tiempo de cómputo off-line: muy lento. Gran cantidad de pesos a ajustar iterativamente.
� Parámetros a ajustar: complicado. Se debe ajustar la estructura de la red, el tamaño del paso (learning rate), condiciones de terminación, etc.
� Robustez ante ejemplos de entrenamiento ruidosos: alta.
� Sobreajuste: puede ocurrir. Se debe controlar.
Neural Network Toolbox (I)
>> 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 (II)
Neural Network Toolbox (III)
� 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 (IV)
� 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 (V)
� 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 (VI)
� 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.
Bibliograf ía
� Machine Learning - Tom Mitchell – McGrawHill� Neural Network Toolbox (For Use with MATLAB®) -
Howard Demuth, Mark Beale, Martin Hagan (http://www.mathworks.com/access/helpdesk/help/pdf_doc/nnet/nnet.pdf).
� Curso de doctorado "Aprendizaje Automatizado y Data Mining" Grupo de Ingeniería de Sistemas y Automática (Universidad Miguel Hernández)http://isa.umh.es/asignaturas/aprendizaje/index.html