Comprensión profunda de softmax, sigmoide y entropía cruzada
La entrada de la función sigmoidea es un escalar y la salida también es un escalar, que es un mapeo de escalar a escalar. Se puede ver en la curva de función o expresión de la función que el dominio de la función sigmoidea son todos los números reales y el rango de valores es el intervalo (0, 1). A partir de esto, se puede encontrar que la función sigmoidea puede proporcionar cualquier proporción. valor y amplificarlo dentro del intervalo (0,1). La función sigmoidea se ha utilizado a menudo como función de activación de redes neuronales en el pasado porque, por un lado, la función sigmoidea eliminará los valores que son demasiado grandes o demasiado pequeños. Esto se debe a que, por un lado, la función sigmoidea puede escalar aquellos valores que son demasiado grandes o demasiado pequeños al interior del intervalo (0, 1) manteniendo sus tamaños relativos, por otro lado, la derivada del; La función sigmoidea se puede obtener directamente de Se obtiene el sigmoide en sí. Esta característica hace que sea muy fácil obtener la derivada de la función sigmoidea durante el proceso de retropropagación de la red neuronal. Sin embargo, una función de activación más común hoy en día es la función ReLU más simple.
Cabe mencionar que la función original de la función sigmoidea se llama función softplus y su forma es:
El rango de valores de la función softplus es, que se puede utilizar para generar una distribución normal y una desviación estándar, y el nombre de la función softplus proviene de la forma suavizada de esta función.
La derivada de la función softplus es la función sigmoidea.
La función Softmax, como su nombre indica, es una función de valor máximo. La función max extrae el valor máximo de un conjunto de datos como resultado, y softmax tiene una función similar, excepto que el resultado se reduce al intervalo (0, 1) al procesar los datos.
La función softmax primero convierte cada valor en el conjunto de datos al exponente del logaritmo natural, es decir, luego divide cada valor convertido por la suma de todos los valores convertidos, es decir, esta es la salida de softmax en los datos. Vale la pena señalar que la función softmax convierte cada valor de un conjunto de datos en un intervalo (0, 1), la entrada es un vector y la salida también es un vector, es decir, un mapeo de vector a vector; la función max convierte el valor máximo de un conjunto de datos Valores como salidas, las entradas son vectores, las salidas son escalares (números), son asignaciones de vector a escalar, y la función max toma las dimensiones de los datos de entrada como salida y luego divide cada dato transformado por el exponente del logaritmo natural. La función max comprime la dimensionalidad de los datos de entrada.
La función softmax puede verse como una extensión de la función sigmoidea en vectores. sigmoide toma un escalar como entrada y lo escala a (0, 1), mientras que softmax toma un vector como entrada y usa el vector como salida. Su función es la misma que la función sigmoidea, excepto que softmax mantiene los valores relativos entre ellos. componentes del vector. La función softmax mantiene el tamaño relativo de los componentes del vector (los componentes pequeños permanecen pequeños después de softmax, los componentes grandes permanecen grandes después de softmax). Considere un vector bidimensional , , , cuando , , , tiene la misma forma que la función sigmoidea.
La función de entropía cruzada se utiliza para calcular la diferencia entre dos distribuciones de probabilidad. La entrada son dos distribuciones y la salida es un escalar que representa el grado de diferencia entre las dos distribuciones. La forma de entropía cruzada es:
Cabe señalar que en la función de entropía cruzada, el orden de intercambio de las distribuciones p y q afectará la salida de la función de entropía cruzada, porque la función de entropía cruzada La función es convertir la distribución p como puntos de referencia para evaluar la distribución q.
En el aprendizaje profundo, la función de entropía cruzada a menudo se asocia con la función de máximo suave, porque la función de máximo suave calcula cada dato en un conjunto de datos y asigna cada dato en el conjunto de datos. al intervalo (0, 1), y la suma es 1, lo que se ajusta a la definición de probabilidad, y la entropía cruzada es el cálculo de la distribución de probabilidad, por lo que la salida de la función softmax se usa generalmente como salida de la función softmax y la función de entropía cruzada generalmente se usa como salida de la función softmax. La salida de la función softmax se utiliza como entrada de la función de entropía cruzada y las dos se construyen en una función compuesta.
En el proceso de entrenamiento de aprendizaje profundo, el valor verdadero de la etiqueta de cada entrada generalmente se establece como la distribución p, el valor predicho se establece como la distribución q y el valor se calcula utilizando la función de entropía cruzada. se utiliza como valor de pérdida, utilizado en la retropropagación posterior para calcular gradientes y actualizar pesos. Aquí, suponiendo que la función softmax predice que la probabilidad de que los datos de entrada sean de la primera categoría es y la probabilidad verdadera de que los datos de entrada pertenezcan a la primera categoría, entonces la forma de la función de entropía cruzada es: p>
De acuerdo con la fórmula anterior, el modelo predice La derivada del primer tipo es:
La forma derivada de la función softmax con respecto a la entrada se puede obtener del propio softmax y su La forma es muy simple (debido a la existencia de logaritmos naturales). Debido a la existencia de logaritmos naturales):
La salida de la función softmax se utiliza como la probabilidad en la función de entropía cruzada, es decir, luego la derivada de la función de entropía cruzada con respecto a la la entrada de la función softmax es:
Dado que la función softmax se considera aquí como p, es decir.
Reemplazar softmax con p significa reemplazar:
Finalmente, sustituimos la ecuación anterior en la derivada de la función de entropía cruzada, y podemos obtener la derivada de la función de entropía cruzada con respecto a la entrada:
Podemos ver que la función de entropía cruzada se puede usar junto con la función softmax. Podemos obtener una forma derivada muy simple. Solo necesitamos restar 1 de la salida de la función softmax. luego multiplíquelo por el valor de etiqueta correspondiente. Luego podemos obtener la derivada del primer tipo, y luego podemos calcular la derivada de la función softmax con respecto al primer tipo, y luego podemos obtener la derivada de la función softmax con. respecto al primer tipo. Para cada categoría, calcular la derivada correspondiente puede obtener el gradiente que necesitamos. En muchas tareas, el valor de la etiqueta a menudo se expresa en forma de calor, generalmente 1. En este caso, simplemente reste 1 del resultado del cálculo de la función softmax para obtener la derivada del primer tipo de propagación, que hace que el gradiente en propagación hacia atrás El cálculo se vuelve muy simple y conveniente.