Categorías
Otros

Modelo de secuencia

Wuanta curso de aprendizaje de profundidad quinta lección – notas del modelo de secuencia

Wanna crear un modelo de secuencia, su declaración de entrada es la siguiente: «Harry Potter y Herminoe Grange Inventó un nuevo hechizo.», Cómo representar una sola palabra en una oración.

Construir un diccionario, si eliges diccionario de 10.000 palabras, una manera de construir este diccionario es atravesar tu conjunto de entrenamiento, y encontrar las primeras 10.000 palabras comunes, también puedes navegar por algún diccionario de red, te puede decir en inglés Las 10.000 palabras más utilizadas, a continuación puedes usar la representación One-Hot para representar cada palabra en el diccionario.

Por ejemplo, aquí x <1> representa palabras de Harry, es una línea de 2075 es 1, el resto del valor es vector, porque ese es Harry en este diccionario.

Esta representación es para supervisar el aprendizaje, con (x, y) etiquetas de datos, X se refiere a cualquier palabra de la oración, es un vector de un solo hot, porque sólo tiene un valor de 1 es 0, por lo que habrá 9 vectores uno-HOT para representar 9 palabras en esta oración, el propósito es representar X, y utilizar el modelo de secuencia para establecer una asignación entre X y la salida de destino Y.

Si ha encontrado una palabra en la tabla de palabras, la respuesta es crear una nueva marca, que es una pseudo palabra llamada Palabra no conocida, que se utiliza como una etiqueta para indicar las palabras que no están en la tabla de palabras.

1.3 Modelo de red neuronal circulante (modelo de network neural recurrente)

La red neuronal circulante está hecha. Cuando lee la segunda palabra de la oración, se supone que es x <2> no predice Y <2> con x <2>, también introducirá información del paso 1 de algún tiempo. Específicamente, el valor de activación del paso de tiempo 1 se pasa al paso de tiempo 2.

  QTextBrowser muestra contenido de archivo html

Desde el último paso de tiempo, la X es predecir Y, en cada paso de tiempo, la red neuronal cíclica transmite un valor de activación al siguiente paso de tiempo para el cálculo. En este ejemplo, la longitud de la secuencia de entrada y la longitud de la secuencia de salida son las mismas.

La red neuronal circulante se escanea de izquierda a derecha, y los parámetros de cada paso de tiempo también se comparten.
Utilizamos WAX para administrar una serie de parámetros desde X <> hasta la capa oculta, cada paso de tiempo es el mismo parámetro Wax, y el valor de activación es la conexión horizontal determinada por el parámetro waa. Al mismo tiempo, cada paso de tiempo utiliza el mismo parámetro WAA, el mismo resultado de salida es determinado por WYA.

Proceso de pre-transmisión RNN

Esquema de comunicación de reenvío RNN:

1.4 Expresarse a través del tiempo

Para calcular la propagación inversa, todavía necesita una función de pérdida, primero defina una función de pérdida de elemento

Corresponde a una palabra específica de la secuencia. Si es el nombre de una persona, el valor de Y es 1, y la red neuronal generará esta palabra es el valor de probabilidad del nombre, como 0.1. Lo defino como una función estándar de pérdida de regresión lógica, también llamada pérdida de entropía cruzada.
Ahora vamos a definir la función de pérdida de toda la secuencia y definir la L como

Es decir, se agrega la función de pérdida de cada paso de tiempo individual.

El algoritmo de propagación inversa necesita calcular y transmitir información en la dirección opuesta. Al final, haga lo que haga, puede calcular toda la cantidad adecuada después de esto, luego puede pasar los parámetros relacionados derivados, utilizar métodos de colocación de degradado para actualizar los parámetros.

  0/1 problema knapsack de programación dinámica-implementación java

Esquema de comunicación inversa RNN:

.

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *