This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
• 1943: McCulloch y Pitt introducen un modelo matematico simple de “neurona”.
• 1949: Hebb propone una regla que modela el aprendizaje en las neuronas.Rochester realiza una simulacion en un computador IBM en 1950.
• 1957: Rosenblatt introduce el Perceptron como un dispositivo hardware concapacidad de autoaprendizaje y Widrow y Hoff proponen el Adaline para lacancelacion de ecos en redes telefonicas.
• 1969: Minsky y Papert demuestran que un perceptron solo puede implementarfunciones discriminantes lineales y que esta limitacion no se puede superarmediante multiples perceptrones organizados en cascada: Para ello serıanecesario introducir funciones no-lineales.
• 1970-1975: Diversos autores tratan de desarrollar algoritmos de descenso porgradiente adecuados para multiples perceptrones en cascada con funcionesno-lineales. El calculo de derivadas parciales se muestra esquivo.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• 1986: Rumelhart, Hinton y Williams popularizan la tecnica de retropropagaciondel error. Se basa en el uso de cierto tipo de funciones no lineales, llamadas“funciones de activacion”, con las que se simplifica el calculo de derivadasparciales necesarias para descenso por gradiente. Al parecer, tecnicas similareshabıan sido ya propuestas por Linnainmaa en 1970 y Werbos en 1974.
• 1996: Bishop, Rippley, Ney, entre otros, dan una interpretacion probabilıstica alas redes neuronales y al algoritmo de retropropagacion del error.
• 2000: Limitaciones en el uso del algoritmo de retropropagacion del error enredes de muchas capas.
• 2006: Hinton publica en Science un artıculo que inagura una nueva tendenciadenominada “redes profundas”. Posteriormente, en 2015 LeCun, Bengio yHinton publican un artıculo sobre estas tecnicas en Nature. Se desarrollandiversas tecnicas que mejoran el uso del algoritmo de retropropagacion en redesprofundas y en redes recurrentes.
• 2015-: Aplicacion con gran exito en multiples problemas. Uso de grandes redespre-entrenadas.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• Un perceptron de dos capas consiste en una combinacion de FDLA agrupadasen 2 capas de tallas M1 (capa oculta) y M2 (capa de salida), mas una capa deentradas de talla M0 = d (por simplicidad no se contabilizan los umbrales):
s2i (x; Θ) = g(
M1∑j=0
θ2ij s
1j(x; Θ)) = g(
M1∑j=0
θ2ij g(
M0∑j′=0
θ1jj′ xj′)) 1 ≤ i ≤M2
Los parametros son Θ = [θ110, . . . , θ
1M1M0
, θ210, . . . , θ
2M2M1
] ∈ RD
• Problema: Dado un conjunto de entrenamiento S = {(x1, t1), . . . , (xN , tN)},con xn ∈ RM0, tn ∈ RM2, encontrar Θ tal que s2(xn; Θ) aproxime lo mejorposible a tn ∀n, 1 ≤ n ≤ N .
• En clasificacion: M2 ≡ C y las etiquetas tn para 1 ≤ n ≤ N son de la forma
1 ≤ c ≤ C tnc =
{1 xn es de la clase c0 (o − 1) xn no es de la clase c
Simplificaciones de notacion: ski (x; Θ) ≡ ski (x) ≡ ski ∀k, i
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
El perceptron multicapa y las funciones de activacion
• Un perceptron multicapa de dos capas define una funcion RM0 → RM2:
s2i (x) = g(
M1∑j=0
θ2ij s
1j(x)) = g(
M1∑j=0
θ2ij g(
M0∑j′=0
θ1jj′ xj′)) para 1 ≤ i ≤M2
• Si todas las funciones de activacion son lineales, un perceptron multicapadefine UNA FUNCION DISCRIMINANTE LINEAL, φ(x) = (φ1(x), . . . , φM2(x))t:
φi(x) ≡ s2i (x) =
M1∑j=0
M0∑j′=0
θ2ijθ
1jj′ xj′ =
M0∑j′=0
(
M1∑j=0
θ2ijθ
1jj′)xj′ =
M0∑j′=0
θij′ xj′
• Si al menos una funcion de activacion no es lineal (y, sin perdida degeneralidad, todas las funciones de activacion de la capa de salida sonlineales) un perceptron multicapa define UNA FUNCION DISCRIMINANTE LINEALGENERALIZADA:
φi(x) ≡ s2i (x) =
M1∑j=0
θ2ij g(
M0∑j′=0
θ1jj′ xj′) =
M1∑j=0
θ2ij ψj(x) para 1 ≤ i ≤M2
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• Cualquier funcion se puede aproximar con precision arbitraria medianteun perceptron de una o mas capas ocultas con un numero de nodossuficientemente grande
• En general, para alcanzar una precision dada, el numero de nodosnecesarios suele ser mucho menor si el numero de capas ocultas esmayor o igual que dos
• Si se utiliza una funcion de activacion softmax en la capa de salida,entonces el perceptron implementa una distribucion de probabilidad.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Clasificacion en C clases de puntos de Rd (PM con M0 ≡ d, M2 ≡ C)
f : Rd → {1, . . . , C} : f(x) = argmax1≤c≤C
φc(x) = argmax1≤c≤M2
s2c(x)
• Si un conjunto de entrenamiento es linealmente separable existe unperceptron sin capas ocultas que lo clasifica correctamente.
• Un PM con una capa oculta de N − 1 nodos puede clasificarcorrectamente las muestras de cualquier conjunto de entrenamiento detalla N . ¿Con que poder de generalizacion?.
• Cualquier frontera de decision basada en trozos de hiperplanos puedeobtenerse mediante un PM con una capa oculta y un numero de nodosadecuado [Huang & Lippmann, 1988], [Huang, Chen & Babri, 2000].
• En general, el numero de nodos necesarios para aproximar una fronteradada suele ser mucho menor si el numero de capas ocultas es mayor oigual que dos.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
obtener Θ que minimice una funcion objetivo o “de perdida” (“loos” ),qS(Θ), que mida adecuadamente la discrepancia entre las salidas de lared y los valores deseados (o “targets” ) dados por S:
qS(Θ) =1
N
N∑n=1
qn(Θ)
donde qn(Θ) es la perdida de la muestra n-esima.
SOLUCION: descenso por gradiente (“algoritmo BACKPROP”)
∆θlij = −ρ ∂qS(Θ)
∂θlij=
1
N
N∑n=1
−ρ ∂qn(Θ)
∂θlij=
1
N
N∑n=1
∆nθlij
Por tanto, para cada muestra n-esima, hay que calcular:
∆nθlij
def=−ρ ∂qn(Θ)
∂θlij, 1≤ i≤Ml, 0≤j≤Ml−1, 1≤ l≤L, 1≤n≤N
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
ERROR CUADRATICO: Adecuado en general para regresion y clasificacion:
qn(Θ) =1
2
ML∑i=1
(tni − sLi (xn; Θ)
)2ENTROPIA CRUZADA: Especıficamente adecuada para clasificacion, conactivacion softmax en la capa de salida y ML = C.
qn(Θ) = −C∑i=1
tni log sLi (xn; Θ)
En este caso, las C salidas se consideran como aproximaciones a lasprobabilidades a posteriori de clase. Los valores objetivo (targets) de cadamuestra de aprendizaje en S tienen valores en {0, 1} y se cosnideranprobabilidades a posteriori de clase de la distribucion “empırica” dada por S.
Para simplificar, pero sin perdida de generalidad, en lo que sigue se asume L=2.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
BackProp incremental o “batch”• BackProp “batch“: en cada iteracion se procesan las N muestras de entrenamiento
(“ epoch”) y los pesos del PM se actualizan una sola vez.
• BackProp “mini-batch”: el conjunto de entrenamiento se divide en B bloques, encada uno se procesan las muestras que estan contenidas y luego se actualizan lospesos del PM. Por tanto en un epoch los pesos se actualizan N/B veces.
• BackProp “incremental”: en cada iteracion se procesa solo una muestra deentrenamiento (aleatoria) y se actualizan los pesos del PM. Por tanto en un epochlos pesos se actualizan N veces.
EPOCHS
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
0250 500 750 1000 1250 1500 1750 2000
ρ=0.5
BATCH
ON-LINE
Error cuadrático medio
Ciclos de entrenamiento
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• El problema de la anulacion o explosion del gradiente en el caso demuchas capas:
– Uso de funciones de activacion como Relu, LeakyRelu/PreLU,Maxout, ELU, ...
– Regularizacion.– Drop-out: Durante el entrenamiento se seleccionan aleatoriamente
un subconjunto de nodos y no son utilizados en una iteracion.– Conexiones residuales.– Normalizacion a nivel de batch y/o de capa.– Gradiente recortado (clipping).
• Evitar “malos” mınimos locales:
– Barajar los datos de entrenamiento.– Aprender primero las muestras mas “faciles” (Curriculum learning).– Regularizacion.– Anadir ruido durante el entrenamiento.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• Paralisis de la red: para valores grandes de z la derivada g′(z) es muy pequena y portanto, los incrementos de los pesos son muy pequenos. Una forma de disminuir esteefecto es normalizar el rango de entrada.
S = {x1, . . . ,xN} ⊂ Rd ⇒
µj =
1
N
N∑i=1
xij 1 ≤ j ≤ d
σ2j =
1
N − 1
N∑i=1
(xij − µj)2 1 ≤ j ≤ d
∀x ∈ Rd, x : xj =xj − µj√σ2j + ε
⇒
µj = 0
σj = 1for 1 ≤ j ≤ d
donde ε es una constante pequena para evitar division por cero.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Problema: La actualizacion de los pesos durante el entrenamiento puedeprovocar un desbordamiento numerico, a menudo denominado ”gradienteexplosivo” [Brownlee 2019]. Esto puede provocar una “paralisis de la red”.
Soluciones:
• Gradiente escalado: normalizar el vector de gradiente de manera quesu norma (magnitud) sea igual a un valor definido, como 1.0.
• Recorte de gradiente: forzar los valores del gradiente (por elementos) aun valor mınimo o maximo si el gradiente excede un rango prefijado.
• Regularizacion: anadir a la funcion objetivo a minimizar un terminorelacionado con la suma de magnitudes de los pesos:
– Regularizacion L2 : qS(Θ) +λ
2
∑l,i,j
(θlij)2
– Regularizacion L1 : qS(Θ) + λ∑l,i,j
|θlij|
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• Conexion residual: Si una serie de capas de una red neuronal implementauna funcion s → f(s), y asumiendo que s y f(s) son de la mismadimensionalidad, un “conexion residual” permite implementar f(s) + s
s f(s)+
f(s)+sf
• Drop-out: Durante el entrenamiento se seleccionan aleatoriamente unsubconjunto de nodos y no son utilizados en una iteracion.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• Convergencia: teorema general del descenso por gradiente (Tema 3)
• Eleccion del factor de aprendizaje: Tema 3 (Adadelta, Adam, ...)
• Coste computacional: O(N D) en cada iteracion
• En condiciones lımites, las salidas de un perceptron entrenado paraminimizar el error cuadratico medio de las muestras de entrenamientode un problema de clasificacion aproximan la distribucion a-posteriorisubyacente en las muestras de entrenamiento.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
– Red recurrente simple.– Red de Elman: recurrente + perceptron en la salida.– Redes recurrentes de segundo orden.– Long Short-Term Memory (LSTM)– Gated Recurrent Units (GRU)
• Al desplegar una red dinamica para una secuencia de entradase obtiene una red no recurrente de tantas capas como tamanotenga la secuencia de entrada.
• Entrenamiento mediante “Back-propagaytion through time”:aplicacion del algoritmos de propagacion del error convencionalsobre la red desplegada.
• Uso de los mismos algoritmo de optimizacion sobre los grafos decomputacion generados por los toolkits convencionales.
• Inferencia con redes dinamicas: voraz o busqueda en arbol (conpoda).
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• Una red totalmente conectada, como un MLP, para unaimagen puede ser tener un numero enorme de pesos.Estamos conectando todos los pıxeles de una imagen contodos los pesos de la capa de entrada, sin tener en cuentasu estructura.
• Las redes convolucionales estan basadas en filtros, redespequenas que se desplazan por la imagen. Sabemosque la imagen tiene una estructura, y que los pıxeles mascercanos probablemente tengan mas que ver entre ellosque los pıxeles mas lejanos. El kernel de una convolucionaprovecha esta caracterıstica.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Las lıneas mas delgadas indican el error en la particion deentrenamiento mientras que las lıneas mas marcadas son lasde la particion de validacion. Todo entrenado con ImageNet.Izquierda: redes neuronales ”planas” de 18 y 34 capasconvolucionales.Derecha: Las mismas redes pero con conexiones residuales.Estas ultimas no tienen parametros extra respecto a sucontraparte de la izquierda.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• Hasta ahora vemos que se usan diferentes tamanos dekernels.
• Cada tamano tiene en cuenta un contexto mas grande opequeno y es una decision mas a tomar a la hora de crearuna red neuronal convolucional.
• En el modelo Inception se implementaron los bloquesinception, en los cuales se aplican diferentes convolucionesde diferentes tamanos de kernel y despues se concatenantodos.
• No obstante, esto aumenta el numero de parametros, sobretodo al usar kernels ligeramente grandes. En otra versionse aplicaron primero kernels 1 × 1 para reducir primero ladimensionalidad.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• Entrenar un modelo de zero puede ser muy costoso.
• Podemos tener muy pocas muestras de aprendizaje ymuchos parametros a entrenar.
• Con la transferencia de aprendizaje (Transfer learning)podemos aprovechar los pesos de un modelo ya entrenadoen una tarea similar para nuestro problema.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• Usado historicamente en diferentes tareas como ladeteccion de rostros, localizacion de vehıculos, contadorde peatones, sistemas de seguridad, conducion autonoma,etc.
• Queremos saber que objetos hay en la imagen y dondeestan. Por lo tanto, tendremos que buscar unascoordenadas de los objetos y clasificarlos.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• Input gate: Decide la informacion que se guardara. Trabajasolo con la informacion entrante y la salida de la celdaanterior.
• Forget gate: Decide que informacion se quedara o setratara de olvidar. Esto se hace multiplicando por un vectorgenerado a partir de la entrada actual y la salida de la celdaanterior.
• Output gate: Usara la entrada actual, la salida de la celdaanterior y un nuevo vector para calcular la salida de lacelda y pasarla en el siguiente paso. Esta salida se puedeentender como el estado oculto de la neurona.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• Update gate: Es responsable de determinar la cantidad deinformacion previa que necesita para el siguiente estado.Puede llegar a decidir pasar toda la informacion, evitandoası el problema desvanecimiento del gradiente.
• Reset gate: Se encarga de decidir si la informacion queproviene del estado anterior es importante o no.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• RNN para trabajar con secuencias de caracterespara clasificar palabras: https://colab.research.google.com/drive/18zastAVMZ_6nIvMUk2tQa2D1h7GPOf6E?usp=sharing
• El mismo notebook pero utilizando LSTM:https://colab.research.google.com/drive/1cWK7zmJUt0pHS17MUFb0zZs-p44Oudpo?usp=sharing
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
• El procesamiento del lenguaje natural (NLP, por sus siglasen ingles) aborda, de forma automatica, el lenguaje naturalcomo el texto o el habla.
• En el campo del NLP se encuentran muy diversas tareas,como pueden ser: reconocimiento del habla, segmentacionde textos, etiquetado gramatical, reconocimiento deentidades nombradas (NER), clasificacion de textos, etc.
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Procesamiento del lenguaje natural - Representacion del texto
La representacion del texto es el primer problema quedeberemos afrontar. Existen multitud de formas de representarel texto.En otras ocasiones habreis utilizado un sistema derepresentacion basado en bolsas de palabras (bag of words,BoW).A continuacion, veremos como podemos representarloaprovechando su contexto local.
• One-hot
• Word Embedding
Septiembre, 2021 Departament de Sistemes Informatics i Computacio
Notacion• Funciones discriminantes lineales: φ(x; Θ) = Θtx para una entrada x y parametros Θ
compuestos por vector de pesos y umbral (θ, θ0)
• Funciones discriminantes lineales con activacion: g ◦ φ(x; θ) para una entrada x, parametros(θ, θ0) y g una funcion de activacion. g′ es la derivada de la funcion de activacion g
• Funcion de activacion sigmoid: gS(z)
• Salida del nodo i en la capa k: ski en perceptrones multicapa y redes hacia adelante
• Pesos de la conexion que va del nodo j de la capa k− 1 al nodo i de la capa k en un perceptronmulticapa: θkij. Θ es un vector de talla D formado por todos los pesos θkij. Pesos de la conexion
que va del nodo j de la capa k′ al nodo i de la capa k en una red hacia adelante: θk′,kij
• Conjunto de N muestras de entrenamiento: S = {(x1, t1), . . . , (xN , tN)} con xn ∈ RM0 ytn ∈ RMK , siendo K el numero de capas y Mk el numero de nodos de la capa k
• Funcion a minimizar en el entrenamiento de un perceptron multicapa: qS(Θ) ∈ R
• Clasificador en C ≡MK clases de puntos de Rd ≡ RM0: f : RM0 → {1, . . . ,MK}
• Error en el nodo i de la capa k para la muestra xn: δki (xn)
• Incremento del peso que va del nodo j en la capa k − 1 al nodo i en la capa k: ∆θkij
• Factor de aprendizaje, momentum y factor de regularizacion: ρ, ν yλ
• Media y desviacion tıpica: µ y σ
Septiembre, 2021 Departament de Sistemes Informatics i Computacio