redes neuronales - un recorrido por su matemática ...personal.us.es/epaluzo/seminario.pdf · una...
Post on 01-Feb-2020
8 Views
Preview:
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]
(Imagenes tomadas de aquı).
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.
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