SoftmaxFernando Berzal, [email protected]
Softmax
El uso del error cuadrático como medida de error tiene algunos inconvenientes:
Si la salida deseada es 1 y la salida actual es 0.000001 el gradiente es prácticamente 0, por lo que una unidad logística difícilmente conseguirá corregir el error.
Si estamos ante un problema de clasificación y queremos estimar la probabilidad de cada clase, sabemos que la suma de las salidas debería ser 1, pero no estamos usando esa información para entrenar la red neuronal. 1
Softmax
¿Existe alguna función de coste alternativa que funcione mejor? Sí, una que fuerza que las salidas de la red representen una distribución de probabilidad.
2
gruposoftmax
iz
iy
groupj
z
z
ij
i
e
ey
)1( ii
i
i yyz
y
Softmax
Entropía cruzada [cross-entropy]
La función de coste asociada a softmax:
El gradiente de C es muy grande si el valor deseado (t) es 1 pero la salida obtenida (y) está cercana a 0.
La pendiente de C/y compensa el valor bajo de y/z
3
j
j
j ytC log
ii
j i
j
ji
tyz
y
y
C
z
C
Softmax
Una interpretación alternativaUFLDL Tutorial, http://ufldl.stanford.edu/tutorial/
La regresión lineal consiste en encontrar una función h(x)=Tx en la que los parámetros se eligen de forma que se minimiza una función de coste J():
Para minimizar dicha función usando el gradiente descendente, calculamos J():
4
i
iiT
i
ii yxyxhJ 2)()(2)()( )(2
1))((
2
1)(
i
iiTi
j
i
iii
j
j
yxxyxhxJ
)())(()( )()()()()()(
Softmax
Una interpretación alternativaUFLDL Tutorial, http://ufldl.stanford.edu/tutorial/
De la misma forma, podemos predecir una variable discreta utilizando regresión logística:
donde (z) es la función logística.5
)(1)|1(1)|0(
1
1)()()|1(
xhxyPxyP
exxhxyP
x
TT
Softmax
Una interpretación alternativaUFLDL Tutorial, http://ufldl.stanford.edu/tutorial/
Nuestro objetivo en regresión logística es buscar valores para de forma que h(x) sea grande cuando xpertenece a la clase 1 y pequeño si pertenece a la clase 0.
La siguiente función de coste nos sirve:
NOTA: Sólo uno de los dos términos es distinto de cero para cada ejemplo (según sea de una clase u otra).
6
i
iiii xhyxhyJ ))(log1)(1()(log)( )()()()(
Softmax
Una interpretación alternativaUFLDL Tutorial, http://ufldl.stanford.edu/tutorial/
¿De dónde sale esa función de coste?Si asumimos que los ejemplos del conjunto de entrenamiento se generaron de forma independiente, la función de verosimilitud [likelihood] de los parámetros es
7
Softmax
Una interpretación alternativaUFLDL Tutorial, http://ufldl.stanford.edu/tutorial/
¿De dónde sale esa función de coste?Dicha función de verosimilitud [likelihood] resulta más fácil de maximizar tomando logaritmos [log-likelihood]:
8
Softmax
Una interpretación alternativaUFLDL Tutorial, http://ufldl.stanford.edu/tutorial/
Para maximizar el log-likelihood, minimizamos la función de coste J()=-log L(), para lo que calculamos J():
O, en forma vectorial:
9
i
iii
j
j
yxhxJ
))(()( )()()(
i
iii yxhxJ ))(()( )()()(
Softmax
La regresión softmax (o regresión logística multinomial) no es más que una generalización de la regresión logística cuando tenemos más de dos clases distintas.
Si tenemos K clases, tendremos K vectores de parámetros k:
10
x
x
x
K
j
x
TK
T
T
Tj
e
e
e
exKyP
xyP
xyP
xh
2
1
1
1
)|(
)|2(
)|1(
)(
Softmax
La función de coste asociada a la regresión logística la podríamos reescribir como:
Extendiendo esta función de coste a la regresión softmax, la función de coste resultante es, como esperamos, la entropía cruzada:
11
j
j
jii
i
i ytxtPtJC log)|(log)(
i
iii
i
iiii
xtPt
xhyxhyJ
)|(log
))(log1)(1()(log)(
Mecanismos de atención
Atención visual
12
Mecanismos de atención
Arquitectura de red codificador-decodificador13
Mecanismos de atención
Descripción textual de imágenes [image captioning]
14
Mecanismos de atención
Descripción textual de imágenes [image captioning]
No siempre funciona bien ;-)15
Mecanismos de atención
Descripción textual de imágenes [image captioning]
16
Mecanismos de atención
Descripción textual de imágenes [image captioning]
17
Mecanismos de atención
Descripción textual de imágenes [image captioning]
18
Mecanismos de atención
Descripción textual de vídeos [video clip description]
Youtube2Text19
Mecanismos de atención
Reconocimiento de voz [speech recognition]
20
Mecanismos de atención
Traducción automática [machine translation]
21
Mecanismos de atención
Traducción automática [machine translation]
Sin mecanismode atención 22
Mecanismos de atención
Traducción automática [machine translation]
Con mecanismode atención 23
Mecanismos de atención
Implementación del mecanismo de atención con softmax
https://blog.heuritech.com/2016/01/20/attention-mechanism/ 24
Mecanismos de atención
Soft vs. Hard attention
25
soft hard
Mecanismos de atención
Redes con memoria (externa):El mecanismo de atención sirve para direccionar esa memoria
26
Cursos
Neural Networks for Machine Learning
by Geoffrey Hinton(University of Toronto & Google)https://www.coursera.org/course/neuralnets
27
Deep Learning Specialization
by Andrew Ng, 2017 Neural Networks and Deep Learning Improving Deep Neural Networks:
Hyperparameter tuning, Regularization and Optimization Structuring Machine Learning Projects Convolutional Neural Networks Sequence Models
https://www.coursera.org/specializations/deep-learning
Cursos
28
Lecturas recomendadas
Ian Goodfellow, Yoshua Bengio& Aaron Courville:Deep LearningMIT Press, 2016ISBN 0262035618
http://www.deeplearningbook.org
Bibliografía
29
Lecturas recomendadas
Fernando Berzal:Redes Neuronales& Deep Learning
CAPÍTULO 12Redes softmax
Bibliografía
30