ES3058389T3 - Redes neuronales de transducción de secuencias solo de decodificador basadas en atención - Google Patents

Redes neuronales de transducción de secuencias solo de decodificador basadas en atención

Info

Publication number
ES3058389T3
ES3058389T3 ES24173246T ES24173246T ES3058389T3 ES 3058389 T3 ES3058389 T3 ES 3058389T3 ES 24173246 T ES24173246 T ES 24173246T ES 24173246 T ES24173246 T ES 24173246T ES 3058389 T3 ES3058389 T3 ES 3058389T3
Authority
ES
Spain
Prior art keywords
output
sequence
input
attention
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES24173246T
Other languages
English (en)
Inventor
Noam M Shazeer
Lukasz Mieczyslaw Kaiser
Etienne Pot
Mohammad Saleh
Ben David Goodrich
Peter J Liu
Ryan Sepassi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Application granted granted Critical
Publication of ES3058389T3 publication Critical patent/ES3058389T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Machine Translation (AREA)
  • Image Analysis (AREA)

Abstract

Métodos, sistemas y aparatos, incluyendo programas informáticos codificados en un medio de almacenamiento, para generar una secuencia de salida a partir de una secuencia de entrada. Uno de los métodos incluye, en cada uno de los pasos de generación: generar una secuencia combinada para el paso de generación que incluye la secuencia de entrada seguida de los tokens de salida ya generados en dicho paso; procesar la secuencia combinada mediante una red neuronal de decodificador de autoatención para generar una salida de paso de tiempo que define una distribución de puntuación sobre un conjunto de posibles tokens de salida; y seleccionar, utilizando la salida de paso de tiempo, un token de salida del conjunto de posibles tokens de salida como el siguiente token de salida en la secuencia de salida. (Traducción automática con Google Translate, sin valor legal)

Description

[0001] DESCRIPCIÓN
[0002] Redes neuronales de transducción de secuencias solo de decodificador basadas en atención Antecedentes
[0003] Esta memoria descriptiva se refiere a la transducción de secuencias utilizando redes neuronales.
[0004] Las redes neuronales son modelos de aprendizaje automático que emplean una o más capas de unidades no lineales para predecir una salida para una entrada recibida. Algunas redes neuronales incluyen una o más capas ocultas además de una capa de salida. La salida de cada capa oculta se utiliza como entrada a la siguiente capa de la red, es decir, la siguiente capa oculta o la capa de salida. Cada capa de la red genera una salida a partir de una entrada recibida de acuerdo con los valores actuales de un conjunto respectivo de parámetros. El documento de AshishVaswani ET AL: "Attention Is All You Need", 30 de junio de 2017 (2017-06-30), URL: https://arxiv.org/pdf/1706.03762v4.pdf,describe una red neuronal de codificador decodificador Transformer con capas de atención de múltiples cabezas enmascaradas.
[0005] Compendio
[0006] La invención se define mediante las reivindicaciones independientes adjuntas. Se definen realizaciones adicionales de la invención se definen mediante las reivindicaciones dependientes.
[0007] La arquitectura de solo decodificador del sistema descrito en esta memoria descriptiva puede atender de manera efectiva y escalable secuencias muy largas, mucho más largas que los sistemas de transducción de secuencias convencionales. De esta forma, el sistema puede realizar de forma más eficaz tareas de transducción de secuencias que requieren procesar secuencias de entrada largas, generar secuencias de salida largas o ambas. Por ejemplo, el sistema puede superar a los sistemas convencionales en una tarea de resumen expresivo que requiere generar un resumen largo de múltiples documentos. Estas tareas y otras tareas de transducción de secuencias largas pueden requerir el procesamiento y la extracción de información de una secuencia de entrada que incluye 10.000 o más tokens para generar de manera efectiva una secuencia de salida. Sin embargo, debido a que el sistema se basa total o mayoritariamente en la atención, el sistema sigue siendo tan eficiente computacionalmente o, en muchos casos, más eficiente computacionalmente que las técnicas existentes.
[0008] Además, debido a que el sistema descrito utiliza solo una red neuronal de decodificador y no requiere una red codificadora separada, la cantidad de parámetros y, por lo tanto, la memoria consumida al almacenar y ejecutar inferencias utilizando la red neuronal se reducen en gran medida en relación con otras redes que son capaces de funcionar bien en tareas de transducción de secuencias.
[0009] Además, al hacer uso de la atención local, la atención comprimida en memoria o ambas como se describe en esta memoria descriptiva, los sistemas descritos pueden realizar de manera eficiente la transducción de secuencias en secuencias muy largas sin consumir una cantidad excesiva de recursos computacionales. De manera más general, el sistema descrito también es ventajoso sobre muchos sistemas existentes debido al uso de la autoatención. Muchos enfoques existentes para la transducción de secuencias utilizando redes neuronales utilizan redes neuronales recurrentes tanto en el codificador como en el decodificador. Si bien este tipo de redes pueden lograr un buen rendimiento en tareas de transducción de secuencias, su cálculo es de naturaleza secuencial, es decir, una red neuronal recurrente genera una salida en una etapa de tiempo actual condicionada al estado oculto de la red neuronal recurrente en la etapa de tiempo anterior. Esta naturaleza secuencial impide la paralelización, lo que genera largos tiempos de entrenamiento e inferencia y, en consecuencia, cargas de trabajo que utilizan una gran cantidad de recursos computacionales.
[0010] Por otra parte, debido a que el decodificador del sistema descrito está basado en la atención, el sistema puede transducir secuencias más rápido, entrenarse más rápido o ambas cosas, porque el funcionamiento de la red se puede paralelizar más fácilmente. Es decir, debido a que la red neuronal descrita depende completamente de un mecanismo de atención para establecer dependencias globales entre la entrada y la salida y no emplea ninguna capa de red neuronal recurrente, se mitigan los problemas con los largos tiempos de entrenamiento e inferencia y el alto uso de recursos causado por la naturaleza secuencial de las capas de red neuronal recurrentes.
[0011] Además, la red neuronal descrita puede transducir secuencias con mayor precisión que las redes existentes que se basan en capas convolucionales o capas recurrentes, aunque los tiempos de entrenamiento e inferencia son más cortos. En particular, en los modelos convencionales, el número de operaciones necesarias para relacionar señales de dos posiciones de entrada o salida arbitrarias crece con la distancia entre las posiciones, por ejemplo, de forma lineal o logarítmica dependiendo de la arquitectura del modelo. Esto hace que sea más difícil aprender dependencias entre posiciones distantes durante el entrenamiento. En la red neuronal descrita actualmente, este número de operaciones se reduce a un número constante de operaciones debido al uso de la atención (y, en particular, la autoatención) sin depender de la recurrencia o las convoluciones. La autoatención, a veces llamada intraatención, es un mecanismo de atención que relaciona diferentes posiciones de una sola secuencia para calcular una representación de la secuencia. El uso de mecanismos de atención permite que la red neuronal aprenda eficazmente las dependencias entre posiciones distantes durante el entrenamiento, mejorando la precisión de la red neuronal en diversas tareas de transducción. La red neuronal descrita también puede exhibir un rendimiento mejorado sobre las redes neuronales de transducción de secuencias convencionales sin ajuste específico de la tarea mediante el uso del mecanismo de atención. Los detalles de una o más realizaciones del asunto de esta memoria descriptiva se exponen en los dibujos adjuntos y en la descripción que sigue. Otras características, aspectos y ventajas de la invención se desprenderán de la descripción, los dibujos y las reivindicaciones.
[0012] Breve descripción de los dibujos
[0013] La FIG.1 muestra un ejemplo de sistema de red neuronal.
[0014] La FIG.2A es un diagrama que muestra mecanismos de atención que aplican las subcapas de atención en las subredes de la red neuronal de decodificador.
[0015] La FIG.2B es un diagrama que muestra mecanismos de atención que reducen el coste computacional para el procesamiento de secuencias largas.
[0016] La FIG.3 es un diagrama de flujo de un proceso de ejemplo para generar una secuencia de salida a partir de una secuencia de entrada.
[0017] Los números de referencia y denominaciones semejantes en los diversos dibujos indican elementos semejantes.
[0018] Descripción detallada
[0019] Esta memoria descriptiva describe un sistema implementado como programas informáticos en uno o más ordenadores en una o más ubicaciones que genera una secuencia objetivo que incluye una salida respectiva en cada una de múltiples posiciones en un orden de salida a partir de una secuencia de entrada que incluye una entrada respectiva en cada una de múltiples posiciones en un orden de entrada, es decir, transduce la secuencia de entrada en la secuencia objetivo.
[0020] El sistema puede ser un sistema de reconocimiento de voz. Es decir, si la secuencia de entrada es una secuencia de datos de audio que representa un enunciado hablado, la secuencia de destino puede ser una secuencia de grafemas, caracteres o palabras que representa el enunciado, es decir, es una transcripción de la secuencia de entrada.
[0021] Como otro ejemplo, el sistema puede ser parte de un sistema de procesamiento de imágenes. Por ejemplo, la secuencia de entrada puede ser una imagen, es decir, una secuencia de valores de color de la imagen, y la salida puede ser una secuencia de texto que describe la imagen. Como otro ejemplo, la secuencia de entrada puede ser una secuencia de texto y la secuencia de salida puede ser una imagen que describe el contexto. En particular, la red neuronal es una red neuronal de decodificador basada en autoatención.
[0022] La FIG.1 muestra un sistema de red neuronal 100 de ejemplo. El sistema de red neuronal 100 es un ejemplo de un sistema implementado como programas informáticos en uno o más ordenadores en una o más ubicaciones, en el que se pueden implementar los sistemas, componentes y técnicas que se describen a continuación.
[0023] El sistema de red neuronal 100 recibe una secuencia de entrada 102 y procesa la secuencia de entrada 102 para transducir la secuencia de entrada 102 en una secuencia de salida 152.
[0024] La secuencia de entrada 102 tiene un token de entrada respectivo en cada una de múltiples posiciones de entrada en un orden de entrada y la secuencia de salida 152 tiene un token de salida respectivo en cada una de múltiples posiciones de salida en un orden de salida. Es decir, la secuencia de entrada 102 tiene múltiples entradas dispuestas según un orden de entrada y la secuencia de salida 152 tiene múltiples salidas dispuestas según un orden de salida.
[0025] Como se describió anteriormente, el sistema de red neuronal 100 puede realizar cualquiera de una variedad de tareas que requieren procesar entradas secuenciales para generar salidas secuenciales.
[0026] El sistema de red neuronal 100 incluye una red neuronal de decodificador de autoatención 150. Como se describirá con más detalle a continuación, la red neuronal de decodificador de autoatención 150 incluye una pluralidad de capas de red neuronal que incluyen una pluralidad de capas de red neuronal de autoatención enmascaradas.
[0027] La red neuronal de decodificador 150 está configurada para generar la secuencia de salida de manera autorregresiva.
[0028] Es decir, la red neuronal de decodificador 150 genera la secuencia de salida, salida por salida, generando un token de salida en una posición de salida respectiva en cada una de una pluralidad de etapas de tiempo de generación. Es decir, en cada etapa de tiempo de generación, la red neuronal de decodificador 150 genera un nuevo token de salida en la siguiente posición de salida en el orden de salida condicionado a la secuencia de entrada y los tokens de salida en las posiciones de salida anteriores a la siguiente posición de salida en el orden de salida.
[0029] En particular, para una posición de salida dada, la red neuronal de decodificador 150 genera una salida de etapa de tiempo que define una distribución de probabilidad sobre posibles tokens de salida en la posición de salida dada.
[0030] El sistema 100 puede entonces seleccionar una salida de red para la posición de salida mediante un muestreo de la distribución de probabilidad o seleccionando el token de salida con la probabilidad más alta.
[0031] Más específicamente, en cada etapa de tiempo de generación, el sistema 100 genera una secuencia combinada 108 para la etapa de tiempo de generación.
[0032] La secuencia combinada 108 incluye la secuencia de entrada seguida de los tokens de salida que ya se han generado a partir de la etapa de tiempo de generación, es decir, los tokens de salida en posiciones anteriores en el orden de salida. En algunas implementaciones, los tokens de salida ya generados siguen inmediatamente a los tokens de secuencia de entrada en la secuencia combinada 108. En algunas otras implementaciones, la secuencia de entrada y los tokens de salida que ya se han generado a partir de la etapa de tiempo de generación están separados por un token separador especial predeterminado en la secuencia combinada 108. En otras palabras, el sistema 100 representa la secuencia de entrada y la salida ya generada conjuntamente como una única secuencia combinada, eliminando la necesidad de emplear una red neuronal codificadora durante la transducción de la secuencia de entrada.
[0033] La red neuronal de decodificador 150 a continuación procesa la secuencia combinada 108 para generar la salida que define la distribución de probabilidad sobre posibles tokens de salida en la posición de salida. Debido a que la red neuronal de decodificador 150 es autorregresiva, en cada etapa de tiempo de generación, el decodificador 150 opera sobre los tokens de salida que ya se han generado antes de la etapa de tiempo de generación, es decir, las salidas en las posiciones de salida que preceden a la posición de salida correspondiente en el orden de salida. En algunas implementaciones, para garantizar que este sea el caso durante la inferencia y el entrenamiento, en cada etapa de tiempo de generación, la red neuronal de decodificador 150 desplaza las salidas ya generadas a la derecha en una posición de orden de salida (es decir, introduce un desplazamiento de una posición en la secuencia de salida de la red ya generada) y (como se describirá con más detalle a continuación) enmascara ciertas operaciones para que las posiciones solo atiendan a posiciones hasta, incluida, la posición en la secuencia de salida (y no posiciones posteriores). Si bien el resto de la descripción a continuación describe que, al generar una salida dada en una posición de salida dada, varios componentes del decodificador 150 operan sobre datos en posiciones de salida anteriores a las posiciones de salida dadas (y no sobre datos en ninguna otra posición de salida), se entenderá que este tipo de condicionamiento se puede implementar de manera efectiva utilizando el desplazamiento descrito anteriormente.
[0034] La red neuronal de decodificador 150 incluye una capa de incrustación 120, una secuencia de una o más subredes de decodificador 130, una capa lineal 180 y una capa softmax 190. En particular, como se muestra en la FIG.1, la red neuronal de decodificador incluyeNsubredes de decodificador 130.
[0035] La capa de incrustación 120 está configurada para, para cada token en la secuencia combinada, mapear el token a una representación numérica del token en un espacio de incrustación, por ejemplo, en un vector en el espacio de incrustación. La capa de incrustación 120 proporciona a continuación las representaciones numéricas de los tokens a la primera subred en la secuencia de subredes de decodificador 130, es decir, a la primera subred de decodificador 130 de lasNsubredes de decodificador 130.
[0036] En particular, en algunas implementaciones, la capa de incrustación 120 está configurada para mapear cada token a una representación incrustada de la entrada de red y a continuación combinar, por ejemplo, sumar o promediar o concatenar, la representación incrustada del token con una incrustación posicional de la posición del token en la secuencia combinada para generar una representación incrustada combinada del token. Es decir, cada posición en la secuencia combinada tiene una incrustación correspondiente y para cada token la capa de incrustación 120 combina la representación incrustada del token con la incrustación de la posición del token en la secuencia combinada.
[0037] En algunos casos, se aprenden las incrustaciones posicionales. Tal como se utiliza en esta memoria descriptiva, el término "aprendido" significa que una operación o un valor se ha ajustado durante el entrenamiento de la red neuronal de decodificador 150. A continuación se describe el entrenamiento de la red neuronal de decodificador 150 haciendo referencia a la FIG.3.
[0038] En algunos otros casos, las incrustaciones posicionales son fijas y son diferentes para cada posición. Por ejemplo, las incrustaciones pueden estar formadas por funciones seno y coseno de diferentes frecuencias y pueden satisfacer:
[0041]
[0044] dondeposes la posición,ies la dimensión dentro de la incrustación posicional ydmodeles la dimensionalidad de la incrustación posicional (y de los otros vectores procesados por la red neuronal 150).
[0045] La representación incrustada combinada se utiliza a continuación como representación numérica del token. Cada una de las subredes de decodificador 130 está configurada para recibir una entrada de subred de decodificador respectiva para cada una de la pluralidad de posiciones de secuencia combinadas y para generar una salida de subred respectiva para cada una de la pluralidad de posiciones de secuencia combinadas. Las salidas de la subred de decodificador generadas por la última subred de decodificador en la secuencia se proporcionan a continuación como entrada a la capa lineal 180.
[0046] Para la primera subred de decodificador en la secuencia, la entrada de la subred de decodificador son las representaciones numéricas generadas por la capa de incrustación 120, y, para cada subred de decodificador que no sea la primera subred de decodificador en la secuencia, la entrada de la subred de decodificador es la salida de subred de decodificador de la subred de decodificador precedente en la secuencia.
[0047] Cada subred de decodificador 130 incluye una subcapa de autoatención enmascarada del decodificador 132. La subcapa de autoatención del decodificador 132 está configurada para recibir, en cada etapa de tiempo de generación, una entrada para cada posición de secuencia combinada anterior a la posición de salida correspondiente, es decir, anterior a la posición de salida para la que se está generando actualmente el token de salida y, para cada una de las posiciones de secuencia combinada particulares, aplicar un mecanismo de atención sobre las entradas en las posiciones de secuencia combinada anteriores a la posición correspondiente utilizando una o más consultas derivadas de la entrada en la posición de salida particular para generar una representación actualizada para la posición de salida particular.
[0048] Es decir, la subcapa de autoatención del decodificador 172 aplica un mecanismo de atención que está enmascarado de modo que no atiende ni procesa de otro modo ningún dato que no esté en una posición anterior a la posición de salida actual en la secuencia combinada.
[0049] El mecanismo de atención enmascarada y cómo el mecanismo de atención es aplicado por la subcapa de autoatención del decodificador 132 se describirán con más detalle a continuación haciendo referencia a la FIG.
[0050] 2.
[0051] En algunos ejemplos, diferentes subcapas de autoatención del decodificador 132 en diferentes subredes de decodificador 130 emplean diferentes mecanismos de atención. Por ejemplo, como se describirá a continuación haciendo referencia a las FIG. 2A y 2B, algunas subcapas de autoatención pueden emplear atención local mientras que otras emplean atención comprimida en memoria. En particular, en algunas implementaciones, el tipo de atención alterna entre subredes, es decir, cada segunda subred emplea atención comprimida en memoria y el resto de las subredes emplean atención local.
[0052] En algunas implementaciones, cada una de las subredes de decodificador 130 también incluye una capa de conexión residual que combina las salidas de la subcapa de autoatención del decodificador con las entradas a la subcapa de autoatención del decodificador para generar una salida residual de autoatención del decodificador y una capa de normalización de capa que aplica la normalización de capa a la salida residual de autoatención del decodificador. Estas dos capas se denominan colectivamente una operación "Añadir y normalizar" en la FIG.1.
[0053] Algunas o todas las subredes de decodificador también pueden incluir una capa de avance de posición 134 que está configurada para operar en cada posición en la secuencia combinada por separado. En particular, para cada posición de secuencia combinada, la capa de avance 134 está configurada para recibir una entrada en la posición de secuencia combinada y aplicar una secuencia de transformaciones a la entrada en la posición de secuencia combinada para generar una salida para la posición de secuencia combinada. Por ejemplo, la secuencia de transformaciones puede incluir dos o más transformaciones lineales aprendidas, cada una separada por una función de activación, por ejemplo, una función de activación elemento por elemento no lineal, por ejemplo, una función de activación ReLU. Las entradas recibidas por la capa de avance de posición 134 pueden ser las salidas de la capa de normalización de capa cuando se incluyen las capas residual y de normalización de capa o las salidas de la subcapa de autoatención del decodificador 132 cuando no se incluyen las capas residual y de normalización de capa. Las transformaciones aplicadas por la capa 134 generalmente serán las mismas para cada posición de entrada (pero diferentes capas de avance en diferentes subredes aplicarán diferentes transformaciones).
[0054] En los casos en los que una subred de decodificador 130 incluye una capa de avance de posición 134, la subred de decodificador también puede incluir una capa de conexión residual que combina las salidas de la capa de avance de posición con las entradas a la capa de avance de posición para generar una salida residual de posición del decodificador y una capa de normalización de capa que aplica la normalización de capa a la salida residual de posición del decodificador. Estas dos capas también se denominan colectivamente operación "Añadir y Normalizar" en la FIG.1. Las salidas de esta capa de normalización pueden a continuación utilizarse como salidas de la subred de decodificador 130.
[0055] En cada etapa de tiempo de generación, la capa lineal 180 aplica una transformación lineal aprendida a la salida de la última subred de decodificador 130 para proyectar la salida de la última subred de decodificador 130 en el espacio apropiado para su procesamiento por la capa softmax 190. A continuación, la capa softmax 190 aplica una función softmax sobre las salidas de la capa lineal 180 para generar la distribución de probabilidad sobre las posibles salidas de la red en la etapa de tiempo de generación.
[0056] Si el token de salida seleccionado en una etapa de tiempo de generación dada es un token de final de secuencia predeterminado, el sistema 100 puede determinar que la secuencia de salida 152 está completa y proporcionar los tokens de salida que ya se han generado a partir de la etapa de tiempo de generación como la secuencia de salida final 152 para la secuencia de entrada 102.
[0057] Por lo tanto, como se puede ver en la FIG.1, en lugar de confiar en una red neuronal codificadora para codificar primero la secuencia de entrada y a continuación generar la secuencia de salida condicionada a la codificación de la secuencia de entrada como ocurre en algunos sistemas convencionales, el sistema 100 opera sobre la secuencia de entrada en cada etapa de tiempo de generación por medio de la secuencia combinada. Este uso de la secuencia combinada permite al sistema 100 procesar de forma eficaz secuencias de entrada largas, es decir, porque la información de toda la secuencia de entrada está directamente disponible en cada etapa de tiempo de generación, mientras que todavía tiene menos parámetros que los sistemas convencionales, es decir, porque el sistema 100 no tiene una red neuronal codificadora.
[0058] Si bien no se muestra en la FIG. 1, en algunos casos, para aumentar la capacidad computacional de la red neuronal de decodificador 150 sin aumentos excesivos en el tiempo de procesamiento o el coste computacional, la red neuronal de decodificador 150 puede incluir una o más mezclas de capas de expertos. En cada etapa de tiempo, la mezcla de capas de expertos selecciona un pequeño subconjunto de una gran cantidad de expertos y combina las salidas de ese pequeño subconjunto de expertos para generar la salida de la capa para la etapa de tiempo. La mezcla de capas de expertos se describe con más detalle en el documento de Noam Shazeer, Azalia Mirhoseini, Krzysztof Maziarz, Andy Davis, Quoc Le, Geoffrey Hinton y Jeff Dean. "Outrageously large neural networks: The sparsely-gated mixture-of-experts layer". Preimpresión de arXiv arXiv:1701.06538, 2017.
[0059] La FIG. 2A es un diagrama 200 que muestra mecanismos de atención que aplican las subcapas de atención en las subredes de la red neuronal de decodificador 150.
[0060] Generalmente, un mecanismo de atención asigna una consulta y un conjunto de pares clave-valor a una salida, donde la consulta, las claves y los valores son todos vectores. La salida se calcula como una suma ponderada de los valores, donde la ponderación asignada a cada valor se calcula mediante una función de compatibilidad de la consulta con la clave correspondiente.f
[0061] Más específicamente, cada subcapa de atención aplica un mecanismo de atención de producto escalar escalado. En la atención de producto escalar escalado, para una consulta dada, la subcapa de atención calcula los productos escalares de la consulta con todas las claves, divide cada uno de los productos escalares por un factor de escala, por ejemplo, por la raíz cuadrada de las dimensiones de las consultas y las claves, y a continuación aplica una función softmax sobre los productos escalares escalados para obtener las ponderaciones de los valores. A continuación, la subcapa de atención calcula una suma ponderada de los valores de acuerdo con estas ponderaciones. Por lo tanto, para la atención del producto escalar escalado, la función de compatibilidad es el producto escalar y la salida de la función de compatibilidad se escala aún más mediante el factor de escala.
[0062] En funcionamiento y como se muestra en el lado izquierdo de la FIG. 2, la subcapa de atención calcula la atención sobre un conjunto de consultas simultáneamente. En particular, la subcapa de atención empaqueta las consultas en una matriz Q, empaqueta las claves en una matriz K y empaqueta los valores en una matriz V. Para empaquetar un conjunto de vectores en una matriz, la subcapa de atención puede generar una matriz que incluye los vectores como filas de la matriz.
[0063] La subcapa de atención a continuación realiza una multiplicación matricial entre la matriz Q y la transposición de la matriz K para generar una matriz de salidas de función de compatibilidad.
[0064] La subcapa de atención a continuación escala la matriz de salida de la función de compatibilidad, es decir, dividiendo cada elemento de la matriz por el factor de escala.
[0065] La subcapa de atención a continuación aplica un softmax sobre la matriz de salida escalada para generar una matriz de ponderaciones y realiza una multiplicación matricial entre la matriz de ponderaciones y la matriz V para generar una matriz de salida que incluye la salida del mecanismo de atención para cada uno de los valores. Debido a que las subcapas de atención del decodificador utilizan enmascaramiento, la subcapa de atención enmascara la matriz de salida escalada antes de aplicar el softmax. Es decir, la subcapa de atención enmascara (establece en infinito negativo) todos los valores en la matriz de salida escalada que corresponden a posiciones posteriores a la posición de salida actual.
[0066] En algunas implementaciones, para permitir que las subcapas de atención atiendan conjuntamente a información de diferentes subespacios de representación en diferentes posiciones, las subcapas de atención emplean atención de múltiples cabezas, como se ilustra en el lado derecho de la FIG.2.
[0067] En particular, para implementar la atención de múltiples cabezas, la subcapa de atención aplicahdiferentes mecanismos de atención en paralelo. En otras palabras, la subcapa de atención incluyehcapas de atención diferentes, y cada capa de atención dentro de la misma subcapa de atención recibe las mismas consultas originales Q, claves originales K y valores originales V.
[0068] Cada capa de atención está configurada para transformar las consultas, claves y valores originales utilizando transformaciones lineales aprendidas y a continuación aplicar el mecanismo de atención a las consultas, claves y valores transformados. Cada capa de atención generalmente aprenderá diferentes transformaciones de cada otra capa de atención en la misma subcapa de atención.
[0069] En particular, cada capa de atención está configurada para aplicar una transformación lineal de consulta aprendida a cada consulta original para generar una consulta específica de capa para cada consulta original, aplicar una transformación lineal de clave aprendida a cada clave original para generar una clave específica de capa para cada clave original, y aplicar una transformación lineal de valor aprendida a cada valor original para generar valores específicos de capa para cada valor original. A continuación, la capa de atención aplica el mecanismo de atención descrito anteriormente utilizando estas consultas, claves y valores específicos de la capa para generar salidas iniciales para la capa de atención.
[0070] La subcapa de atención a continuación combina las salidas iniciales de las capas de atención para generar la salida final de la subcapa de atención. Como se muestra en la FIG. 2, la subcapa de atención concatena las salidas de las capas de atención y aplica una transformación lineal aprendida a la salida concatenada para generar la salida de la subcapa de atención.
[0071] En algunos casos, las transformaciones aprendidas aplicadas por la subcapa de atención reducen la dimensionalidad de las claves y valores originales y, opcionalmente, las consultas. Por ejemplo, cuando la dimensionalidad de las claves, valores y consultas originales esdy hayhcapas de atención en la subcapa, la subcapa puede reducir la dimensionalidad de las claves, valores y consultas originales ad/h.Esto mantiene el coste de cálculo del mecanismo de atención de múltiples cabezas similar a lo que habría sido el coste de ejecutar el mecanismo de atención una vez con dimensionalidad completa, mientras que al mismo tiempo aumenta la capacidad representativa de la subcapa de atención.
[0072] Para cada subcapa de autoatención del decodificador, cada posición en el decodificador atiende a todas las posiciones en el decodificador que preceden a esa posición. De esta forma, todas las claves, valores y consultas provienen del mismo lugar, en este caso, la salida de la subred anterior en el decodificador o, para la subcapa de autoatención del decodificador en la primera subred de decodificador, las incrustaciones de los tokens de secuencia combinada ya generados. De esta manera, existe una clave, un valor y una consulta respectivos para cada posición en el orden de salida antes de la posición actual.
[0073] Cuando la subcapa de autoatención del decodificador implementa atención de múltiples cabezas, cada capa de atención en la subcapa de autoatención del decodificador está configurada para, en cada etapa de tiempo de generación, aplicar una transformación lineal de consulta aprendida a la entrada en cada posición de secuencia combinada precedente a la posición de salida correspondiente para generar una consulta respectiva para cada posición de secuencia combinada, aplicar una transformación lineal de clave aprendida a cada entrada en cada posición de secuencia combinada precedente a la posición de salida correspondiente para generar una clave respectiva para cada posición de salida, aplicar una transformación lineal de valor aprendida a cada entrada en cada posición de secuencia combinada precedente a la posición de salida correspondiente para generar una clave respectiva para cada posición de salida, y a continuación aplicar el mecanismo de atención (es decir, el mecanismo de atención de producto escalar escalado descrito anteriormente) usando las consultas, claves y valores para determinar una salida de autoatención del decodificador inicial para cada una de las posiciones de salida. A continuación, la subcapa combina las salidas iniciales de las capas de atención como se describió anteriormente.
[0074] En algunas implementaciones, para permitir que la red neuronal de decodificador procese de manera más efectiva secuencias combinadas largas, el mecanismo de atención se modifica limitando los productos escalares entre Q y K para reducir el coste computacional del mecanismo de atención mientras se mantiene una generación de salida de alta calidad.
[0075] La FIG. 2B es un diagrama de ejemplo que muestra mecanismos de atención que reducen el coste computacional para el procesamiento de secuencias largas.
[0076] En particular, la FIG. 2B muestra tres tipos diferentes de mecanismos de atención: el mecanismo de atención de múltiples cabezas enmascarado 250 descrito anteriormente, la atención comprimida en memoria 270 y la atención local 290.
[0077] Como se describió anteriormente, para la atención de múltiples cabezas enmascarada 250, se determinan las matrices V, K y Q y a continuación se aplica la atención de múltiples cabezas enmascarada.
[0078] Por otra parte, en la atención comprimida de memoria 270, después de que las matrices V, K y Q se determinan como se describió anteriormente, el número de claves y valores se reduce aplicando una convolución con paso ("Conv") a las matrices V y K. El número de consultas en la matriz Q permanece sin cambios. Esta modificación divide el número de activaciones por un factor de compresión que se basa en el tamaño de los núcleos y el factor de paso de la convolución con paso. Por ejemplo, los núcleos de convolución pueden ser de tamaño 3 y el paso para el factor de la convolución con paso puede ser 3. A continuación, se aplica atención de múltiples cabezas enmascarada a las matrices V y K reducidas como se describió anteriormente.
[0079] Por lo tanto, el mecanismo de atención con memoria comprimida 270 puede intercambiar información globalmente sobre toda la secuencia con un coste computacional reducido en relación con el mecanismo de atención de múltiples cabezas estándar 250 debido a la aplicación de la convolución con paso.
[0080] A diferencia de la atención comprimida en memoria 270 y la atención de múltiples cabezas 250, la atención local 290 realiza la atención de forma independiente dentro de cada uno de los múltiples bloques de la secuencia combinada. En particular, para la atención local, los tokens de secuencia combinada se dividen en bloques (o "subsecuencias") de longitud similar y la atención se realiza en cada bloque de forma independiente. Como el coste de memoria de atención por bloque es constante en este esquema, esta modificación mantiene el número de activaciones lineal con respecto a la longitud de la secuencia, pero no permite que cada posición atienda a toda la secuencia. En más detalle, para la atención local, la secuencia de entrada al mecanismo de atención se divide en bloques ("dividir") y la atención de múltiples cabezas se aplica independientemente dentro de cada bloque como se describió anteriormente. A continuación, las salidas de atención de cada bloque se concatenan ("fusionan") para generar la salida del mecanismo de atención local.
[0081] Como se ha descrito anteriormente, en algunas implementaciones, diferentes subcapas de autoatención del decodificador 132 en diferentes subredes de decodificador 130 emplean diferentes mecanismos de atención. Por ejemplo, las subcapas de autoatención pueden utilizar atención local mientras que otras utilizan atención comprimida en memoria. En particular, en algunas implementaciones, el tipo de atención alterna entre subredes, es decir, cada segunda subred, es decir, una de cada dos, emplea atención comprimida en memoria y el resto de las subredes emplean atención local. Hacer que algunas capas apliquen atención comprimida en la memoria mientras que otras emplean atención local permite que la red neuronal de decodificador atienda toda la secuencia combinada incluso cuando la secuencia combinada es muy larga, sin consumir una cantidad excesiva de recursos computacionales.
[0082] La FIG. 3 es un diagrama de flujo de un proceso de ejemplo para generar una secuencia de salida a partir de una secuencia de entrada. Por comodidad, el proceso 300 se describirá como realizado por un sistema de uno o más ordenadores ubicados en una o más ubicaciones. Por ejemplo, un sistema de red neuronal, por ejemplo, el sistema de red neuronal 100 de la FIG. 1, apropiadamente programado según esta memoria descriptiva, puede realizar el proceso 300.
[0083] El sistema puede realizar el proceso 300 en cada uno de las múltiples etapas de tiempo de generación para generar la secuencia de salida utilizando una red neuronal de decodificador de autoatención. La red neuronal de decodificador está configurada para generar la secuencia de salida a partir de la secuencia de entrada de manera autorregresiva. Es decir, la red neuronal de decodificador genera una salida de la secuencia de salida en cada etapa de tiempo de generación. De este modo, al realizar el proceso 300 en cada uno de las múltiples etapas de tiempo de generación, el sistema genera todos los tokens de salida en la secuencia de salida. El sistema genera una secuencia combinada para la etapa de tiempo de generación que incluye la secuencia de entrada seguida de los tokens de salida que ya se han generado a partir de la etapa de tiempo de generación (etapa 310).
[0084] El sistema procesa la secuencia combinada utilizando la red neuronal de decodificador de autoatención para generar una salida de etapa de tiempo que define una distribución de puntuación sobre un conjunto de posibles tokens de salida (etapa 320).
[0085] El sistema selecciona, utilizando la salida de la etapa de tiempo, un token de salida del conjunto de posibles tokens de salida como el siguiente token de salida en la secuencia de salida (etapa 330).
[0086] El sistema puede realizar el proceso 300 para una secuencia de entrada para la cual no se conoce la salida deseada, es decir, la secuencia de salida que debe generar el sistema para la secuencia de entrada. Cuando este es el caso, el sistema ejecuta el proceso 300 secuencialmente para todas las etapas de tiempo de generación.
[0087] El sistema también puede realizar el proceso 300 en secuencias de entrada en un conjunto de datos de entrenamiento, es decir, un conjunto de entradas para las cuales se conoce la secuencia de salida que debe generar el sistema, con el fin de entrenar al decodificador para determinar valores entrenados para los parámetros del decodificador. El proceso 300 se puede realizar repetidamente en entradas seleccionadas de un conjunto de datos de entrenamiento como parte de una técnica de entrenamiento de aprendizaje automático convencional para entrenar las capas de red neuronal iniciales, por ejemplo, una técnica de entrenamiento de descenso de gradiente con retropropagación que utiliza un optimizador convencional, por ejemplo, el optimizador Adam. Durante el entrenamiento, el sistema puede incorporar cualquier cantidad de técnicas para mejorar la velocidad, la efectividad o ambas del proceso de entrenamiento. Por ejemplo, el sistema puede utilizar eliminación, suavizado de etiquetas o ambos para reducir el sobreajuste. Como otro ejemplo, el sistema puede realizar el entrenamiento utilizando una arquitectura distribuida que entrena múltiples instancias de la red neuronal de transducción de secuencias en paralelo.
[0088] Sin embargo, durante el entrenamiento, debido a que toda la secuencia de salida de verdad fundamental está disponible al comienzo del proceso de entrenamiento, el sistema puede generar la salida de la etapa de tiempo para cada uno de las etapas de tiempo de generación en paralelo, es decir, el sistema no necesita realizar el proceso 300 secuencialmente para cada etapa de tiempo de generación. En otras palabras, el sistema puede proporcionar como entrada a la red neuronal de decodificador una secuencia combinada que incluye la secuencia de entrada seguida de toda la secuencia de salida conocida y puede generar las salidas de etapa de tiempo para todas las etapas de tiempo de generación en paralelo. A continuación, el sistema puede actualizar, utilizando la técnica de entrenamiento de aprendizaje automático, los parámetros del decodificador para optimizar un objetivo de máxima verosimilitud que depende de las puntuaciones asignadas a los tokens de salida correctos en cada etapa de tiempo.
[0089] Además, en algunas implementaciones, durante el entrenamiento, el sistema también incluye una predicción de los próximos tokens en la secuencia de entrada en el objetivo de máxima verosimilitud. En otras palabras, durante el entrenamiento, el decodificador también genera, para cada posición de entrada, una distribución de puntuaciones sobre los posibles tokens de entrada condicionados a los tokens de entrada en las posiciones anteriores en la secuencia de entrada. A continuación, el sistema incluye las puntuaciones asignadas al token de entrada correcto en cada posición de entrada en el objetivo de máxima verosimilitud. Al hacerlo, el modelo se ve obligado a predecir con precisión el siguiente token en la entrada, así como el siguiente token en la salida, y las señales de error se propagan desde las posiciones de entrada y salida durante el entrenamiento, lo que mejora el rendimiento del modelo después de su entrenamiento.
[0090] Esta memoria descriptiva utiliza el término “configurado” en relación con sistemas y componentes de programas informáticos. Para un sistema de uno o más ordenadores, estar configurado para realizar operaciones o acciones particulares significa que el sistema tiene instalado software, firmware, hardware o una combinación de estos que, en funcionamiento, hacen que el sistema realice las operaciones o acciones. Para uno o más programas informáticos estar configurados para realizar operaciones o acciones particulares significa que el uno o más programas incluyen instrucciones que, cuando son ejecutadas por un aparato de procesamiento de datos, hacen que el aparato realice las operaciones o acciones.
[0092] Las realizaciones de la materia y las operaciones funcionales descritas en esta memoria descriptiva se pueden implementar en circuitos electrónicos digitales, en software o firmware informático incorporados de manera tangible, en hardware informático, incluidas las estructuras dadas a conocer en esta memoria descriptiva y sus equivalentes estructurales, o en combinaciones de uno o más de estos. Las implementaciones de la materia descrita en esta memoria descriptiva pueden ser implementadas como uno o más programas informáticos, es decir, uno o más módulos de instrucciones de programas informáticos codificados en un soporte de almacenamiento tangible no transitorio, para su ejecución por un aparato de procesamiento de datos, o para controlar el funcionamiento de este. El soporte de almacenamiento informático puede ser un dispositivo de almacenamiento legible por máquina, un sustrato de almacenamiento legible por máquina, un dispositivo de memoria de acceso aleatorio o en serie, o una combinación de uno o más de estos. Alternativa o adicionalmente, las instrucciones de programa pueden codificarse en una señal propagada generada de manera artificial, por ejemplo, una señal eléctrica, óptica o electromagnética, que es generada para codificar información para su transmisión a un aparato receptor adecuado para su ejecución mediante un aparato de procesamiento de datos.
[0094] El término “aparato de procesamiento de datos” se refiere al hardware de procesamiento de datos y abarca todo tipo de aparatos, dispositivos y máquinas para procesar datos, incluyendo a modo de ejemplo un procesador programable, un ordenador o múltiples procesadores u ordenadores. El aparato puede ser, asimismo, o puede incluir, además, circuitos lógicos de propósito especial, por ejemplo, una FPGA (matriz de puertas programables en campo) o un ASIC (circuito integrado de aplicación específica). El aparato puede incluir opcionalmente, además de hardware, código que crea un entorno de ejecución para programas informáticos, por ejemplo, código que constituye el firmware del procesador, una pila de protocolos, un sistema de gestión de bases de datos, un sistema operativo o una combinación de uno o más de estos.
[0096] Un programa informático, que también puede denominarse o describirse como un programa, software, una aplicación de software, una aplicación, una app, un módulo, un módulo de software, una secuencia de comandos o un código, puede escribirse en cualquier forma de lenguaje de programación, incluidos lenguajes compilados o interpretados, o lenguajes declarativos o procedimentales; y puede implementarse en cualquier forma, incluso como un programa independiente o como un módulo, componente, subrutina u otra unidad adecuada para su uso en un entorno informático. Un programa puede, pero no necesariamente, corresponder a un archivo en un sistema de archivos. Un programa puede almacenarse en una parte de un archivo que contiene otros programas o datos , por ejemplo, una o más secuencias de comandos almacenadas en un documento de lenguaje de marcado, en un solo archivo dedicado al programa en cuestión o en múltiples archivos coordinados, por ejemplo, archivos que almacenan uno o más módulos, subprogramas o partes de código. Un programa informático puede ser implementado para ser ejecutado en un ordenador o en varios ordenadores ubicados en un sitio o distribuidos en múltiples sitios e interconectados mediante una red de comunicación de datos.
[0098] En esta memoria descriptiva, el término "base de datos" se usa ampliamente para referirse a cualquier colección de datos: los datos no necesitan estar estructurados de ninguna manera particular, o estructurados en absoluto, y pueden almacenarse en dispositivos de almacenamiento en una o más ubicaciones. Así, por ejemplo, la base de datos de índice puede incluir múltiples colecciones de datos, cada una de las cuales puede organizarse y accederse de forma diferente.
[0100] De manera similar, en esta memoria descriptiva, el término “motor” se utiliza ampliamente para referirse a un sistema, subsistema o proceso basado en software que está programado para realizar una o más funciones específicas. De manera general, un motor se implementará como uno o más módulos o componentes de software, instalados en uno o más ordenadores en una o más ubicaciones. En algunos casos, uno o más ordenadores estarán dedicados a un motor en particular; en otros casos, varios motores pueden estar instalados y ser ejecutados en el mismo ordenador u ordenadores.
[0102] Los procesos y flujos lógicos descritos en esta memoria descriptiva pueden ser realizados por uno o más ordenadores programables que ejecutan uno o más programas informáticos para realizar funciones operando sobre datos de entrada y generando una salida. Los procesos y flujos lógicos también pueden realizarse mediante circuitos lógicos de propósito especial, por ejemplo, una FPGA o un ASIC, o mediante una combinación de circuitos lógicos de propósito especial y uno o más ordenadores programados.
[0104] Los ordenadores adecuados para la ejecución de un programa informático pueden estar basados en microprocesadores de propósito general o especial o ambos, o en cualquier otro tipo de unidad central de procesamiento. De manera general, una unidad central de procesamiento recibe instrucciones y datos de una memoria de solo lectura o de una memoria de acceso aleatorio o de ambas. Los elementos esenciales de un ordenador son una unidad central de procesamiento para realizar o ejecutar instrucciones, y uno o más dispositivos de memoria para almacenar instrucciones y datos. La unidad central de procesamiento y la memoria pueden complementarse o incorporarse en circuitos lógicos de propósito especial. De manera general, un ordenador también incluirá, o estará acoplado operativamente para recibir datos desde o transferir datos a, o ambos, uno o más dispositivos de almacenamiento masivo para almacenar datos, por ejemplo, discos magnéticos, magneto-ópticos u ópticos. Sin embargo, un ordenador no necesita tener tales dispositivos. Además, un ordenador puede estar integrado en otro dispositivo, por ejemplo, un teléfono móvil, un asistente digital personal (Personal Digital Assistant, PDA), un reproductor de audio o vídeo móvil, una consola de juegos, un receptor de sistema de posicionamiento global (Global Positioning System, GPS) o un dispositivo de almacenamiento portátil, por ejemplo, una unidad flash de USB (Universal Serial Bus, bus serie universal), por nombrar solo algunos.
[0106] Medios legibles por ordenador adecuados para almacenar instrucciones y datos de programas informáticos incluyen todas las formas de memoria no volátil, medios y dispositivos de memoria, incluyendo a modo de ejemplo dispositivos de memoria semiconductores, por ejemplo, EPROM, EEPROM y dispositivos de memoria flash; discos magnéticos, por ejemplo, discos duros internos o discos extraíbles; discos magneto-ópticos; y discos CD-ROM y DVD-ROM.
[0108] Para proporcionar interacción con un usuario, las realizaciones de la invención descritas en esta memoria descriptiva pueden implementarse en un ordenador que tenga un dispositivo de visualización, por ejemplo, un monitor CRT (Cathode Ray Tube, tubo de rayos catódicos) o LCD (Liquid Crystal Display, pantalla de cristal líquido), para mostrar información al usuario, y un teclado y un dispositivo de señalización, por ejemplo, un ratón o una bola de desplazamiento, mediante los que el usuario puede introducir información en el ordenador. Se pueden utilizar también otros tipos de dispositivos para proporcionar interacción con un usuario; por ejemplo, la retroalimentación proporcionada al usuario puede ser cualquier forma de retroalimentación sensorial, por ejemplo, retroalimentación visual, retroalimentación auditiva o retroalimentación táctil; y la entrada del usuario se puede recibir de cualquier manera, incluida la entrada acústica, de voz o táctil. Además, un ordenador puede interactuar con un usuario enviando documentos y recibiendo documentos de un dispositivo que utiliza el usuario; por ejemplo, enviando páginas web a un navegador web en un dispositivo cliente del usuario, como respuesta a las solicitudes recibidas desde un navegador web. Asimismo, un ordenador puede interactuar con un usuario enviando mensajes de texto u otras formas de mensaje a un dispositivo personal, por ejemplo, un teléfono inteligente que ejecuta una aplicación de mensajería, y recibiendo de vuelta mensajes de respuesta del usuario.
[0110] Los aparatos de procesamiento de datos para implementar modelos de aprendizaje automático también pueden incluir, por ejemplo, unidades aceleradoras de hardware de propósito especial para procesar partes comunes y de uso intensivo de recursos informáticos del entrenamiento o producción de aprendizaje automático, es decir, inferencia, cargas de trabajo.
[0112] Los modelos de aprendizaje automático se pueden implementar y desplegar utilizando un marco de aprendizaje automático, por ejemplo, un marco TensorFlow, un marco Microsoft Cognitive Toolkit, un marco Apache Singa o un marco Apache MXNet.
[0114] Las realizaciones de la materia descrita en esta memoria descriptiva pueden implementarse en un sistema informático que incluye un componente del lado del servidor, por ejemplo, tal como un servidor de datos, o que incluye un componente intermedio, por ejemplo, un servidor de aplicaciones o que incluye un componente del lado del usuario, por ejemplo, un ordenador cliente que tiene una interfaz gráfica de usuario o un navegador web a través del cual un usuario puede interactuar con una implementación de la materia en esta memoria descriptiva, o cualquier combinación de uno más de dichos componentes del lado del servidor, intermedios o del lado del usuario. Los componentes del sistema pueden estar interconectados por cualquier forma o medio de comunicación de datos digitales, por ejemplo, una red de comunicación. Ejemplos de redes de comunicación incluyen una red de área local (Local Area Network, LAN), una red de área amplia (Wide Area Network, WAN) e internet.
[0116] El sistema informático puede incluir clientes y servidores. Un cliente y un servidor en general están alejados uno del otro y suelen interactuar a través de una red de comunicación. La relación de cliente y servidor surge en virtud de programas informáticos que se ejecutan en los respectivos ordenadores y que tienen entre sí una relación cliente-servidor. En algunas realizaciones, un servidor transmite datos (por ejemplo, una página de HTML) a un dispositivo del usuario, por ejemplo, con el fin de mostrar datos a, y recibir entradas de un usuario que interactúa con el dispositivo, que actúa como un cliente. Los datos generados en el dispositivo de usuario, por ejemplo, un resultado de la interacción del usuario, pueden ser recibidos en el servidor desde el dispositivo.
[0117] Además, la separación de diversos módulos y componentes del sistema en las realizaciones descritas anteriormente no debe ser entendida como necesidad de dicha separación en todas las realizaciones, y se debe entender que los componentes y sistemas del programa descrito en general pueden estar integrados juntos en un solo producto de software o empaquetados en múltiples productos de software.
[0119] Se han descrito realizaciones particulares del objeto de la invención. Las realizaciones están dentro del alcance de las siguientes reivindicaciones.

Claims (12)

1. REIVINDICACIONES
1. Un método implementado por ordenador para generar una secuencia de salida (152) que comprende una pluralidad de tokens de salida a partir de una secuencia de entrada (102) que comprende una pluralidad de tokens de entrada, teniendo la secuencia de entrada (102) un token de entrada respectivo en cada una de las múltiples posiciones de entrada en un orden de entrada y teniendo la secuencia de salida (152) un token de salida respectivo en cada una de las múltiples posiciones de salida en un orden de salida, en el que la secuencia de entrada comprende tokens de entrada basados en una secuencia de valores de color de una imagen y la secuencia de salida comprende tokens de salida basados en una secuencia de texto que describe la imagen, comprendiendo el método, en cada una de una serie de etapas de tiempo de generación:
generar (310) una secuencia combinada (108) para la etapa de tiempo de generación que incluye la secuencia de entrada (102) seguida de los tokens de salida que ya se han generado a partir de la etapa de tiempo de generación, donde la secuencia combinada (108) es una única secuencia combinada para procesar conjuntamente la secuencia de entrada (102) y los tokens de salida que ya se han generado a partir de la etapa de tiempo generado;
procesar (320) la secuencia combinada utilizando una red neuronal de decodificador de autoatención (150), en donde la red neuronal de decodificador de autoatención (150) comprende una serie de capas de red neuronal que incluyen una serie de capas de red neuronal de autoatención enmascaradas, y en donde la red neuronal de decodificador de autoatención (150) está configurada para procesar la secuencia combinada (108) a través de la serie de capas de red neuronal para generar una salida de etapa de tiempo que define una distribución de puntuación sobre un conjunto de posibles tokens de salida; en donde las capas de red neuronal de autoatención enmascaradas están enmascaradas de modo que la salida de etapa de tiempo depende únicamente de la secuencia de entrada (102) y de los tokens de salida que ya se han generado en la etapa de tiempo de generación, y no de los tokens de salida que son posteriores al último token que ya se ha generado en la secuencia de salida (152), y
seleccionar (330), utilizando la salida de la etapa de tiempo, un token de salida del conjunto de posibles tokens de salida como el siguiente token de salida en la secuencia de salida (152).
2. Un método implementado por ordenador para generar una secuencia de salida (152) que comprende una pluralidad de tokens de salida a partir de una secuencia de entrada (102) que comprende una pluralidad de tokens de entrada, teniendo la secuencia de entrada (102) un token de entrada respectivo en cada una de las múltiples posiciones de entrada en un orden de entrada y teniendo la secuencia de salida (152) un token de salida respectivo en cada una de las múltiples posiciones de salida en un orden de salida, en el que la secuencia de entrada comprende tokens de entrada basados en una secuencia de texto y la secuencia de salida comprende tokens de salida basados en una secuencia de valores de una imagen que describe un contexto asociado con se secuencia de bits, comprendiendo el método, en cada una de una serie de etapas de tiempo de generación:
generar (310) una secuencia combinada (108) para la etapa de tiempo de generación que incluye la secuencia de entrada (102) seguida de los tokens de salida que ya se han generado a partir de la etapa de tiempo de generación, donde la secuencia combinada (108) es una única secuencia combinada para procesar conjuntamente la secuencia de entrada (102) y los tokens de salida que ya se han generado a partir de la etapa de tiempo generado;
procesar (320) la secuencia combinada utilizando una red neuronal de decodificador de autoatención (150), en donde la red neuronal de decodificador de autoatención (150) comprende una serie de capas de red neuronal que incluyen una serie de capas de red neuronal de autoatención enmascaradas, y en donde la red neuronal de decodificador de autoatención (150) está configurada para procesar la secuencia combinada (108) a través de la serie de capas de red neuronal para generar una salida de etapa de tiempo que define una distribución de puntuación sobre un conjunto de posibles tokens de salida; en donde las capas de red neuronal de autoatención enmascaradas están enmascaradas de modo que la salida de etapa de tiempo depende únicamente de la secuencia de entrada (102) y de los tokens de salida que ya se han generado en la etapa de tiempo de generación, y no de los tokens de salida que son posteriores al último token que ya se ha generado en la secuencia de salida (152); y
seleccionar (330), utilizando la salida de la etapa de tiempo, un token de salida del conjunto de posibles tokens de salida como el siguiente token de salida en la secuencia de salida (152).
3. Un método implementado por ordenador para generar una secuencia de salida (152) que comprende una pluralidad de tokens de salida a partir de una secuencia de entrada (102) que comprende una pluralidad de tokens de entrada, teniendo la secuencia de entrada (102) un token de entrada respectivo en cada una de las múltiples posiciones de entrada en un orden de entrada y teniendo la secuencia de salida (152) un token de salida respectivo en cada una de las múltiples posiciones de salida en un orden de salida, en el que la secuencia
de entrada comprende tokens de entrada basados en una secuencia de datos de audio que representan un enunciado hablado y la secuencia de salida comprende tokens de salida basados en una secuencia de grafemas, caracteres o palabras que representan el enunciado, comprendiendo el método, en cada una de una serie de etapas de tiempo de generación:
generar (310) una secuencia combinada (108) para la etapa de tiempo de generación que incluye la secuencia de entrada (102) seguida de los tokens de salida que ya se han generado a partir de la etapa de tiempo de generación, donde la secuencia combinada (108) es una única secuencia combinada para procesar conjuntamente la secuencia de entrada (102) y los tokens de salida que ya se han generado a partir de la etapa de tiempo generado;
procesar (320) la secuencia combinada utilizando una red neuronal de decodificador de autoatención (150), en donde la red neuronal de decodificador de autoatención (150) comprende una serie de capas de red neuronal, que incluyen una serie de capas de red neuronal de autoatención enmascaradas, y en donde la red neuronal de decodificador de autoatención (150) está configurada para procesar la secuencia combinada (108) a través de la serie de capas de red neuronal para generar una salida de etapa de tiempo que define una distribución de puntuación sobre un conjunto de posibles tokens de salida; en donde las capas de red neuronal de autoatención enmascaradas están enmascaradas de modo que la salida de etapa de tiempo depende únicamente de la secuencia de entrada (102) y de los tokens de salida que ya se han generado en la etapa de tiempo de generación, y no de los tokens de salida que son posteriores al último token que ya se ha generado en la secuencia de salida (152); y
seleccionar (330), utilizando la salida de la etapa de tiempo, un token de salida del conjunto de posibles tokens de salida como el siguiente token de salida en la secuencia de salida (152).
4. El método de una cualquiera del as reivindicaciones 1-3, en el que la secuencia de entrada (102) y los tokens de salida que ya se han generado a partir de la etapa de tiempo de generación son separados mediante un token separador espacial predeterminado en la secuencia combinada (108).
5. El método de una cualquiera de las reivindicaciones 1-4, en el que la pluralidad de capas de red neuronal de autoatención enmascaradas son capas de atención de múltiples cabezas enmascaradas.
6. El método de una cualquiera de las reivindicaciones 1-5, en el que la pluralidad de capas de red neuronal de autoatención enmascaradas comprenden al menos una capa de atención local (290), y en el que cada capa de atención local (290) comprende una subcapa de atención local que está configurada para:
recibir una secuencia de entrada de capa que comprende una pluralidad de entradas de capa;
dividir la secuencia de entrada de la capa en una pluralidad de subsecuencias de longitud similar; generar, para cada subsecuencia de la pluralidad de subsecuencias, una salida de subsecuencia realizando autoatención en las entradas de capa en la subsecuencia; y
fusionar las salidas de la subsecuencia para generar una secuencia de salida de capa.
7. El método de una cualquiera de las reivindicaciones 1-6, en el que la pluralidad de capas de red neuronal de autoatención enmascaradas comprenden al menos una capa de atención comprimida en memoria (270), y en el que cada capa de atención comprimida en memoria (270) comprende una subcapa comprimida en memoria que está configurada para:
obtener una entrada de atención que comprende una pluralidad de claves, valores y consultas;
aplicar una convolución con paso a las claves para generar un conjunto reducido de claves;
aplicar una convolución con paso a los valores para generar un conjunto reducido de valores;
generar una secuencia de salida de capa realizando autoatención utilizando el conjunto reducido de claves, los valores del conjunto reducido y la pluralidad de consultas.
8. El método de la reivindicación 7, en el que la obtención de la entrada de atención comprende:
recibir una secuencia de entrada de capa que comprende una pluralidad de entradas de capa; y proyectar la secuencia de entrada de la capa en las claves, valores y consultas utilizando las respectivas matrices de proyección.
9. El método de una cualquiera de las reivindicaciones 1-8, que comprende además:
determinar que la salida seleccionada para la etapa de tiempo es un token de final de secuencia predeterminado; y
en respuesta, proporcionar los tokens de salida que ya se han generado a partir de la etapa de tiempo de generación como la secuencia de salida final (152) para la secuencia de entrada (102).
10. El método de una cualquiera de las reivindicaciones 1-9, en el que la pluralidad de capas de red neuronal incluye una o más capas de mezcla de expertos.
11. Un sistema que comprende uno o más ordenadores y uno o más dispositivos de almacenamiento que almacenan instrucciones que, cuando son ejecutadas por el uno o más ordenadores, hacen que el uno o más ordenadores realicen el método de una cualquiera de las reivindicaciones 1-10
12. Uno o más soportes de almacenamiento informático que almacenan instrucciones que, cuando son ejecutadas por el uno o más ordenadores, hacen que el uno o más ordenadores realicen las operaciones del método de una cualquiera de las reivindicaciones 1-10.
ES24173246T 2017-10-27 2018-10-29 Redes neuronales de transducción de secuencias solo de decodificador basadas en atención Active ES3058389T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201762578358P 2017-10-27 2017-10-27

Publications (1)

Publication Number Publication Date
ES3058389T3 true ES3058389T3 (es) 2026-03-10

Family

ID=64427205

Family Applications (2)

Application Number Title Priority Date Filing Date
ES24173246T Active ES3058389T3 (es) 2017-10-27 2018-10-29 Redes neuronales de transducción de secuencias solo de decodificador basadas en atención
ES18807482T Active ES2988982T3 (es) 2017-10-27 2018-10-29 Redes neuronales de solo decodificador basadas en la atención para transducción de secuencias

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES18807482T Active ES2988982T3 (es) 2017-10-27 2018-10-29 Redes neuronales de solo decodificador basadas en la atención para transducción de secuencias

Country Status (5)

Country Link
US (7) US11556786B2 (es)
EP (3) EP3688672B1 (es)
CN (3) CN119005251A (es)
ES (2) ES3058389T3 (es)
WO (1) WO2019084551A1 (es)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES3058389T3 (es) 2017-10-27 2026-03-10 Google Llc Redes neuronales de transducción de secuencias solo de decodificador basadas en atención
CN110162799B (zh) * 2018-11-28 2023-08-04 腾讯科技(深圳)有限公司 模型训练方法、机器翻译方法以及相关装置和设备
WO2020206455A1 (en) * 2019-04-05 2020-10-08 Google Llc Joint automatic speech recognition and speaker diarization
CN110175338B (zh) * 2019-05-31 2023-09-26 北京金山数字娱乐科技有限公司 一种数据处理方法及装置
US11068663B2 (en) * 2019-06-19 2021-07-20 Microsoft Technology Licensing, Llc Session embeddings for summarizing activity
US11531863B1 (en) * 2019-08-08 2022-12-20 Meta Platforms Technologies, Llc Systems and methods for localization and classification of content in a data set
US11556782B2 (en) * 2019-09-19 2023-01-17 International Business Machines Corporation Structure-preserving attention mechanism in sequence-to-sequence neural models
US12033055B2 (en) 2019-09-25 2024-07-09 Deepmind Technologies Limited Gated attention neural networks
KR20210044056A (ko) 2019-10-14 2021-04-22 삼성전자주식회사 중복 토큰 임베딩을 이용한 자연어 처리 방법 및 장치
KR20210043995A (ko) * 2019-10-14 2021-04-22 삼성전자주식회사 모델 학습 방법 및 장치, 및 시퀀스 인식 방법
US12608586B2 (en) * 2019-11-04 2026-04-21 Oracle International Corporation Parameter sharing decoder pair for auto composing
US12131243B2 (en) 2020-02-07 2024-10-29 Deepmind Technologies Limited Autoregressive neural networks for the generation of polygonal meshes of 3D objects
CN111427932B (zh) * 2020-04-02 2022-10-04 南方科技大学 出行预测方法、装置、设备和存储介质
US10909461B1 (en) * 2020-05-08 2021-02-02 Google Llc Attention neural networks with locality-sensitive hashing
KR20210145490A (ko) * 2020-05-25 2021-12-02 삼성전자주식회사 어텐션 기반 시퀀스 투 시퀀스 모델의 성능 향상 방법 및 장치
US12585934B2 (en) 2020-07-21 2026-03-24 Microsoft Technology Licensing, Llc Compressing tokens based on positions for transformer models
KR20220011979A (ko) * 2020-07-22 2022-02-03 삼성전자주식회사 언어 모델 및 이를 포함하는 전자 장치
CN112258131B (zh) * 2020-11-12 2021-08-24 拉扎斯网络科技(上海)有限公司 路径预测网络训练、订单处理方法及装置
EP4040339A1 (en) * 2021-02-05 2022-08-10 Google LLC Sparse attention neural networks
US11557283B2 (en) * 2021-03-26 2023-01-17 Mitsubishi Electric Research Laboratories, Inc. Artificial intelligence system for capturing context by dilated self-attention
US20220367052A1 (en) * 2021-05-14 2022-11-17 Google Llc Neural networks with feedforward spatial transformation units
US20240232580A1 (en) * 2021-05-28 2024-07-11 Deepmind Technologies Limited Generating neural network outputs by cross attention of query embeddings over a set of latent embeddings
CN113887610B (zh) * 2021-09-29 2024-02-02 内蒙古工业大学 基于交叉注意力蒸馏Transformer的花粉图像分类方法
US11941346B2 (en) * 2021-10-05 2024-03-26 Salesforce, Inc. Systems and methods for long document summarization
US20230119108A1 (en) * 2021-10-20 2023-04-20 The Toronto-Dominion Bank Translation model with learned position and corrective loss
US12306906B2 (en) * 2021-11-14 2025-05-20 Microsoft Technology Licensing, Llc Adaptive token sampling for efficient transformer
US11882175B2 (en) * 2021-12-17 2024-01-23 Hewlett Packard Enterprise Development Lp Correlations between workload characteristics and elapsed times
CN114528989B (zh) * 2022-04-24 2022-09-09 深圳比特微电子科技有限公司 注意力机制电路
US20250200337A1 (en) 2022-05-31 2025-06-19 Visa International Service Association Method, System, and Computer Program Product for Simplifying Transformer for Sequential Recommendation
CN115207936A (zh) * 2022-06-27 2022-10-18 国网山东省电力公司曲阜市供电公司 一种配电网无功优化方法及系统
WO2024015591A1 (en) * 2022-07-14 2024-01-18 Google Llc Efficient decoding of output sequences using adaptive early exiting
CN115982666A (zh) * 2022-12-08 2023-04-18 抖音视界有限公司 一种图文关联度确定方法、装置、计算机设备及存储介质
US20240420258A1 (en) 2023-06-14 2024-12-19 Palantir Technologies Inc. Framework for evaluation of computer-based models
KR20250033078A (ko) 2023-08-30 2025-03-07 하인텔 주식회사 학습 효율 향상을 위한 트랜스포머의 학습 방법 및 이를 위한 장치
KR20250033053A (ko) 2023-08-30 2025-03-07 하인텔 주식회사 학습된 트랜스포머를 다른 신경망에 통합하기 위한 방법 및 이를 위한 장치
WO2025119502A1 (en) * 2023-12-05 2025-06-12 Deepmind Technologies Limited Attention neural networks with partial position encoding
WO2025189371A1 (en) * 2024-03-13 2025-09-18 Qualcomm Incorporated Multiple token generation in autoregressive generative artificial intelligence models
US12437238B1 (en) * 2024-03-20 2025-10-07 Anthropic, Pbc Generation of agentic trajectories for training artificial intelligence agents to automate multimodal interface task workflows
KR20250145559A (ko) 2024-03-28 2025-10-13 하인텔 주식회사 복수의 단위 신경망과 통합 신경망을 이용하여 예측 품질을 개선하는 방법 및 이를 위한 장치
KR20250145561A (ko) 2024-03-28 2025-10-13 하인텔 주식회사 신경망에서 긴 입력 데이터 시퀀스의 정보를 압축해 추론을 수행하는 방법 및 이를 위한 장치
CN118330715B (zh) * 2024-04-11 2024-12-10 天津大学 基于迁移学习的跨越多种实验装置的实验室地震预测方法
WO2025227352A1 (en) * 2024-04-30 2025-11-06 Qualcomm Incorporated Lookahead decoding in autoregressive generative artificial intelligence models
WO2025236275A1 (en) * 2024-05-17 2025-11-20 Robert Bosch Gmbh Method and apparatus for processing distance aware attention
KR20260005720A (ko) 2024-07-03 2026-01-12 삼성에스디에스 주식회사 강화학습 기반 트랜스포머 모델의 kv 캐시 관리 방법 및 이를 위한 장치
CN119739995B (zh) * 2024-12-10 2025-09-16 西北工业大学 一种基于自注意力机制的卫星指令自动生成方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822742A (en) * 1989-05-17 1998-10-13 The United States Of America As Represented By The Secretary Of Health & Human Services Dynamically stable associative learning neural network system
US9565439B2 (en) * 2009-10-15 2017-02-07 Nbcuniversal Media, Llc System and method for enhancing data compression using dynamic learning and control
US8705805B2 (en) * 2011-01-10 2014-04-22 Peter Alexander Forrest Secure portable token and systems and methods for identification and authentication of the same
CN106462802B (zh) * 2014-11-14 2019-08-06 谷歌有限责任公司 生成映像的自然语言描述
US11080587B2 (en) * 2015-02-06 2021-08-03 Deepmind Technologies Limited Recurrent neural networks for data item generation
EP3371807B1 (en) * 2015-11-12 2023-01-04 Google LLC Generating target phoneme sequences from input speech sequences using partial conditioning
US10268671B2 (en) * 2015-12-31 2019-04-23 Google Llc Generating parse trees of text segments using neural networks
WO2017136081A1 (en) * 2016-02-05 2017-08-10 Google Inc. Augmenting neural networks with hierarchical external memory
US9799327B1 (en) * 2016-02-26 2017-10-24 Google Inc. Speech recognition with attention-based recurrent neural networks
US11093813B2 (en) * 2016-10-20 2021-08-17 Google Llc Answer to question neural networks
CN106933785A (zh) * 2017-02-23 2017-07-07 中山大学 一种基于递归神经网络的摘要生成方法
ES3058389T3 (es) 2017-10-27 2026-03-10 Google Llc Redes neuronales de transducción de secuencias solo de decodificador basadas en atención
US10542270B2 (en) * 2017-11-15 2020-01-21 Salesforce.Com, Inc. Dense video captioning
WO2021058663A1 (en) * 2019-09-25 2021-04-01 Deepmind Technologies Limited Augmenting attention-based neural networks to selectively attend to past inputs

Also Published As

Publication number Publication date
EP4418168A3 (en) 2024-10-09
US20240256859A1 (en) 2024-08-01
EP4418168A2 (en) 2024-08-21
CN111386537B (zh) 2024-08-13
EP3688672C0 (en) 2024-06-19
US11556786B2 (en) 2023-01-17
US20200342316A1 (en) 2020-10-29
US20240211751A1 (en) 2024-06-27
ES2988982T3 (es) 2024-11-22
US12354005B2 (en) 2025-07-08
CN119005252A (zh) 2024-11-22
US20250307632A1 (en) 2025-10-02
CN111386537A (zh) 2020-07-07
US12271817B2 (en) 2025-04-08
CN119005251A (zh) 2024-11-22
US12299572B2 (en) 2025-05-13
US11886998B2 (en) 2024-01-30
EP4418168C0 (en) 2025-10-22
EP4407518A1 (en) 2024-07-31
US20230153613A1 (en) 2023-05-18
EP3688672B1 (en) 2024-06-19
US12299573B2 (en) 2025-05-13
US20240220796A1 (en) 2024-07-04
WO2019084551A1 (en) 2019-05-02
EP3688672A1 (en) 2020-08-05
US20240211752A1 (en) 2024-06-27
EP4418168B1 (en) 2025-10-22

Similar Documents

Publication Publication Date Title
ES3058389T3 (es) Redes neuronales de transducción de secuencias solo de decodificador basadas en atención
US12217173B2 (en) Attention-based sequence transduction neural networks