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

48
Redes neuronales Un recorrido por su matem´ atica, arquitectura y aprendizaje. Eduardo Paluzo Hidalgo Universidad de Sevilla 30 de enero de 2018

Upload: others

Post on 01-Feb-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Redes neuronalesUn recorrido por su matematica, arquitectura y aprendizaje.

Eduardo Paluzo Hidalgo

Universidad de Sevilla

30 de enero de 2018

Page 2: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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?

Page 3: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

¿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).

Page 4: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Inspiracion

Page 5: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un
Page 6: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un
Page 7: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 8: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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)

Page 9: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 10: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 11: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Hagamos dos ejemplo sencillos.

I Aprendizaje de la conjuncion.

I Aprendizaje de XOR.

Page 12: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Algoritmos de aprendizaje

I Algoritmo del descenso del gradiente.

I Algoritmo de retropropagacion.

Page 13: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 14: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 15: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Descenso del gradiente

Figura: Tomada de [6]

Page 16: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 17: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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

Page 18: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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

Page 19: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 20: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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).

Page 21: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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]

Page 22: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Figura: Tomada de [2]

Page 23: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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 ...

Page 24: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Parada temprana

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

Figura: Tomada de [6]

Page 25: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Dropout

Figura: Tomada de [6]

Page 26: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 27: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 28: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Figura: Tomada de [2]

Page 29: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un
Page 31: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Operaciones principales

I Convolucion.

I ReLU.

I Pooling o subsamplig.

I Clasificacion (Mediante una capa completamente conectada).

Page 32: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 33: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Ejemplo de convolucion

Figura: Tomada de [6]

Page 35: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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]

Page 36: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

ReLU

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

es una funcion no lineal.

Figura: Tomada de aquı.

Page 37: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Subsampling

Figura: Tomada de aquı.

Introduce invariancia a pequenas traslaciones.

Page 38: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Subsampling

Figura: Tomada de aquı.

Page 39: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Figura: Tomada de aquı.

Page 40: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 41: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 42: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un
Page 43: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Grafo conexo de menor distancia

Page 44: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Estudio de las comunidades

Page 45: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Predicciones

Page 46: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 47: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

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.

Page 48: Redes neuronales - Un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · Una Red Neuronal Arti cial (RNA) se de ne como una 3-upla N= (D;ff ig;A) donde D es un

Bibliografıa III

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

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