redes neuronales - un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · una...

Post on 01-Feb-2020

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Redes neuronalesUn recorrido por su matematica, arquitectura y aprendizaje.

Eduardo Paluzo Hidalgo

Universidad de Sevilla

30 de enero de 2018

Tabla de contenidos

IntroduccionInspiracion biologicaFuncionamientoDefinicion formal

Tipos y diseno

Algoritmos de aprendizajeDescenso del gradienteAlgoritmo de retropropagacion

Capacidad, sobreajuste e infraajuste

Regularizacion

Redes Neuronales ConvolucionalesOperaciones

¿Que puede mejorar la topologıa?

¿Que es una red neuronal?

“Las redes neuronales son redes interconectadas masivamente enparalelo de elementos simples (usualmente adaptativas) y conorganizacion jerarquica, las cuales intentan interactuar con losobjetos del mundo real del mismo modo que lo hace el sistemanervioso biologico.” (Kohonen).

Inspiracion

Una Red Neuronal Artificial (RNA) se define como una 3-upla

N = (D, fi,A)

donde D es un digrafo contable, localmente finito, con arcosetiquetados, cuyos vertices corresponden a las neuronas, los arcos alas conexiones sinapticas y las etiquetas de los arcos llamadaspesos, corresponden a las intensidades de las conexiones sinapticasen los sistemas neuronales naturales. A es un conjunto llamado deactivacion. Contiene los elementos de “entrada” de las unidades.Posee una estructura de modulo sobre el anillo de pesos, W .fi : A→ Ai ∈ V es una coleccion de funciones llamadas deactivacion o salida.

Vision matricial

El estado de activacion de la neurona j-esima de la capa l se puedeescribir

alj = f (∑i

w ljia

(l−1)i + blj ),

que en notacion matricial es

~al = f (~w~a(l−1) + ~bl)

Tipos de redes

Segun las conexiones que se establecen entre las distintas neuronasque conforman la red:

I Deep Feedforward Networks (DFN), tambien llamadasperceptrones multicapa, tienen como objetivo aproximar unadeterminada funcion g . Tienen la caracterıstica de que lasconexiones son siempre hacia delante. Ejemplo: Las redesneuronales convolucionales.

I Recurrent Neural Networks (RNN), permiten conexioneshacia atras.

Diseno

Es necesario tomar distintas decisiones a la hora de implementaruna red neuronal. Los elementos principales que se debenseleccionar son:

I Valores iniciales de pesos y bias.

I Conexiones entre las neuronas.I Funciones de activacion.

I En las capas ocultas.I En la capa de salida.

I Funcion C de coste.

I Sistema de entrenamiento.

Hagamos dos ejemplo sencillos.

I Aprendizaje de la conjuncion.

I Aprendizaje de XOR.

Algoritmos de aprendizaje

I Algoritmo del descenso del gradiente.

I Algoritmo de retropropagacion.

Funcion de coste

La funcion de coste estima la consistencia entre el valor deseado yel obtenido.

C =1

n

n∑i=1

L(~y ,Ω),

donde Ω lo usaremos para denotar la configuracion de la redneuronal. Es decir, los valores de los pesos y las bias. n es eltamano del conjunto de entrenamiento. L es una funcion adeterminar. ~y representa los valores deseados.

Algunos ejemplos

I C = 1n

∑x(~y(~x)− ~aL(~x))2 (ECM)

I C = 1n

∑x(log(~y(~x) +~1)− log(~aL(~x) +~1))2 (ELCM)

I C = 1n

∑x |~y(~x)− ~aL(~x)| (EMA)

I C = − 1n

∑x [~y(~x) · ln(~aL) + (~1− ~y(~x)) · ln(~1− ~a)] (EC)

I C = − 1n

∑x log(~aL(~x)) (NLL)

Notacion: L es la etiqueta de la ultima capa.

Descenso del gradiente

Figura: Tomada de [6]

Algoritmo del descenso del gradiente

Este algoritmo actualiza los valores de los pesos y las bias enfuncion de un parametro η que se llama factor de aprendizaje yde la variacion de la funcion de coste C .

wk → w ′k = wk − η ·∂C

∂wk,

bk → b′k = bk − η ·∂C

∂bk.

Problema: Poor conditioning.

Backpropagation: Formulario

Error en la ultima capa:

δL = ∇aC f ′(zL)

Propagacion del error hacia atras (retropropagacion):

δl = ((w (l+1))tδl+1) f ′(z l)

Variacion de coste en funcion de la bia:

∂C

∂blj= δlj

Variacion de coste en funcion del peso:

∂C

∂w ljk

= a(l−1)k δlj

Notacion: z l = ~w l~a(l−1) + ~bl

Backpropagation

Algoritmo de retropropagacion con descenso del gradiente:

1. Conjunto de entrenamiento.

2. Para cada ejemplo de entrenamiento:I ENTRADA: ~x −→ Se calcula ~a1.I HACIA DELANTE: Se calcula ~z l y ~al .I ERROR DE SALIDA: Se calcula δL = ∇aC f ′(zL).I RETROPROPAGACION DEL ERROR:∀l ∈ L− 1, L− 2, . . . , 2 (Se calcula~δl = ((w (l+1))tδl+1) f ′(z l)).

I DEVUELVE ∂C∂w l

jk

= a(l−1)k δlj y ∂C

∂blj

= δlj .

3. DESCENSO DEL GRADIENTE: Para cadal ∈ L− 1, L− 2, . . . , 2 se actualizan los pesos de acuerdocon:

w l → w l − η

m

∑x

δx ,l(ax ,l−1)t

Capacidad, sobreajuste e infraajuste

I La capacidad de representacion de la red neuronal mide lafamilia de funciones que la red puede elegir variando losparametros.

I En general encontrar la mejor funcion es un problema deoptimizacion muy dificil. Ası, la capacidad efectiva suele sermenor que la capacidad representacional.

I El sobreajuste sucede cuando hay una diferencia muy grandeentre los errores en el entrenamiento y los tests.

I Se produce un infraajuste si la red no consigue un erroraceptablemente bajo respecto al conjunto de entrenamiento.

Regularizacion

Problema: Debe comportarse bien en el conjunto deentrenamiento y en las nuevas entradas.Estrategia: Regularizacion con el objetivo de reducir el error en lostests (generalmente a expensas de un incremento del error en elconjunto de entrenamiento).

I Restricciones en los parametros del modelo.

I Adicion de terminos extra a la funcion de coste(Correspondiendo a una restriccion suave a los valores de losparametros).

Adicion de penalizaciones a C

C = C0 + λΛ,

donde λ ∈ [0,+∞) hiperparametro para medir la contribucion deΛ que es la penalizacion.Algunos ejemplos son:

I L2 Λ = 12 || ~W ||

22 (Regularizacion de Tikhonov)

I L1 Λ = || ~W ||1

Figura: Tomada de [6]

Figura: Tomada de [2]

Aumento del conjunto de entrenamiento

Objetivo: Mejorar la generalizacion.Es especialmente practico para problemas de clasificacion, pues enestos problemas lo principal es encontrar invariantes en una ampliavariedad de ejemplos. Ha sido muy efectiva en reconocimiento deimagenes.Funcionamiento: Se aplican distintas transformaciones aelementos del conjunto de entrenamiento, generando nuevoselementos que se anaden a el. Las transformaciones pueden serrotaciones, distorsiones, desplazamientos, inyeccion de ruido ...

Parada temprana

Para modelos con suficiente capacidad de representacion comopara pecar de sobreajuste.

Figura: Tomada de [6]

Dropout

Figura: Tomada de [6]

Otros algoritmos de regularizacion

I Sparse representations,

I Parameter tying y parameter sharing,

I Bagging,

I Entrenamiento con adversarial examples,

I Distancia tangente,

I Propagacion tangente,

I Clasificador tangente de variedades.

Redes Neuronales Convolucionales (CNNs)

Son redes neuronales que usan convolucion en lugar demultiplicacion de matrices en, al menos, una de sus capas.

I Estan especializadas en el procesamiento de datos que tienenuna topologıa de malla conocida.

I Por ejemplo:I Time-series data (Ejemplos 1− D grid tomados en intervalos

de tiempo regulares ).I Imagenes (2− D grid de pıxeles).

I Han tenido gran exito en aplicaciones practicas.

Figura: Tomada de [2]

Operaciones principales

I Convolucion.

I ReLU.

I Pooling o subsamplig.

I Clasificacion (Mediante una capa completamente conectada).

Operacion de convolucion

Se denota por:s(t) = (I ∗ K )(t),

donde I es el argumento de entrada y K se denota kernel. Vienedada por las siguientes expresiones:

I Caso continuo: (x ∗ w)(t) =∫x(a)w(t − a)da

I Caso discreto: (x ∗ w)(t) =∑∞

a=−∞ x(a)w(t − a)

I Caso 2-dimensional:(I ∗ K )(i , j) =

∑m

∑n I (m, n)K (i −m, j − n)

Ademas, la convolucion es conmutativa,

(K ∗ I )(i , j) = (I ∗ K )(i , j),

y equivariante.

Ejemplo de convolucion

Figura: Tomada de [6]

Sparse connectivity

En las redes neuronales tradicionales cada valor de salida de unaneurona interactua con todas las neuronas de la siguiente capa. Lasredes convolucionales tienen generalmente sparse interactions.

Figura: Tomada de [6]

ReLU

Relu(z) = max(0, z),

es una funcion no lineal.

Figura: Tomada de aquı.

Subsampling

Figura: Tomada de aquı.

Introduce invariancia a pequenas traslaciones.

Subsampling

Figura: Tomada de aquı.

Figura: Tomada de aquı.

Topologıa aplicada

La topologıa puede ser una herramienta muy potente para mejorarla eficacia de las redes neuronales. Sobre todo en el tratamiento deconjuntos de datos.

Conjunto representativo

Motivacion: Las redes neuronales pueden llegar a tardar semanaso meses en ser entrenadas.Idea: Encontrar puntos que mantengan la forma del conjunto depuntos, reduciendo el tamano total del conjunto de entrenamiento.

Grafo conexo de menor distancia

Estudio de las comunidades

Predicciones

Bibliografıa I

An Intuitive Explanation of Convolutional Neural Networks.https://ujjwalkarn.me/2016/08/11/

intuitive-explanation-convnets/, 2016.[Online; acceso 18-Enero-2018].

CS231n: Convolutional Neural Networks for VisualRecognition.http://cs231n.github.io, 2017.[Online; acceso 18-Enero-2018].

R. Balestriero and R. Baraniuk.Deep Neural Networks.ArXiv e-prints, October 2017.

S. Fortunato and D. Hric.Community detection in networks: A user guide.659:1–44, November 2016.

Bibliografıa II

J.R.H. Gonzalez and V.J.M. Hernando.Redes neuronales artificiales: fundamentos, modelos yaplicaciones.Serie Paradigma. Addison-Wesley Iberoamericana, 1995.

Ian Goodfellow, Yoshua Bengio, and Aaron Courville.Deep Learning.MIT Press, 2016.http://www.deeplearningbook.org.

S.S. Haykin.Neural Networks and Learning Machines.Number v. 10 in Neural networks and learning machines.Prentice Hall, 2009.

Bibliografıa III

M. Nielsen.Neural Networks and Deep Learning.http:

//neuralnetworksanddeeplearning.com/index.html,2017.[Online; acceso 18-Enero-2018].

top related