ES2934313T3 - Redes neuronales de transducción de secuencias basadas en la atención - Google Patents

Redes neuronales de transducción de secuencias basadas en la atención Download PDF

Info

Publication number
ES2934313T3
ES2934313T3 ES18739661T ES18739661T ES2934313T3 ES 2934313 T3 ES2934313 T3 ES 2934313T3 ES 18739661 T ES18739661 T ES 18739661T ES 18739661 T ES18739661 T ES 18739661T ES 2934313 T3 ES2934313 T3 ES 2934313T3
Authority
ES
Spain
Prior art keywords
output
input
encoder
sequence
decoder
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
ES18739661T
Other languages
English (en)
Inventor
Noam M Shazeer
Aidan Nicholas Gomez
Lukasz Mieczyslaw Kaiser
Jakob D Uszkoreit
Llion Owen Jones
Niki J Parmar
Illia Polosukhin
Ashish Teku Vaswani
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 ES2934313T3 publication Critical patent/ES2934313T3/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
    • 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/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/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
    • G06N3/09Supervised learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Machine Translation (AREA)
  • Color Image Communication Systems (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

Métodos, sistemas y aparatos, incluidos los programas informáticos codificados en un medio de almacenamiento informático, para generar una secuencia de salida a partir de una secuencia de entrada. En un aspecto, uno de los sistemas incluye una red neuronal de codificador configurada para recibir la secuencia de entrada y generar representaciones codificadas de las entradas de la red, comprendiendo la red neuronal de codificador una secuencia de una o más subredes de codificador, configurada cada subred de codificador para recibir una respectiva entrada de subred de codificador para cada una de las posiciones de entrada y para generar una salida de subred respectiva para cada una de las posiciones de entrada, y cada subred de codificador comprende: una subcapa de autoatención del codificador que está configurada para recibir la entrada de subred para cada una de las entradas posiciones y, para cada posición de entrada particular en el orden de entrada: (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Redes neuronales de transducción de secuencias basadas en la atención
Referencia cruzada a las solicitudes relacionadas
La presente es una solicitud no provisional de y reivindica prioridad sobre la Solicitud de Patente Provisional de los Estados Unidos núm. 62/510,256, presentada el 23 de mayo de 2017, y la Solicitud de Patente Provisional de los Estados Unidos núm. 62/541,594, presentada el 4 de agosto de 2017.
Antecedentes de la invención
La presente descripción se refiere a la transducción de secuencias mediante el uso de redes neuronales.
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 usa como entrada para 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 de parámetros correspondiente.
"Long Short-Term Memory-Networks for Machine Reading" de Cheng y otros describe un simulador de lectura mecánica que procesa el texto de forma incremental de izquierda a derecha y realiza un razonamiento superficial con memoria y atención.
"A Decomposable Attention Model for Natural Language Inference", de Parikh y otros, describe una arquitectura neuronal para la inferencia del lenguaje natural que usa la atención para descomponer el problema en subproblemas que se pueden resolver por separado.
"A Structured Self-attentive Sentence Embedding" de Lin y otros describe un modelo para extraer una inserción de frase interpretable mediante el uso de la introducción de la autoatención y, en lugar de usar un vector, usa una matriz bidimensional para representar la inserción, en la que cada hilera de la matriz atiende a una parte diferente de la frase.
Resumen
La invención es como se define en las reivindicaciones adjuntas.
Modalidades particulares de la invención descrita en esta descripción se pueden implementar con el fin de realizar una o más de las siguientes ventajas.
Muchas aproximaciones existentes a la transducción de secuencias mediante el uso de redes neuronales usan redes neuronales recurrentes tanto en el codificador como en el decodificador. Si bien este tipo de redes puede 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 por el estado oculto de la red neuronal recurrente en el etapa de tiempo anterior. Esta naturaleza secuencial impide la paralelización, lo que da lugar a largos tiempos de entrenamiento e inferencia y, en consecuencia, a cargas de trabajo que usan una gran cantidad de recursos computacionales.
Por otro lado, dado que el codificador y el decodificador de la red neuronal de transducción de secuencias descrita se basan en la atención, la red neuronal de transducción de secuencias puede transducir secuencias más rápidamente, ser entrenada más rápidamente, o ambas cosas, porque la operación de la red se puede paralelizar más fácilmente. Es decir, dado que la red neuronal de transducción de secuencias descrita se basa por completo en 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 de los largos tiempos de entrenamiento e inferencia y el elevado uso de recursos causados por la naturaleza secuencial de las capas de red neuronal recurrente.
Además, la red neuronal de transducción de secuencias puede transducir secuencias con mayor precisión que las redes existentes basadas en capas convolucionales o capas recurrentes, aunque los tiempos de entrenamiento e inferencia sean más cortos. En particular, en los modelos convencionales, el número de operaciones necesarias para relacionar las señales de dos posiciones arbitrarias de entrada o salida crece con la distancia entre las posiciones, por ejemplo, de forma lineal o logarítmica en función de la arquitectura del modelo. Esto dificulta el aprendizaje de dependencias entre posiciones distantes durante el entrenamiento. En la red neuronal de transducción de secuencias 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, de la autoatención) sin depender de la recurrencia ni de las circunvoluciones. La autoatención, a veces llamada intraatención, es un mecanismo de atención que relaciona diferentes posiciones de una misma secuencia para calcular una representación de la secuencia. El uso de mecanismos de atención permite a la red neuronal de transducción de secuencias aprender eficazmente dependencias entre posiciones distantes durante el entrenamiento, mejorando la precisión de la red neuronal de transducción de secuencias en diversas tareas de transducción, por ejemplo, la traducción automática. De hecho, la red neuronal de transducción de secuencias descrita puede lograr resultados de vanguardia en la tarea de traducción automática a pesar de ser más fácil de entrenar y más rápida en generar salidas que las redes neuronales de traducción automática convencionales. La red neuronal de transducción de secuencias también puede exhibir un rendimiento mejorado con respecto a las redes neuronales de traducción automática convencionales sin sintonización específica de la tarea mediante el uso del mecanismo de atención.
Los detalles de una o más modalidades de la invención descrita en la presente descripción se exponen en los dibujos adjuntos y en la descripción que aparece más abajo. Otras características, aspectos y ventajas de la invención se desprenderán de la descripción, los dibujos y las reivindicaciones.
Breve descripción de los dibujos
La figura 1 muestra un ejemplo de sistema de red neuronal.
La figura 2 es un diagrama que muestra los mecanismos de atención aplicados por las subcapas de atención en las subredes de la red neuronal del codificador y la red neuronal del decodificador.
La figura 3 es un diagrama de flujo de un proceso de ejemplo para generar una secuencia de salida a partir de una secuencia de entrada.
Los números de referencia y designaciones similares en los distintos dibujos indican elementos similares.
Descripción detallada
La presente descripción describe un sistema implementado en forma de programas informáticos en uno o más ordenadores en una o más ubicaciones que genera una secuencia de salida que incluye una salida correspondiente en cada una de las múltiples posiciones en un orden de salida a partir de una secuencia de entrada que incluye una entrada correspondiente en cada una de las múltiples posiciones en un orden de entrada, es decir, transduce la secuencia de entrada en la secuencia de salida.
Por ejemplo, el sistema puede ser un sistema neuronal de traducción automática. Es decir, si la secuencia de entrada es una secuencia de palabras en un idioma original, por ejemplo, una oración o frase, la secuencia de salida puede ser una traducción de la secuencia de entrada a un idioma de destino, es decir, una secuencia de palabras en el idioma de destino que representa la secuencia de palabras en el idioma original.
Como otro ejemplo, 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 salida puede ser una secuencia de grafemas, caracteres o palabras que representa el enunciado, es decir, es una transcripción de la secuencia de entrada.
Como otro ejemplo, el sistema puede ser un sistema de procesamiento de lenguaje natural. Por ejemplo, si la secuencia de entrada es una secuencia de palabras en un idioma original, por ejemplo, una oración o frase, la secuencia de salida puede ser un resumen de la secuencia de entrada en el idioma original, es decir, una secuencia que tiene menos palabras que la secuencia de entrada, pero que conserva el significado esencial de la secuencia de entrada. Como otro ejemplo, si la secuencia de entrada es una secuencia de palabras que forman una pregunta, la secuencia de salida puede ser una secuencia de palabras que forman una respuesta a la pregunta.
Como otro ejemplo, el sistema puede formar parte de un sistema de diagnóstico médico asistido por ordenador. Por ejemplo, la secuencia de entrada puede ser una secuencia de datos de una historia clínica electrónica y la secuencia de salida puede ser una secuencia de tratamientos previstos.
Como otro ejemplo, el sistema puede formar 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 describa la imagen. Como otro ejemplo, la secuencia de entrada puede ser una secuencia de texto o un contexto diferente y la secuencia de salida puede ser una imagen que describe el contexto.
En particular, la red neuronal incluye una red neuronal del codificador y una red neuronal del decodificador. Generalmente, tanto el codificador como el decodificador se basan en la atención, es decir, ambos aplican un mecanismo de atención sobre sus correspondientes entradas recibidas mientras transducen la secuencia de entrada. En algunos casos, ni el codificador ni el decodificador incluyen capas convolucionales o recurrentes.
La figura 1 muestra un ejemplo de sistema de red neuronal 100. El sistema de red neuronal 100 es un ejemplo de un sistema implementado en forma de 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 más abajo.
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.
La secuencia de entrada 102 tiene una entrada de red correspondiente en cada una de las múltiples posiciones de entrada en un orden de entrada y la secuencia de salida 152 tiene una salida de red correspondiente en cada una de las múltiples posiciones de salida en un orden de salida. Es decir, la secuencia de entrada 102 tiene múltiples entradas dispuestas de acuerdo con un orden de entrada y la secuencia de salida 152 tiene múltiples salidas dispuestas de acuerdo con un orden de salida.
Como se describió anteriormente, el sistema de red neuronal 100 puede realizar cualquiera de una variedad de tareas que requieren el procesamiento de entradas secuenciales para generar salidas secuenciales.
El sistema de red neuronal 100 incluye una red neuronal 108 de transducción de secuencias basada en la atención, que a su vez incluye una red neuronal del codificador 110 y una red neuronal del decodificador 150.
La red neuronal del codificador 110 se configura para recibir la secuencia de entrada 102 y generar una representación codificada correspondiente de cada una de las entradas de la red en la secuencia de entrada. Generalmente, una representación codificada es un vector u otra colección ordenada de valores numéricos.
La red neuronal del decodificador 150 se configura entonces para usar las representaciones codificadas de las entradas de red para generar la secuencia de salida 152.
Generalmente, y como se describirá con más detalle más abajo, tanto el codificador 110 como el decodificador 150 se basan en la atención. En algunos casos, ni el codificador ni el decodificador incluyen capas convolucionales o recurrentes.
La red neuronal del codificador 110 incluye una capa de inserción 120 y una secuencia de una o más subredes del codificador 130. En particular, como se muestra en la figura 1, la red neuronal del codificador incluye N subredes del codificador 130.
La capa de inserción 120 se configura para asignar, para cada entrada de red en la secuencia de entrada, la entrada de red a una representación numérica de la entrada de red en un espacio de inserción, por ejemplo, en un vector en el espacio de inserción. A continuación, la capa de inserción 120 proporciona las representaciones numéricas de las entradas de red a la primera subred de la secuencia de subredes del codificador 130, es decir, a la primera subred del codificador 130 de las N subredes del codificador 130.
En particular, en algunas modalidades, la capa de inserción 120 se configura para asignar cada entrada de red a una representación insertada de la entrada de red y luego combinar, por ejemplo, sumar o promediar, la representación insertada de la entrada de red con una inserción posicional de la posición de entrada de la entrada de red en el orden de entrada para generar una representación insertada combinada de la entrada de red. Es decir, cada posición en la secuencia de entrada tiene una inserción correspondiente y para cada entrada de red la capa de inserción 120 combina la representación insertada de la entrada de red con la inserción de la posición de la entrada de red en la secuencia de entrada. Tales inserciones posicionales pueden permitir al modelo hacer un uso completo del orden de la secuencia de entrada sin depender de recurrencias o convoluciones.
En algunos casos, las inserciones posicionales se aprenden. De la forma en que se usa en esta descripción, el término "aprendido" significa que una operación o un valor se ha ajustado durante el entrenamiento de la red neuronal de transducción de secuencias 108. El entrenamiento de la red neuronal de transducción de secuencias 108 se describe más abajo con referencia a la figura 3.
En algunos otros casos, las inserciones posicionales son fijas y son diferentes para cada posición. Por ejemplo, las inserciones pueden estar formadas por funciones de seno y coseno de diferentes frecuencias y pueden satisfacer:
PE(p0S2i) - seno(posl100002l/dmodel)
PE(pOS,2i+i) = coseno(pos/ 100002l/dmodel)
donde pos es la posición, i es la dimensión dentro de la inserción posicional, y dmodei es la dimensionalidad de la inserción posicional (y de los otros vectores procesados por la red neuronal 108). El uso de inserciones posicionales sinusoidales puede permitir al modelo extrapolar secuencias de mayor longitud, lo que puede aumentar la gama de aplicaciones para las que se puede emplear el modelo.
La representación insertada combinada se usa entonces como representación numérica de la entrada de la red. Cada una de las subredes del codificador 130 se configura para recibir una entrada de la subred del codificador correspondiente para cada una de la pluralidad de posiciones de entrada y para generar una salida de la subred correspondiente para cada una de la pluralidad de posiciones de entrada.
Las salidas de la subred del codificador generadas por la última subred del codificador de la secuencia se usan como representaciones codificadas de las entradas de la red.
Para la primera subred del codificador de la secuencia, la entrada de la subred del codificador son las representaciones numéricas generadas por la capa de inserción 120 y, para cada subred del codificador distinta de la primera subred del codificador de la secuencia, la entrada de la subred del codificador es la salida de la subred del codificador precedente de la secuencia.
Cada subred del codificador 130 incluye una subcapa de autoatención del codificador 132. La subcapa de autoatención del codificador 132 se configura para recibir la entrada de la subred para cada una de la pluralidad de posiciones de entrada y, para cada posición de entrada particular en el orden de entrada, aplicar un mecanismo de atención sobre las entradas de subred del codificador en las posiciones de entrada mediante el uso de una o más consultas derivadas de la entrada de la subred del codificador en la posición de entrada particular para generar una salida correspondiente para la posición de entrada particular. En algunos casos, el mecanismo de atención es un mecanismo de atención multicabezal. El mecanismo de atención y cómo el mecanismo de atención es aplicado por la subcapa de autoatención del codificador 132 se describirá en más detalle más abajo con referencia a la figura 2. En algunas modalidades, cada una de las subredes del codificador 130 también incluye una capa de conexión residual que combina las salidas de la subcapa de autoatención del codificador con las entradas a la subcapa de autoatención del codificador para generar una salida residual de autoatención del codificador y una capa de normalización de capa que aplica normalización de capa a la salida residual de autoatención del codificador. En la figura 1, estas dos capas se denominan colectivamente operación de “Adición y Normalización”.
Algunas o todas las subredes del codificador también pueden incluir una capa prealimentada por posición 134 que se configura para operar en cada posición de la secuencia de entrada por separado. En particular, para cada posición de entrada, la capa prealimentada por posición 134 está configurada para recibir una entrada en la posición de entrada y aplicar una secuencia de transformaciones a la entrada en la posición de entrada para generar una salida para la posición de entrada. 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 elemental no lineal, por ejemplo, una función de activación ReLU, que puede permitir un entrenamiento más rápido y efectivo en conjuntos de datos grandes y complejos. Las entradas recibidas por la capa de alimentación 134 pueden ser las salidas de la capa de normalización de capa cuando las capas residual y de normalización de capa están incluidas o las salidas de la subcapa de autoatención del codificador 132 cuando las capas residual y de normalización de capa no están incluidas. Las transformaciones aplicadas por la capa 134 serán generalmente las mismas para cada posición de entrada (pero diferentes capas de alimentación en diferentes subredes aplicarán diferentes transformaciones).
En los casos en los que una subred del codificador 130 incluye una capa prealimentada por posición 134, la subred del codificador también puede incluir una capa de conexión residual que combina las salidas de la capa prealimentada por posición con las entradas a la capa prealimentada por posición para generar una salida residual del codificador por posición y una capa de normalización de capa que aplica normalización de capa a la salida residual del codificador por posición. En la figura 1, estas dos capas también se denominan colectivamente operación de "Adición y Normalización". Las salidas de esta capa de normalización se pueden usar como salidas de la subred del codificador 130.
Una vez que la red neuronal del codificador 110 ha generado las representaciones codificadas, la red neuronal del decodificador 150 se configura para generar la secuencia de salida de forma autorregresiva.
Es decir, la red neuronal del decodificador 150 genera la secuencia de salida, generando en cada una de una pluralidad de etapas de tiempo de generación, una salida de red para una posición de salida correspondiente condicionada a (i) las representaciones codificadas y (ii) las salidas de red en posiciones de salida que preceden a la posición de salida en el orden de salida.
En particular, para una posición de salida dada, la red neuronal del decodificador genera una salida que define una distribución de probabilidades sobre las posibles salidas de la red en la posición de salida dada. La red neuronal del decodificador puede entonces seleccionar una salida de red para la posición de salida muestreando a partir de la distribución de probabilidades o seleccionando la salida de red con la probabilidad más alta.
Dado que la red neuronal del decodificador 150 es autorregresiva, en cada etapa de tiempo de generación, el decodificador 150 opera sobre las salidas de red que ya se han generado antes de la etapa de tiempo de generación, es decir, las salidas de red en las posiciones de salida que preceden a la posición de salida correspondiente en el orden de salida. En algunas modalidades, para asegurar que este es el caso durante la inferencia y el entrenamiento, en cada etapa de tiempo de generación, la red neuronal del decodificador 150 desplaza las salidas de red 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 red ya generada) y (como se describirá con más detalle más abajo) enmascara ciertas operaciones para que las posiciones sólo puedan atender a posiciones hasta e incluyendo esa posición en la secuencia de salida (y no posiciones posteriores). Mientras que el resto de la descripción más abajo describe que, al generar una salida dada en una posición de salida dada, varios componentes del decodificador 150 operan sobre los datos en las posiciones de salida que preceden a las posiciones de salida dadas (y no sobre los datos en cualquier otra posición de salida), se debe enteneder que este tipo de condicionamiento se puede implementar eficazmente mediante el uso del desplazamiento descrito anteriormente. La red neuronal del decodificador 150 incluye una capa de inserción 160, una secuencia de subredes del decodificador 170, una capa lineal 180, y una capa softmax 190. En particular, como se muestra en la figura 1, la red neuronal del decodificador incluye N subredes del decodificador 170. Sin embargo, mientras que el ejemplo de la figura 1 muestra el codificador 110 y el decodificador 150 incluyendo el mismo número de subredes, en algunos casos el codificador 110 y el decodificador 150 incluyen diferentes números de subredes. Es decir, el decodificador 150 puede incluir más o menos subredes que el codificador 110.
La capa de inserción 160 se configura para, en cada etapa de tiempo de generación, para cada salida de red en una posición de salida que precede a la posición de salida actual en el orden de salida, asignar la salida de red a una representación numérica de la salida de red en el espacio de inserción. La capa de inserción 160 proporciona entonces las representaciones numéricas de las salidas de red a la primera subred 170 en la secuencia de subredes del decodificador, es decir, a la primera subred del decodificador 170 de las N subredes del decodificador.
En particular, en algunas modalidades, la capa de inserción 160 se configura para asignar cada salida de red a una representación insertada de la salida de red y combinar la representación insertada de la salida de red con una inserción posicional de la posición de salida de la salida de red en el orden de salida para generar una representación insertada combinada de la salida de red. La representación insertada combinada se usa entonces como la representación numérica de la salida de red. La capa de inserción 160 genera la representación insertada combinada de la misma manera como se describió anteriormente con referencia a la capa de inserción 120.
Cada subred del decodificador 170 se configura para, en cada etapa de tiempo de generación, recibir una entrada de la subred del decodificador correspondiente para cada una de la pluralidad de posiciones de salida que preceden a la posición de salida correspondiente y para generar una salida de la subred del decodificador correspondiente para cada una de la pluralidad de posiciones de salida que preceden a la posición de salida correspondiente (o equivalentemente, cuando la secuencia de salida se ha desplazado a la derecha, cada salida de red en una posición hasta e incluida la posición de salida actual).
En particular, cada subred del decodificador 170 incluye dos subcapas de atención diferentes: una subcapa de autoatención del decodificador 172 y una subcapa de atención del codificador-decodificador 174.
Cada subcapa de autoatención del decodificador 172 se configura para, en cada etapa de tiempo de generación, recibir una entrada para cada posición de salida que precede a la posición de salida correspondiente y, para cada una de las posiciones de salida particulares, aplicar un mecanismo de atención sobre las entradas en las posiciones de salida que preceden a la posición correspondiente mediante el uso de 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. Es decir, la subcapa de autoatención del decodificador 172 aplica un mecanismo de atención que está enmascarado para que no atienda o procese de cualquier otra manera ningún dato que no esté en una posición que preceda a la posición de salida actual en la secuencia de salida.
Por otra parte, cada subcapa de atención del codificador-decodificador 174 se configura para, en cada etapa de tiempo de generación, recibir una entrada para cada posición de salida que precede a la posición de salida correspondiente y, para cada una de las posiciones de salida, aplicar un mecanismo de atención sobre las representaciones codificadas en las posiciones de entrada mediante el uso de una o más consultas derivadas de la entrada para la posición de salida para generar una representación actualizada para la posición de salida. Así, la subcapa de atención del codificador-decodificador 174 aplica atención sobre las representaciones codificadas mientras que la subcapa de autoatención del decodificador 172 aplica atención sobre las entradas en las posiciones de salida.
El mecanismo de atención aplicado por cada una de estas subcapas de atención se describirá en más detalle más abajo con referencia a la figura 2.
En la figura 1, la subcapa de autoatención del decodificador 172 se muestra como anterior a la subcapa de atención del codificador-decodificador en el orden de procesamiento dentro de la subred del decodificador 170. En otros ejemplos, sin embargo, la subcapa de autoatención del decodificador 172 puede estar después de la subcapa de atención del codificador-decodificador 174 en el orden de procesamiento dentro de la subred del decodificador 170 o diferentes subredes pueden tener diferentes órdenes de procesamiento.
En algunas modalidades, cada subred del decodificador 170 incluye, después de la subcapa de autoatención del decodificador 172, después de la subcapa de atención del codificador-decodificador 174, o después de cada una de las dos subcapas, una capa de conexión residual que combina las salidas de la subcapa de atención con las entradas a la subcapa de atención para generar una salida residual y una capa de normalización de capa que aplica normalización de capa a la salida residual. La figura 1 muestra estas dos capas insertadas después de cada una de las dos subcapas, ambas denominadas operación de "Adición y Normalización".
Algunas o todas las subredes del decodificador 170 también incluyen una capa prealimentada por posición 176 que se configura para operar de manera similar a la capa prealimentada por posición 134 del codificador 110. En particular, la capa 176 se configura para, en cada etapa de tiempo de generación para cada posición de salida que precede a la posición de salida correspondiente, recibir una entrada en la posición de salida, y aplicar una secuencia de transformaciones a la entrada en la posición de salida para generar una salida para la posición de salida. 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 elemental no lineal, por ejemplo, una función de activación ReLU. Las entradas recibidas por la capa de alimentación 176 pueden ser las salidas de la capa de normalización de capa (después de la última subcapa de atención en la subred 170) cuando se incluyen las capas residual y de normalización de capa o las salidas de la última subcapa de atención en la subred 170 cuando no se incluyen las capas residual y de normalización de capa.
En los casos en los que una subred del decodificador 170 incluye una capa prealimentada por posición 176, la subred del decodificador también puede incluir una capa de conexión residual que combina las salidas de la capa prealimentada por posición con las entradas a la capa prealimentada por posición para generar una salida residual por posición del decodificador y una capa de normalización de capa que aplica normalización de capa a la salida residual por posición del decodificador. En la figura 1, estas dos capas también se denominan colectivamente operación de "Adición y Normalización". Las salidas de esta capa de normalización se pueden usar como salidas de la subred del decodificador 170.
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 del decodificador 170 con el fin de proyectar la salida de la última subred del decodificador 170 en el espacio apropiado para su procesamiento por la capa softmax 190. La capa softmax 190 aplica entonces una función softmax sobre las salidas de la capa lineal 180 para generar la distribución de probabilidades sobre las posibles salidas de la red en la etapa de tiempo de generación. Como se describió anteriormente, el decodificador 150 puede entonces seleccionar una salida de red de las posibles salidas de red mediante el uso de la distribución de probabilidades.
La figura 2 es un diagrama 200 que muestra mecanismos de atención que son aplicados por las subcapas de atención en las subredes de la red neuronal del codificador 110 y la red neuronal del decodificador 150.
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 el peso asignado a cada valor se calcula mediante una función de compatibilidad de la consulta con la clave correspondiente.
Más concretamente, cada subcapa de atención aplica un mecanismo de atención de producto punto escalado 230. En la atención de producto punto escalado, para una consulta dada, la subcapa de atención calcula los productos punto de la consulta con todas las claves, divide cada uno de los productos punto por un factor de escala, por ejemplo, por la raíz cuadrada de las dimensiones de las consultas y claves, y luego aplica una función softmax sobre los productos punto escalados para obtener los pesos de los valores. A continuación, la subcapa de atención calcula una suma ponderada de los valores de acuerdo con estos pesos. Así, para la atención de productos punto escalados, la función de compatibilidad es el producto punto y la salida de la función de compatibilidad se escala aún más por el factor de escala.
Durante la operación y como se muestra en la parte izquierda de figura 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 incluya los vectores como filas de la matriz.
A continuación, la subcapa de atención realiza una multiplicación matricial (MatMul) entre la matriz Q y la transposición de la matriz K para generar una matriz de salidas de la función de compatibilidad.
A continuación, la subcapa de atención escala la matriz de salidas de la función de compatibilidad, es decir, divide cada elemento de la matriz por el factor de escala.
A continuación, la subcapa de atención aplica una softmax sobre la matriz de salida escalada para generar una matriz de pesos y realiza una matriz multiplicadora (MatMul) entre la matriz de pesos 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.
Para las subcapas que usan enmascaramiento, es decir, las subcapas de atención del decodificador, la subcapa de atención enmascara la matriz de salida escalada antes de aplicar la softmax. Es decir, la subcapa de atención enmascara (pone en infinito negativo) todos los valores de la matriz de salida escalada que corresponden a posiciones posteriores a la posición de salida actual.
En algunas modalidades, para permitir que las subcapas de atención atiendan conjuntamente a la información de diferentes subespacios de representación en diferentes posiciones, las subcapas de atención emplean atención multicabezal, como se ilustra en el lado derecho de la figura 2.
En particular, para implementar la atención multicabezal, la subcapa de atención aplica h mecanismos de atención diferentes en paralelo. En otras palabras, la subcapa de atención incluye h capas de atención diferentes, con cada capa de atención dentro de la misma subcapa de atención recibiendo las mismas consultas originales Q, claves originales K, y valores originales V.
Cada capa de atención se configura para transformar las consultas, claves y valores originales mediante el uso de transformaciones lineales aprendidas y, a continuación, aplicar el mecanismo de atención 230 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.
Cada capa de atención se configura 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 mediante el uso de estas consultas, claves y valores específicos de la capa para generar salidas iniciales para la capa de atención.
La subcapa de atención combina entonces 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 figura 2, la subcapa de atención concatena (concat) 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.
En algunos casos, las transformaciones aprendidas aplicadas por la subcapa de atención reducen la dimensionalidad de las claves y valores originales y, opcionalmente, de las consultas. Por ejemplo, cuando la dimensionalidad de las claves, valores y consultas originales es d y hay h capas de atención en la subcapa, la subcapa puede reducir la dimensionalidad de las claves, valores y consultas originales a d/H. Esto mantiene el coste computacional del mecanismo de atención multicabezal similar al coste que habría supuesto ejecutar el mecanismo de atención una vez con la dimensionalidad completa, al tiempo que aumenta la capacidad representativa de la subcapa de atención.
Aunque el mecanismo de atención aplicado por cada subcapa de atención es el mismo, las consultas, claves y valores son diferentes para los distintos tipos de atención. Es decir, los diferentes tipos de subcapas de atención usan diferentes fuentes para las consultas, claves y valores originales que recibe como entrada la subcapa de atención.
En particular, cuando la subcapa de atención es una subcapa de autoatención del codificador, todas las claves, valores y consultas proceden del mismo lugar, en este caso, la salida de la subred anterior en el codificador, o, para la subcapa de autoatención del codificador en la primera subred, las inserciones de las entradas y cada posición en el codificador pueden atender a todas las posiciones en el orden de entrada. Así, hay una clave, un valor y una consulta correspondientes para cada posición en el orden de entrada.
Cuando la subcapa de atención es una subcapa de autoatención del decodificador, cada posición del decodificador atiende a todas las posiciones del decodificador anteriores a esa posición. Así, 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 del decodificador, las inserciones de las salidas ya generadas. Así, hay una clave, un valor y una consulta correspondientes para cada posición en el orden de salida antes de la posición actual.
Cuando la subcapa de atención es una subcapa de atención del codificador-decodificador, las consultas proceden del componente anterior en el decodificador y las claves y valores proceden de la salida del codificador, es decir, de las representaciones codificadas generadas por el codificador. Esto permite que cada posición del decodificador atienda a todas las posiciones de la secuencia de entrada. Así, hay una consulta correspondiente para cada para cada posición en el orden de salida antes de la posición actual y una clave correspondiente y un valor correspondiente para cada posición en el orden de entrada.
En más detalle, cuando la subcapa de atención es una subcapa de autoatención del codificador, para cada posición de entrada particular en el orden de entrada, la subcapa de autoatención del codificador se configura para aplicar un mecanismo de atención sobre las entradas de la subred del codificador en las posiciones de entrada mediante el uso de una o más consultas derivadas de la entrada de la subred del codificador en la posición de entrada particular para generar una salida correspondiente para la posición de entrada particular.
Cuando la subcapa de autoatención del codificador implementa la atención multicabezal, cada capa de autoatención del codificador en la subcapa de autoatención del codificador se configura para: aplicar una transformación lineal de consulta aprendida a cada entrada de la subred del codificador en cada posición de entrada para generar una consulta correspondiente para cada posición de entrada, aplicar una transformación lineal de clave aprendida a cada entrada de la subred del codificador en cada posición de entrada para generar una clave correspondiente para cada posición de entrada, aplicar una transformación lineal de valor aprendido a cada entrada de la subred del codificador en cada posición de entrada para generar un valor correspondiente para cada posición de entrada y, a continuación, aplicar el mecanismo de atención (es decir, el mecanismo de atención de producto punto escalado descrito anteriormente) mediante el uso de las consultas, claves y valores para determinar una salida inicial de autoatención del codificador para cada posición de entrada. A continuación, la subcapa combina las salidas iniciales de las capas de atención como se describió anteriormente.
Cuando la subcapa de atención es una subcapa de autoatención del decodificador, la subcapa de autoatención del decodificador se configura para, en cada etapa de tiempo de generación: recibir una entrada para cada posición de salida que precede a la posición de salida correspondiente y, para cada una de las posiciones de salida particulares, aplicar un mecanismo de atención sobre las entradas en las posiciones de salida que preceden a la posición correspondiente mediante el uso de 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.
Cuando la subcapa de autoatención del decodificador implementa atención multicabezal, 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 salida que precede a la posición de salida correspondiente para generar una consulta correspondiente para cada posición de salida, aplicar una transformación lineal de clave aprendida a cada entrada en cada posición de salida que precede a la posición de salida correspondiente para generar una clave correspondiente para cada posición de salida, aplicar una transformación lineal de valor aprendido a cada entrada en cada posición de salida que precede a la posición de salida correspondiente para generar una clave correspondiente para cada posición de salida y, a continuación, aplicar el mecanismo de atención (es decir, el mecanismo de atención producto punto escalado descrito anteriormente) mediante el uso de las consultas, claves y valores para determinar una salida inicial de autoatención del decodificador 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.
Cuando la subcapa de atención es una subcapa de atención del codificador-decodificador, la subcapa de atención del codificador-decodificador se configura para, en cada etapa de tiempo de generación: recibir una entrada para cada posición de salida que precede a la posición de salida correspondiente y, para cada una de las posiciones de salida, aplicar un mecanismo de atención sobre las representaciones codificadas en las posiciones de entrada mediante el uso de una o más consultas derivadas de la entrada para la posición de salida para generar una representación actualizada para la posición de salida.
Cuando la subcapa de atención del codificador-decodificador implementa atención multicabezal, cada capa de atención se configura 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 salida que precede a la posición de salida correspondiente para generar una consulta correspondiente para cada posición de salida, aplicar una transformación lineal de clave aprendida a cada representación codificada en cada posición de entrada para generar una clave correspondiente para cada posición de entrada, aplicar una transformación lineal de valor aprendido a cada representación codificada en cada posición de entrada para generar un valor correspondiente para cada posición de entrada, y luego aplicar el mecanismo de atención (es decir, el mecanismo de atención producto punto escalado descrito anteriormente) mediante el uso de las consultas, claves y valores para determinar una salida inicial de atención del codificadordecodificador para cada posición de entrada. A continuación, la subcapa combina las salidas iniciales de las capas de atención como se describió anteriormente.
La figura 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 conveniencia, el proceso 300 se describirá como realizado por un sistema de uno o más ordenadores situados en una o más ubicaciones. Por ejemplo, un sistema de red neuronal, por ejemplo, el sistema de red neuronal 100 de la figura 1, apropiadamente programado de acuerdo con la presente descripción, puede llevar a cabo el proceso 300.
El sistema recibe una secuencia de entrada (etapa 310).
El sistema procesa la secuencia de entrada mediante el uso de la red neuronal del codificador para generar una representación codificada correspondiente de cada una de las entradas de red en la secuencia de entrada (etapa 320). En particular, el sistema procesa la secuencia de entrada a través de la capa de inserción para generar una representación insertada de cada entrada de red y, a continuación, procesa las representaciones insertadas a través de la secuencia de subredes del codificador para generar las representaciones codificadas de las entradas de red.
El sistema procesa las representaciones codificadas mediante el uso de la red neuronal del decodificador para generar una secuencia de salida (etapa 330). La red neuronal del decodificador se configura para generar la secuencia de salida a partir de las representaciones codificadas de forma autorregresiva. Es decir, la red neuronal del decodificador genera una salida de la secuencia de salida en cada etapa de tiempo de generación. En una etapa de tiempo de generación dada en la que se está generando una salida dada, el sistema procesa las salidas anteriores a la salida dada en la secuencia de salida a través de la capa de inserción en el decodificador para generar representaciones insertadas. A continuación, el sistema procesa las representaciones insertadas a través de la secuencia de subredes del decodificador, la capa lineal y la capa softmax para generar la salida dada. Dado que las subredes del decodificador incluyen subcapas de atención del codificador-decodificador, así como también subcapas de autoatención del decodificador, el decodificador hace uso tanto de las salidas ya generadas como de las representaciones codificadas al generar la salida dada.
El sistema puede realizar el proceso 300 para secuencias de entrada para las que no se conoce la salida deseada, es decir, la secuencia de salida que debe generar el sistema para la secuencia de entrada.
El sistema también puede realizar el proceso 300 en secuencias de entrada de un conjunto de datos de entrenamiento, es decir, un conjunto de entradas para las que se conoce la secuencia de salida que debe generar el sistema, con el fin de entrenar al codificador y al decodificador para determinar valores entrenados para los parámetros del codificador y el decodificador. El proceso 300 se puede realizar repetidamente sobre 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 iniciales de la red neuronal, por ejemplo, una técnica de entrenamiento de descenso de gradiente con retropropagación que usa un optimizador convencional, por ejemplo, el optimizador Adam. Durante el entrenamiento, el sistema puede incorporar cualquier número de técnicas para mejorar la velocidad, la efectividad, o ambas del proceso de entrenamiento. Por ejemplo, el sistema puede usar el abandono, el suavizado de etiquetas o ambos para reducir el sobreajuste. Como otro ejemplo, el sistema puede realizar el entrenamiento mediante el uso de una arquitectura distribuida que entrene múltiples instancias de la red neuronal de transducción de secuencias en paralelo.
La presente descripción usa el término "configurado" en relación con sistemas y componentes de programas informáticos. Que un sistema de uno o más ordenadores esté configurado para realizar operaciones o acciones particulares significa que el sistema tiene instalado software, microprograma, hardware, o una combinación de ellos que en funcionamiento hacen que el sistema realice las operaciones o acciones. Que uno o más programas informáticos estén configurados para realizar operaciones o acciones particulares significa que el uno o más programas incluyen instrucciones que, cuando son ejecutadas por el dispositivo de procesamiento de datos, hacen que el dispositivo realice las operaciones o acciones.
Las modalidades de la invención y las operaciones funcionales descritas en esta descripción se pueden implementar en circuitos electrónicos digitales, en programas informáticos o microprograma incorporados de forma tangible, en hardware informático, incluidas las estructuras divulgadas en la presente descripción y sus equivalentes estructurales, o en combinaciones de uno o más de ellos. Las modalidades de la invención descrita en esta descripción se pueden implementar 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 medio de almacenamiento tangible no transitorio para su ejecución por, o para controlar el funcionamiento de, dispositivos de procesamiento de datos. El medio 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 serie, o una combinación de uno o más de ellos. Alternativamente o además, las instrucciones del programa se pueden codificar en una señal propagada generada artificialmente, por ejemplo, una señal eléctrica, óptica o electromagnética generada por máquina, que se genera para codificar información para su transmisión a un dispositivo receptor adecuado para su ejecución por un dispositivo de procesamiento de datos.
El término "dispositivo de tratamiento de datos" se refiere al hardware de tratamiento de datos y abarca todo tipo de dispositivos, dispositivos y máquinas para el tratamiento de datos, incluido a modo de ejemplo un procesador programable, un ordenador o múltiples procesadores u ordenadores. El dispositivo también puede ser, o incluir además, circuitos lógicos de propósito especial, por ejemplo, un FPGA (matriz de puertas programable de campo) o un ASIC (circuitos integrados específicos de la aplicación). El dispositivo puede incluir opcionalmente, además de hardware, código que cree un entorno de ejecución para programas informáticos, por ejemplo, código que constituya el microprograma 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 ellos.
Un programa informático, que también se puede denominar o describir como programa, software, aplicación de software, aplicación, módulo, módulo de software, secuencia de comandos o código, se puede escribir en cualquier tipo de lenguaje de programación, incluidos lenguajes compilados o interpretados, o lenguajes declarativos o procedimentales; y se puede desplegar en cualquier forma, incluido como programa independiente o como módulo, componente, subrutina u otra unidad adecuada para su uso en un entorno informático. Un programa puede, aunque no necesariamente, corresponder a un archivo en un sistema de archivos. Un programa se puede almacenar en una porción de un archivo que contenga otros programas o datos, por ejemplo, uno o más scripts almacenados en un documento de lenguaje de marcas, en un único archivo dedicado al programa en cuestión, o en múltiples archivos coordinados, por ejemplo, archivos que almacenen uno o más módulos, subprogramas o porciones de código. Un programa informático se puede desplegar para ser ejecutado en un ordenador o en múltiples ordenadores ubicados en un sitio o distribuidos a través de múltiples sitios e interconectados por una red de comunicación de datos.
En esta descripción, 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 en 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 índices puede incluir múltiples colecciones de datos, cada una de las cuales se puede organizar y acceder de forma diferente.
De manera similar, en esta descripción el término "motor" se usa ampliamente para referirse a un sistema, subsistema o proceso basado en software que está programado para realizar una o más funciones específicas. Generalmente, 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 funcionando en el mismo ordenador u ordenadores.
Los procesos y flujos lógicos descritos en esta descripción se pueden realizar por uno o más ordenadores programables que ejecuten uno o más programas informáticos para realizar funciones operando sobre datos de entrada y generando salida. Los procesos y flujos lógicos también pueden ser realizados por circuitos lógicos de propósito especial, por ejemplo, un FPGA o un ASIC, o por una combinación de circuitos lógicos de propósito especial y uno o más ordenadores programables.
Los ordenadores adecuados para la ejecución de un programa informático se pueden basar en microprocesadores de propósito general o especial, o ambos, o en cualquier otro tipo de unidad central de procesamiento. Generalmente, una unidad central de procesamiento recibirá instrucciones y datos de una memoria de sólo lectura, 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 se pueden complementar con circuitos lógicos especiales o incorporarse a ellos. Generalmente, un ordenador también incluirá, o estará operativamente acoplado para recibir datos o transferir datos a, o ambos, uno o más dispositivos de almacenamiento masivo para almacenar datos, por ejemplo, discos magnéticos, discos magnetoópticos o discos ó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 (PDA), un reproductor móvil de audio o vídeo, una consola de juegos, un receptor del Sistema de Posicionamiento Global (GPS) o un dispositivo de almacenamiento portátil, por ejemplo, una unidad flash de bus serie universal (USB), por nombrar sólo algunos.
Los 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, incluidos, 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 magnético-ópticos; y discos CD ROM y DVD-ROM.
Para proporcionar la interacción con un usuario, las modalidades de la invención descrita en esta descripción se pueden implementar en un ordenador que tenga un dispositivo de visualización, por ejemplo, un monitor CRT (tubo de rayos catódicos) o LCD (pantalla de cristal líquido), para mostrar información al usuario y un teclado y un dispositivo señalador, por ejemplo, un ratón o una bola de desplazamiento, mediante los cuales el usuario pueda proporcionar información al ordenador. También pueden usarse otros tipos de dispositivos para permitir la 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 puede recibirse de cualquier forma, incluida la entrada acústica, de voz o táctil. Además, un ordenador puede interactuar con un usuario enviando documentos a y recibiendo documentos de un dispositivo usado por el usuario; por ejemplo, enviando páginas web a un navegador web en el dispositivo de un usuario en respuesta a solicitudes recibidas del 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 ejecute una aplicación de mensajería, y recibiendo a cambio mensajes de respuesta del usuario.
Los dispositivos 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 cálculo intensivo de las cargas de trabajo de entrenamiento o producción, es decir, de inferencia, del aprendizaje automático.
Los modelos de aprendizaje automático se pueden implementar y desplegar mediante el uso de 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.
Las modalidades de la invención descrita en esta descripción se pueden implementar en un sistema informático que incluya un componente subordinado, por ejemplo, un servidor de datos, o que incluya un componente de software intermedio, por ejemplo, un servidor de aplicaciones, o que incluya un componente frontal, por ejemplo, un ordenador cliente con una interfaz del usuario gráfica, un navegador web o una aplicación a través de la cual un usuario pueda interactuar con una modalidad de la materia descrita en la presente descripción, o cualquier combinación de uno o más de dichos componentes subordinados, intermedios o frontales. 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. Los ejemplos de redes de comunicación incluyen una red de área local (LAN) y una red de área amplia (WAN), por ejemplo, Internet.
El sistema informático puede incluir clientes y servidores. Un cliente y servidor están generalmente remotos uno del otro y típicamente interactúan a través de una red de comunicación. La relación de cliente y servidor surge en virtud de los programas de ordenador que corren en los respectivos ordenadores y que tienen una relación cliente-servidor entre sí. En algunas modalidades, un servidor transmite datos, por ejemplo, una página HTML, a un dispositivo de usuario, por ejemplo, con el fin de mostrar datos y recibir entradas de un usuario que interactúa con el dispositivo, que actúa como 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.
Aunque la presente descripción contiene muchos detalles de modalidad específicos, éstos no se deben interpretar como limitaciones en el alcance de cualquier invención o en el alcance de lo que puede ser reivindicado, sino más bien como descripciones de características que pueden ser específicas de determinadas modalidades de invenciones particulares. Ciertas características descritas en esta descripción en el contexto de modalidades separadas pueden implementarse además combinadas en una única modalidad. A la inversa, varias características que se describen en el contexto de una única modalidad también se pueden implementar en múltiples modalidades por separado o en cualquier subcombinación adecuada.
En determinadas circunstancias, la multitarea y el procesamiento en paralelo pueden resultar ventajosos. Además, la separación de los diversos módulos y componentes del sistema en las modalidades descritas anteriormente no debe entenderse como una exigencia de dicha separación en todas las modalidades, y debe entenderse que los componentes y sistemas del programa descritos generalmente se pueden integrar juntos en un único producto de software o empaquetarse en múltiples productos de software.
Se han descrito modalidades particulares de la invención. Otras modalidades están dentro del alcance de las siguientes reivindicaciones. En algunos casos, la multitarea y el procesamiento paralelo pueden ser ventajosos.

Claims (1)

  1. REIVINDICACIONES
    Un sistema (100) que comprende uno o más ordenadores configurados para implementar una red neuronal de transducción de secuencia (108) para transducir una secuencia de entrada (102) que tiene una entrada de red correspondiente en cada una de una pluralidad de posiciones de entrada en un orden de entrada en una secuencia de salida (152) que tiene una salida de red correspondiente en cada una de una pluralidad de posiciones de salida en un orden de salida, la red neuronal de transducción de secuencia que comprende: una red neuronal del codificador (110) configurada para recibir la secuencia de entrada y generar una representación codificada correspondiente de cada una de las entradas de red en la secuencia de entrada, la red neuronal del codificador que comprende una secuencia de una o más subredes del codificador (130), cada subred del codificador está configurada para recibir una entrada de la subred del codificador correspondiente para cada una de la pluralidad de posiciones de entrada y para generar una salida de la subred correspondiente para cada una de la pluralidad de posiciones de entrada, y cada subred del codificador que comprende:
    una subcapa de autoatención del codificador (132) que está configurada para recibir la entrada de la subred para cada una de la pluralidad de posiciones de entrada y, para cada posición de entrada particular en el orden de entrada:
    aplicar un mecanismo de atención sobre las entradas de subred del codificador en las posiciones de entrada mediante el uso de una o más consultas derivadas de la entrada de la subred del codificador en la posición de entrada particular para generar una salida correspondiente para la posición de entrada particular; y
    una red neuronal del decodificador (150) configurada para recibir las representaciones codificadas y generar la secuencia de salida,
    en donde cada subcapa de autoatención del codificador comprende una pluralidad de capas de autoatención del codificador que están configuradas para funcionar en paralelo, en donde cada una de dichas capas de autoatención del codificador está configurada para
    aplicar una transformación lineal de consulta aprendida a cada entrada de la subred del codificador en cada posición de entrada para generar una consulta correspondiente para cada posición de entrada, aplicar una transformación lineal de clave aprendida a cada entrada de la subred del codificador en cada posición de entrada para generar una clave correspondiente para cada posición de entrada, aplicar una transformación lineal de valor aprendido a cada entrada de la subred del codificador en cada posición de entrada para generar un valor correspondiente para cada posición de entrada, y para cada posición de entrada,
    determinar un peso específico de posición de entrada correspondiente para cada una de las posiciones de entrada aplicando una función de comparación entre la consulta para la posición de entrada y las claves, y
    determinar una salida inicial de autoatención del codificador para la posición de entrada determinando una suma ponderada de los valores ponderados por los pesos específicos de posición de entrada correspondientes para las posiciones de entrada,
    en donde la subcapa de autoatención del codificador está configurada para, para cada posición de entrada, combinar las salidas iniciales de autoatención del codificador para la posición de entrada generadas por las capas de autoatención del codificador para generar la salida para la subcapa de atención del codificador.
    El sistema de acuerdo con la reivindicación 1, en donde:
    el sistema es un sistema neuronal de traducción automática, la secuencia de entrada es una secuencia de palabras en un idioma original, y la secuencia de salida es una traducción de la secuencia de entrada a un idioma de destino; o
    el sistema es un sistema de reconocimiento de voz, la secuencia de entrada es una secuencia de datos de audio que representan un enunciado hablado, la secuencia de salida es una secuencia de grafemas, caracteres o palabras que representan el enunciado; o bien
    el sistema es un sistema de procesamiento del lenguaje natural, la secuencia de entrada es una secuencia de palabras en un idioma original y la secuencia de salida es un resumen de la secuencia de entrada en el idioma original; o bien
    el sistema es un sistema de procesamiento del lenguaje natural, la secuencia de entrada es una secuencia de palabras que forman una pregunta, y la secuencia de salida es una secuencia de palabras que forman una respuesta a la pregunta; o bien
    el sistema forma parte de un sistema de diagnóstico médico asistido por ordenador, la secuencia de entrada es una secuencia de datos de una historia clínica electrónica y la secuencia de salida es una secuencia de tratamientos previstos; o bien
    el sistema forma parte de un sistema de procesamiento de imágenes, la secuencia de entrada es una imagen y la secuencia de salida es una secuencia de texto que describe la imagen.
    3. El sistema de acuerdo con la reivindicación 1 o 2, en donde la red neuronal del codificador comprende además:
    una capa de inserción (160) configurada para:
    para cada entrada de red en la secuencia de entrada,
    asignar la entrada de red a una representación insertada de la entrada de red, y
    combinar la representación insertada de la entrada de red con una inserción posicional de la posición de entrada de la entrada de red en el orden de entrada para generar una representación insertada combinada de la entrada de red; y proporcionar las representaciones insertadas combinadas de las entradas de red como las entradas de subred del codificador para una primera subred del codificador en la secuencia de subredes del codificador,
    y/o en donde las correspondientes representaciones codificadas de las entradas de red son las salidas de subred del codificador generadas por la última subred del codificador de la secuencia;
    y/o en donde, para cada subred del codificador distinta de la primera subred del codificador de la secuencia, la entrada de la subred del codificador es la salida de la subred del codificador de una subred del codificador precedente de la secuencia.
    4. El sistema de acuerdo con cualquiera de las reivindicaciones 1-3, en donde al menos una de las subredes del codificador comprende además:
    una capa prealimentada por posición (134) que está configurada para:
    para cada posición de entrada:
    recibir una entrada en la posición de entrada, y
    aplicar una secuencia de transformaciones a la entrada en la posición de entrada para generar una salida para la posición de entrada.
    5. El sistema de acuerdo con la reivindicación 4, en donde la capa prealimentada por posición está configurada para operar en cada posición de la secuencia de entrada por separado.
    6. El sistema de acuerdo con la reivindicación 4 o de la reivindicación 5, en donde la secuencia comprende dos transformaciones lineales aprendidas separadas por una función de activación y/o en donde la al menos una subred del codificador comprende además:
    una capa de conexión residual que combina las salidas de la capa prealimentada por posición con las entradas a la capa prealimentada por posición para generar una salida residual por posición del codificador, y
    una capa de normalización de capa que aplica normalización de capa a la salida residual por posición del codificador.
    7. El sistema de acuerdo con cualquiera de las reivindicaciones 1-6, en donde cada subred del codificador comprende además:
    una capa de conexión residual que combina las salidas de la subcapa de autoatención del codificador con las entradas a la subcapa de autoatención del codificador para generar una salida residual de autoatención del codificador, y
    una capa de normalización de capas que aplica normalización de capas a la salida residual de autoatención del codificador.
    8. El sistema de acuerdo con cualquiera de las reivindicaciones 1-7, en donde la red neuronal del decodificador genera autorregresivamente la secuencia de salida, generando en cada uno de una pluralidad de etapas de tiempo de generación, una salida de red en una posición de salida correspondiente condicionada a las representaciones codificadas y salidas de red en posiciones de salida que preceden a la posición de salida en el orden de salida, opcionalmente, en donde la red neuronal del decodificador comprende una secuencia de subredes del decodificador (170), cada subred del decodificador configurada para, en cada etapa de tiempo de generación, recibir una entrada de la subred del decodificador correspondiente para cada una de la pluralidad de posiciones de salida que preceden a la posición de salida correspondiente y para generar una salida de la subred del decodificador correspondiente para cada una de la pluralidad de posiciones de salida que preceden a la posición de salida correspondiente,
    opcionalmente, en donde la red neuronal del decodificador comprende además:
    una capa de inserción (160) configurada para, en cada etapa de tiempo de generación:
    para cada salida de la red en las posiciones de salida que preceden a la posición de salida en el orden de salida:
    asignar la salida de red a una representación insertada de la salida de red, y
    combinar la representación insertada de la salida de red con una inserción posicional de la posición de salida de la salida de red en el orden de salida para generar una representación insertada combinada de la salida de red; y
    proporcionar las representaciones insertadas combinadas de la salida de red como entrada a una primera subred del decodificador en la secuencia de subredes del decodificador, opcionalmente, en donde al menos una de las subredes del decodificador comprende:
    una capa prealimentada por posición (176) que está configurada para, en cada etapa de tiempo de generación:
    para cada posición de salida anterior a la posición de salida correspondiente:
    recibir una entrada en la posición de salida, y
    aplicar una secuencia de transformaciones a la entrada en la posición de salida para generar una salida para la posición de salida,
    opcionalmente, en donde la secuencia comprende dos transformaciones lineales aprendidas separadas por una función de activación,
    opcionalmente, en donde la subred del decodificador comprende además:
    una capa de conexión residual que combina las salidas de la capa de alimentación en función de la posición con las entradas a la capa de alimentación en función de la posición para generar una salida residual, y
    una capa de normalización de capa que aplica normalización de capa a la salida residual.
    9. El sistema de acuerdo con la reivindicación 8, en donde cada subred del decodificador comprende:
    una subcapa de atención del codificador-decodificador (174) que está configurada para, en cada etapa de tiempo de generación:
    recibir una entrada para cada posición de salida que precede a la posición de salida correspondiente y, para cada una de las posiciones de salida:
    aplicar un mecanismo de atención sobre las representaciones codificadas en las posiciones de entrada mediante el uso de una o más consultas derivadas de la entrada para la posición de salida para generar una representación actualizada para la posición de salida.
    10. El sistema de acuerdo con la reivindicación 9, en donde cada subcapa de atención del codificadordecodificador comprende una pluralidad de capas de atención del codificador-decodificador, y en donde cada capa de atención del codificador-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 salida que precede a la posición de salida correspondiente para generar una consulta correspondiente para cada posición de salida,
    aplicar una transformación lineal de clave aprendida a cada representación codificada en cada posición de entrada para generar una clave correspondiente para cada posición de entrada,
    aplicar una transformación lineal de valor aprendida a cada representación codificada en cada posición de entrada para generar un valor correspondiente para cada posición de entrada, y
    para cada posición de salida anterior a la posición de salida correspondiente,
    determinar un peso específico de posición de salida correspondiente para cada una de las posiciones de entrada aplicando una función de comparación entre la consulta para la posición de salida y las claves, y
    determinar una salida inicial de atención del codificador-decodificador para la posición de salida determinando una suma ponderada de los valores ponderados por los pesos específicos de posición de salida correspondientes para la posición de entrada,
    opcionalmente, en donde la subcapa de atención del codificador-decodificador está configurada para, en cada etapa de tiempo de generación, combinar las salidas de atención del codificador-decodificador generadas por las capas del codificador-decodificador para generar la salida para la subcapa de atención del codificador-decodificador, opcionalmente, en donde las capas de atención del codificador-decodificador operan en paralelo.
    11. El sistema de acuerdo con cualquiera de las reivindicaciones 9 o 10, en donde cada subred del decodificador comprende además:
    una capa de conexión residual que combina las salidas de la subcapa de atención del codificadordecodificador con las entradas a la subcapa de atención del codificador-decodificador para generar una salida residual, y
    una capa de normalización de capa que aplica normalización de capa a la salida residual.
    12. El sistema de acuerdo con cualquiera de las reivindicaciones 8-11, en donde cada subred del decodificador comprende:
    una subcapa de autoatención del decodificador (172) que está configurada para, en cada etapa de tiempo de generación:
    recibir una entrada para cada posición de salida que precede a la posición de salida correspondiente y, para cada una de las posiciones de salida particulares:
    aplicar un mecanismo de atención sobre las entradas en las posiciones de salida que preceden a la posición correspondiente mediante el uso de 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.
    13. El sistema de acuerdo con la reivindicación 12, en donde cada subcapa de autoatención decodificadora comprende una pluralidad de capas de autoatención de decodificador, y en donde cada capa de autoatención de 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 salida que precede a la posición de salida correspondiente para generar una consulta correspondiente para cada posición de salida,
    aplicar una transformación lineal de clave aprendida a cada entrada en cada posición de salida que precede a la posición de salida correspondiente para generar una clave correspondiente para cada posición de salida,
    aplicar una transformación lineal de valor aprendido a cada entrada en cada posición de salida que preceda a la posición de salida correspondiente para generar una clave correspondiente para cada posición de salida, y
    para cada posición de salida anterior a la posición de salida correspondiente,
    determinar un peso específico de posición de salida correspondiente para cada una de las posiciones de salida aplicando una función de comparación entre la consulta para la posición de salida y las claves, y
    determinar una salida inicial de atención del decodificador para la posición de salida determinando una suma ponderada de los valores ponderados por los pesos específicos de posición de salida correspondientes para la posición de salida,
    opcionalmente, en donde la subcapa de atención del codificador-decodificador está configurada para, en cada etapa de tiempo de generación, combinar las salidas de atención del codificador-decodificador generadas por las capas del codificador-decodificador para generar la salida para la subcapa de atención del codificador-decodificador, opcionalmente, en donde las capas de atención del codificador-decodificador funcionan en paralelo; y/o
    en donde cada subred del decodificador comprende además:
    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, y una capa de normalización de capa que aplica normalización de capa a la salida residual.
    14. Un método implementado por ordenador que comprende:
    recibir una secuencia de entrada (102) que tiene una entrada correspondiente en cada una de una pluralidad de posiciones de entrada en un orden de entrada;
    procesar la secuencia de entrada a través de la red neuronal del codificador (110) de acuerdo con cualquiera de las reivindicaciones 1-13 para generar una representación codificada correspondiente de cada una de las entradas en la secuencia de entrada; y
    procesar las representaciones codificadas a través de la red neuronal del decodificador (150) de acuerdo con cualquiera de las reivindicaciones 1-13 para generar una secuencia de salida (152) que tiene una salida correspondiente en cada una de una pluralidad de posiciones de salida en un orden de salida. 15. Uno o más medios de almacenamiento informático que almacenan instrucciones que al ser ejecutadas por uno o más ordenadores de acuerdo con la reivindicación 1 hacen que el uno o más ordenadores realicen el método de la reivindicación 14.
ES18739661T 2017-05-23 2018-05-23 Redes neuronales de transducción de secuencias basadas en la atención Active ES2934313T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762510256P 2017-05-23 2017-05-23
US201762541594P 2017-08-04 2017-08-04
PCT/US2018/034224 WO2018217948A1 (en) 2017-05-23 2018-05-23 Attention-based sequence transduction neural networks

Publications (1)

Publication Number Publication Date
ES2934313T3 true ES2934313T3 (es) 2023-02-21

Family

ID=62873574

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18739661T Active ES2934313T3 (es) 2017-05-23 2018-05-23 Redes neuronales de transducción de secuencias basadas en la atención

Country Status (12)

Country Link
US (9) US10452978B2 (es)
EP (7) EP4156034A1 (es)
JP (6) JP6884871B2 (es)
KR (5) KR102592677B1 (es)
CN (1) CN110192206A (es)
AU (5) AU2018271931B2 (es)
BR (1) BR112019014822B1 (es)
CA (3) CA3144674C (es)
ES (1) ES2934313T3 (es)
PL (1) PL3542316T3 (es)
RU (2) RU2021116658A (es)
WO (1) WO2018217948A1 (es)

Families Citing this family (180)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10510018B2 (en) 2013-09-30 2019-12-17 Manyworlds, Inc. Method, system, and apparatus for selecting syntactical elements from information as a focus of attention and performing actions to reduce uncertainty
US12314834B1 (en) 2015-08-03 2025-05-27 Steven D. Flinn Iterative attention-based neural network training and processing
US20190272589A1 (en) 2016-09-15 2019-09-05 Erik M. Simpson Securitization of transportation units
US12493831B2 (en) 2016-09-15 2025-12-09 Circlesx Llc Market layer price queue map routing in transportation capacity and space
US11157852B2 (en) 2016-09-15 2021-10-26 Simpsx Technologies Llc Tool appliance community objects with price-time priority queues for transformed tool appliance units
US11861527B2 (en) 2018-11-07 2024-01-02 Circlesx Llc Financial swap payment structure method and system on transportation capacity unit assets
US20200151816A1 (en) 2016-09-15 2020-05-14 Erik M Simpson Transportation and freight capacity units
US12487095B2 (en) 2016-09-15 2025-12-02 Circlesx Llc Curb community objects with price-time priority queues for transformed curb capacity units
US11880883B2 (en) 2016-09-15 2024-01-23 Circlesx Llc Systems and methods for geolocation portfolio exchanges
US12517892B2 (en) 2017-04-10 2026-01-06 Circlesx Llc Systems, methods, and devices to map to a distributed ledger using a search term
US11138661B2 (en) 2016-09-15 2021-10-05 Simpsx Technologies Llc Agriculture community objects with price-time priority queues for transformed agriculture units
US12124976B2 (en) 2018-01-23 2024-10-22 Circlesx Llc Market exchange for transportation capacity in transportation vehicles
US12579588B2 (en) 2016-09-15 2026-03-17 Circlesx Llc Method and system utilizing one or more virtual power plant capacity units
US11790382B2 (en) 2016-09-15 2023-10-17 Circlesx Llc Method to transmit geolocation exchange based markets
WO2018057667A1 (en) 2016-09-20 2018-03-29 Paradromics, Inc. Systems and methods for detecting corrupt or inaccurate sensory representations
EP4156034A1 (en) 2017-05-23 2023-03-29 Google LLC Attention-based sequence transduction neural networks
US11205121B2 (en) * 2018-06-20 2021-12-21 Disney Enterprises, Inc. Efficient encoding and decoding sequences using variational autoencoders
US11138392B2 (en) 2018-07-26 2021-10-05 Google Llc Machine translation using neural network models
US11295739B2 (en) * 2018-08-23 2022-04-05 Google Llc Key phrase spotting
KR102744304B1 (ko) 2018-12-04 2024-12-18 삼성전자주식회사 뉴럴 네트워크를 구동하기 위한 메모리 공간을 할당하는 방법 및 장치
CN111401081B (zh) * 2018-12-14 2025-07-01 波音公司 神经网络机器翻译方法、模型及模型形成方法
CN109558605B (zh) * 2018-12-17 2022-06-10 北京百度网讯科技有限公司 用于翻译语句的方法和装置
KR102699828B1 (ko) * 2018-12-18 2024-08-29 삼성전자주식회사 어텐션 모델과 하이퍼네트워크를 이용한 기계 번역 방법 및 장치
CN109740169B (zh) * 2019-01-09 2020-10-13 北京邮电大学 一种基于词典和seq2seq预训练机制的中医古籍翻译方法
SG11202107620QA (en) * 2019-01-17 2021-08-30 Visa Int Service Ass A deep learning model for learning program embeddings
WO2020154538A1 (en) * 2019-01-23 2020-07-30 Google Llc Generating neural network outputs using insertion operations
EP3690752A1 (en) * 2019-01-31 2020-08-05 Avatar Cognition Barcelona, SL Fractal cognitive computing node and computer-implemented method for learning procedures
CN109919358B (zh) * 2019-01-31 2021-03-02 中国科学院软件研究所 一种基于神经网络时空注意力机制的实时站点流量预测方法
KR102254300B1 (ko) * 2019-04-19 2021-05-21 한국과학기술원 토론 상황 시 발화된 주장에 대한 근거 문장 제공 엔진
CN110083770B (zh) * 2019-04-29 2023-01-13 苏州市职业大学 一种基于特征层面更深的自注意力网络的序列推荐方法
CN112037776A (zh) * 2019-05-16 2020-12-04 武汉Tcl集团工业研究院有限公司 一种语音识别方法、语音识别装置及终端设备
WO2020237188A1 (en) * 2019-05-23 2020-11-26 Google Llc Fully attentional computer vision
US11657277B2 (en) 2019-05-23 2023-05-23 Google Llc Generating neural network outputs using insertion commands
CN110175338B (zh) * 2019-05-31 2023-09-26 北京金山数字娱乐科技有限公司 一种数据处理方法及装置
US11908457B2 (en) * 2019-07-03 2024-02-20 Qualcomm Incorporated Orthogonally constrained multi-head attention for speech tasks
CN110321961A (zh) * 2019-07-09 2019-10-11 北京金山数字娱乐科技有限公司 一种数据处理方法及装置
JP7290507B2 (ja) * 2019-08-06 2023-06-13 本田技研工業株式会社 情報処理装置、情報処理方法、認識モデルならびにプログラム
US11600067B2 (en) * 2019-09-12 2023-03-07 Nec Corporation Action recognition with high-order interaction through spatial-temporal object tracking
WO2021058663A1 (en) 2019-09-25 2021-04-01 Deepmind Technologies Limited Augmenting attention-based neural networks to selectively attend to past inputs
US11663444B2 (en) 2019-09-27 2023-05-30 Microsoft Technology Licensing, Llc Pipelined neural network processing with continuous and asynchronous updates
KR20210043995A (ko) * 2019-10-14 2021-04-22 삼성전자주식회사 모델 학습 방법 및 장치, 및 시퀀스 인식 방법
KR20210044056A (ko) 2019-10-14 2021-04-22 삼성전자주식회사 중복 토큰 임베딩을 이용한 자연어 처리 방법 및 장치
CN110737764B (zh) * 2019-10-24 2023-07-07 西北工业大学 一种个性化对话内容生成方法
CN112751686B (zh) * 2019-10-29 2022-10-18 中国移动通信集团浙江有限公司 局数据脚本生成方法、装置、计算设备及计算机存储介质
US11246173B2 (en) 2019-11-08 2022-02-08 Huawei Technologies Co. Ltd. Systems and methods for multi-user pairing in wireless communication networks
KR102430918B1 (ko) * 2019-11-15 2022-08-10 고려대학교 산학협력단 한국어 맞춤법 교정장치 및 방법
US20210150349A1 (en) * 2019-11-15 2021-05-20 Waymo Llc Multi object tracking using memory attention
US11455656B2 (en) * 2019-11-18 2022-09-27 Walmart Apollo, Llc Methods and apparatus for electronically providing item advertisement recommendations
US11392984B2 (en) 2019-11-20 2022-07-19 Walmart Apollo, Llc Methods and apparatus for automatically providing item advertisement recommendations
KR102439165B1 (ko) * 2019-11-26 2022-09-01 한국과학기술원 상식 지식과 언어학적 패턴을 이용한 서술문 신뢰도 평가 시스템 및 그 방법
KR102556096B1 (ko) 2019-11-29 2023-07-18 한국전자통신연구원 이전 프레임의 정보를 사용한 오디오 신호 부호화/복호화 장치 및 방법
CN111222343B (zh) * 2019-12-06 2023-12-29 深圳市优必选科技股份有限公司 一种意图识别方法和意图识别装置
KR102785402B1 (ko) * 2019-12-06 2025-03-21 삼성전자주식회사 뉴럴 네트워크의 행렬 곱셈 연산을 수행하는 장치 및 방법
KR102436900B1 (ko) * 2019-12-12 2022-08-26 서울대학교산학협력단 양방향 언어 모델을 이용한 문장 평가 방법 및 장치
CN111079450B (zh) * 2019-12-20 2021-01-22 北京百度网讯科技有限公司 基于顺句驱动的语言转换方法和装置
CN111078825A (zh) 2019-12-20 2020-04-28 北京百度网讯科技有限公司 结构化处理方法、装置、计算机设备及介质
CN111222562B (zh) * 2020-01-02 2022-04-08 南京邮电大学 基于空间自注意力机制的目标检测方法
EP4073666A1 (en) 2020-01-14 2022-10-19 Google LLC Method and system for activity prediction, prefetching and preloading of computer assets by a client-device
US12131243B2 (en) * 2020-02-07 2024-10-29 Deepmind Technologies Limited Autoregressive neural networks for the generation of polygonal meshes of 3D objects
US12346793B2 (en) * 2020-02-07 2025-07-01 Google Llc Sorting attention neural networks
US12254411B2 (en) * 2020-02-12 2025-03-18 Google Llc Attention neural networks with linear units
US11386885B2 (en) 2020-02-17 2022-07-12 Wipro Limited Method and system for detecting intent as an ordered sequence from a user query
US20210279576A1 (en) * 2020-03-03 2021-09-09 Google Llc Attention neural networks with talking heads attention
CN111427932B (zh) * 2020-04-02 2022-10-04 南方科技大学 出行预测方法、装置、设备和存储介质
CN113627135B (zh) * 2020-05-08 2023-09-29 百度在线网络技术(北京)有限公司 一种招聘岗位描述文本的生成方法、装置、设备及介质
US10909461B1 (en) * 2020-05-08 2021-02-02 Google Llc Attention neural networks with locality-sensitive hashing
CN113627199B (zh) * 2020-05-09 2025-10-17 阿里巴巴集团控股有限公司 一种机器翻译方法及其装置
US11806631B2 (en) * 2020-05-11 2023-11-07 Rovi Guides, Inc. Gaming content recommendation for a video game
KR20210145490A (ko) 2020-05-25 2021-12-02 삼성전자주식회사 어텐션 기반 시퀀스 투 시퀀스 모델의 성능 향상 방법 및 장치
US12423575B2 (en) 2020-05-29 2025-09-23 Samsung Electronics Co., Ltd. Method and apparatus for training retrosynthesis prediction model
CN111859927B (zh) * 2020-06-01 2024-03-15 北京先声智能科技有限公司 一种基于注意力共享Transformer的语法改错模型
US20210390410A1 (en) * 2020-06-12 2021-12-16 Google Llc Local self-attention computer vision neural networks
CN111460126B (zh) * 2020-06-12 2020-09-25 支付宝(杭州)信息技术有限公司 一种用于人机对话系统的回复生成方法、装置及电子设备
WO2022006329A1 (en) * 2020-06-30 2022-01-06 Google Llc Attention neural networks with conditional computation
US12541292B2 (en) 2020-07-15 2026-02-03 Circlesx Llc User device utilizing one or more multidimensional object databases
JP7357291B2 (ja) * 2020-07-16 2023-10-06 日本電信電話株式会社 翻訳装置、翻訳方法及びプログラム
CN111652357B (zh) * 2020-08-10 2021-01-15 浙江大学 一种利用基于图的特定目标网络解决视频问答问题的方法及其系统
CN112016245A (zh) * 2020-08-13 2020-12-01 五邑大学 基于自注意力变形网络的磁暴预测方法、装置及存储介质
US11983619B2 (en) * 2020-08-14 2024-05-14 Micron Technology, Inc. Transformer neural network in memory
US20220058489A1 (en) * 2020-08-19 2022-02-24 The Toronto-Dominion Bank Two-headed attention fused autoencoder for context-aware recommendation
JP7536574B2 (ja) * 2020-09-16 2024-08-20 キオクシア株式会社 演算デバイス、計算機システム、及び演算方法
EP4154185A2 (en) * 2020-09-16 2023-03-29 Google LLC Modeling dependencies with global self-attention neural networks
US12125247B2 (en) * 2020-10-02 2024-10-22 Google Llc Processing images using self-attention based neural networks
JP7618201B2 (ja) 2020-10-20 2025-01-21 国立研究開発法人情報通信研究機構 回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム
CN112347104B (zh) * 2020-11-06 2023-09-29 中国人民大学 一种基于深度强化学习的列存储布局优化方法
US11270124B1 (en) * 2020-11-16 2022-03-08 Branded Entertainment Network, Inc. Temporal bottleneck attention architecture for video action recognition
CN112580822B (zh) * 2020-12-16 2023-10-17 北京百度网讯科技有限公司 机器学习模型的对抗训练方法装置、电子设备和介质
CN112580361A (zh) * 2020-12-18 2021-03-30 蓝舰信息科技南京有限公司 基于统一注意力机制的公式及文字识别模型方法
CN112508625B (zh) * 2020-12-18 2022-10-21 国网河南省电力公司经济技术研究院 基于多分枝残差注意力网络的智能稽查建模方法
KR102747605B1 (ko) * 2020-12-31 2024-12-27 팽현석 이미지 생성 방법 및 장치
US11741967B2 (en) 2021-01-04 2023-08-29 Kwai Inc. Systems and methods for automatic speech recognition based on graphics processing units
EP4030355A1 (en) 2021-01-14 2022-07-20 Naver Corporation Neural reasoning path retrieval for multi-hop text comprehension
KR102628947B1 (ko) * 2021-02-02 2024-01-23 숙명여자대학교산학협력단 반응 데이터를 예측하는 시스템 및 그 제어방법
EP4260237A2 (en) * 2021-02-05 2023-10-18 DeepMind Technologies Limited Attention neural networks with short-term memory units
WO2022167518A2 (en) * 2021-02-05 2022-08-11 Deepmind Technologies Limited Generating neural network outputs by enriching latent embeddings using self-attention and cross-attention operations
US11755973B2 (en) * 2021-02-12 2023-09-12 Accenture Global Solutions Limited System and method for intelligent contract guidance
US20220284267A1 (en) * 2021-03-05 2022-09-08 Qualcomm Incorporated Architectures for temporal processing associated with wireless transmission of encoded data
CN112966626B (zh) * 2021-03-16 2024-10-29 三星(中国)半导体有限公司 人脸识别方法和装置
US12494083B2 (en) 2021-03-16 2025-12-09 Samsung Electronics Co., Ltd. Method and apparatus with face recognition
KR20220130450A (ko) 2021-03-18 2022-09-27 삼성전자주식회사 음성 인식을 위한 인공 신경망에서의 디코딩 방법 및 디코딩 장치
US12462794B2 (en) 2021-03-25 2025-11-04 Beijing Transtreams Technology Co. Ltd. Methods and devices for structured pruning for automatic speech recognition
US12002453B2 (en) 2021-03-25 2024-06-04 Beijing Transtreams Technology Co. Ltd. Methods and devices for irregular pruning for automatic speech recognition
CN117157635A (zh) 2021-04-14 2023-12-01 三菱电机株式会社 学习装置、推理装置、程序、学习方法和推理方法
CN113095431B (zh) * 2021-04-27 2023-08-18 中山大学 一种基于注意力机制的图像描述方法、系统及装置
US20220367052A1 (en) * 2021-05-14 2022-11-17 Google Llc Neural networks with feedforward spatial transformation units
KR102589164B1 (ko) * 2021-05-25 2023-10-13 한국과학기술원 협업 작업에서 시간적 관계를 활용한 트랜스포머 기반 활동 예측 방법
WO2022250063A1 (ja) 2021-05-26 2022-12-01 キヤノン株式会社 顔認証を行う画像処理装置および画像処理方法
US12373688B2 (en) 2021-05-28 2025-07-29 Google Llc Granular neural network architecture search over low-level primitives
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
CN113393025A (zh) * 2021-06-07 2021-09-14 浙江大学 一种基于Informer模型编码结构的非侵入式负荷分解方法
EP4102405A1 (en) 2021-06-10 2022-12-14 Naver Corporation Demonstration-conditioned reinforcement learning for few-shot imitation
CN113705323B (zh) * 2021-06-15 2022-09-09 腾讯医疗健康(深圳)有限公司 图像识别方法、装置、设备以及存储介质
US12354402B2 (en) * 2021-06-16 2025-07-08 Sony Group Corporation Landmark detection using deep neural network with multi-frequency self-attention
US11669331B2 (en) * 2021-06-17 2023-06-06 International Business Machines Corporation Neural network processing assist instruction
US20220402122A1 (en) * 2021-06-18 2022-12-22 Naver Labs Corporation Robotic demonstration retrieval systems and methods
US20230028226A1 (en) * 2021-07-15 2023-01-26 Samsung Electronics Co., Ltd. Method for sparsification of feature maps in self-attention mechanisms
CN113379164B (zh) * 2021-07-16 2024-03-26 国网江苏省电力有限公司苏州供电分公司 基于深度自注意力网络的负荷预测方法及系统
KR20230022005A (ko) * 2021-08-06 2023-02-14 주식회사 제이엘케이바이오 화합물 정보 추출을 위한 장치 및 방법
KR102388599B1 (ko) * 2021-08-24 2022-04-21 (주)제로엑스플로우 텍스트 및 이미지를 활용한 문장 교정 장치 및 방법
CN113688640B (zh) * 2021-08-30 2023-01-20 深译信息科技(珠海)有限公司 一种用于医学文档翻译的神经网络机器翻译方法
US12524630B2 (en) 2021-08-31 2026-01-13 Naver Corporation Adversarial generation method for training a neural model
US20230082485A1 (en) * 2021-09-10 2023-03-16 Optum, Inc. Machine learning techniques for denoising input sequences
KR102793723B1 (ko) * 2021-10-08 2025-04-09 네이버 주식회사 세분성 자각 어텐션 기반의 신경망
US20250104717A9 (en) * 2021-10-27 2025-03-27 Mitsubishi Electric Research Laboratories, Inc. End-to-End Speech Recognition Adapted for Multi-Speaker Applications
CN114021736B (zh) * 2021-11-01 2025-07-18 上海交通大学 基于双层索引嵌入层的推荐模型分布式训练方法及gpu
KR102610431B1 (ko) * 2021-11-04 2023-12-06 연세대학교 산학협력단 인공지능 분석 기반 프로그램 소스코드의 요약문 생성 장치 및 방법
KR20230069607A (ko) 2021-11-12 2023-05-19 삼성전자주식회사 셀프 어텐션 기반의 영상 인식 방법 및 장치
KR20230073630A (ko) * 2021-11-19 2023-05-26 주식회사 제이엘케이바이오 화합물 최적화를 위한 장치 및 방법
KR102479817B1 (ko) * 2021-11-25 2022-12-21 인하대학교 산학협력단 소규모 데이터세트를 위한 비전 트랜스포머 장치 및 그 동작 방법
KR102405828B1 (ko) * 2021-12-03 2022-06-07 주식회사 대교씨엔에스 가우시안 혼합 모델을 이용한 클러스터링과 인공지능을 동시에 활용한 학습량 추천 방법 및 장치
KR102405832B1 (ko) * 2021-12-03 2022-06-07 주식회사 대교씨엔에스 통계적 분석과 딥러닝 기반의 인공지능을 동시에 활용한 학습량 추천 방법 및 장치
KR102475316B1 (ko) * 2021-12-03 2022-12-08 (주)대교씨엔에스 복수의 은닉층들로 구성되는 딥러닝 기반의 인공지능을 이용한 학습량 추천 방법 및 장치
CN114529234A (zh) * 2022-01-18 2022-05-24 北京旷视机器人技术有限公司 出库排序方法、电子设备和计算机可读介质
US20250173821A1 (en) 2022-03-23 2025-05-29 Google Llc Multi-resolution Transformer for Video Quality Assessment
US12147776B2 (en) * 2022-04-11 2024-11-19 AtomLeap GmbH Method for extracting information from an unstructured data source
US20250218109A1 (en) 2022-04-27 2025-07-03 Google Llc Rendering Videos with Novel Views from Near-Duplicate Photos
WO2023211446A1 (en) * 2022-04-28 2023-11-02 Google Llc Modeling ambiguity in neural machine translation
WO2023219275A1 (ko) * 2022-05-09 2023-11-16 삼성전자 주식회사 영상 처리 장치 및 그 동작 방법
EP4468232A4 (en) 2022-05-09 2025-04-09 Samsung Electronics Co., Ltd Image processing device and method for operating same
US12137073B2 (en) 2022-05-16 2024-11-05 Google Llc Email summary and completion check
CN114758032B (zh) * 2022-06-15 2022-09-16 之江实验室 基于时空注意力模型的多相期ct图像分类系统及构建方法
US20240020477A1 (en) * 2022-07-13 2024-01-18 Samsung Electronics Co., Ltd. System and method for using residual transformers in natural language processing
KR20240014374A (ko) 2022-07-25 2024-02-01 삼성전자주식회사 트랜스포머 모델을 경량화하는 컴퓨터 시스템 및 그것의 양자화 학습 방법
JP2024032167A (ja) 2022-08-29 2024-03-12 キヤノン株式会社 画像処理装置、画像処理方法及びコンピュータプログラム
KR102573643B1 (ko) 2022-11-14 2023-09-01 주식회사 마키나락스 인공지능 기반 제어 시뮬레이션 방법
CN115760863A (zh) * 2022-11-15 2023-03-07 济南大学 一种适用于水培根茎类禾草根系的图像分割分析方法
US12304512B2 (en) 2022-11-21 2025-05-20 GM Global Technology Operations LLC Detecting and resolving information contradictions for a vehicle
US20240169715A1 (en) * 2022-11-23 2024-05-23 Google Llc Training large-scale vision transformer neural networks with variable patch sizes
US12333835B2 (en) * 2022-11-29 2025-06-17 Bloomberg L.P. Method and apparatus for document analysis and outcome determination
WO2024123310A1 (en) 2022-12-06 2024-06-13 Google Llc Universal sound event detector using multi-layered conditioning
KR102865156B1 (ko) * 2022-12-19 2025-09-29 한국전자통신연구원 인공지능 연산 시스템 및 방법
WO2024156887A1 (en) * 2023-01-26 2024-08-02 Deepmind Technologies Limited Neural networks with intention layers
KR102539679B1 (ko) * 2023-02-01 2023-06-02 (주)피플리 사용자의 경로를 이용하여 사용자 맞춤형 장소 추천 방법, 장치 및 시스템
CN115994668B (zh) * 2023-02-16 2023-06-20 浙江非线数联科技股份有限公司 智慧社区资源管理系统
US20250371843A1 (en) 2023-02-23 2025-12-04 Ceske Vysoke Uceni Technicke V Praze Systems and methods for few-shot new action recognition
CN116312039A (zh) * 2023-03-23 2023-06-23 Oppo广东移动通信有限公司 停车场寻车方法及装置、存储介质及电子设备
CN116070676B (zh) * 2023-03-28 2023-06-30 南京气象科技创新研究院 基于注意力机制和自编码器的高速公路路面温度预报方法
CN116030078B (zh) * 2023-03-29 2023-06-30 之江实验室 多任务学习框架下结合注意力的肺叶分割方法及系统
CN120958494A (zh) 2023-03-31 2025-11-14 谷歌有限责任公司 在基于Transformer的动作识别中使用外部对象检测
CN120936463A (zh) 2023-04-20 2025-11-11 株式会社安川电机 机器人系统、机器人控制方法、机器人控制程序以及程序生成系统
US20240362460A1 (en) 2023-04-25 2024-10-31 Google Llc Train-once-for-all personalization
WO2024233088A1 (en) 2023-05-09 2024-11-14 Google Llc Multimodal multitask alternating gradient descent
KR102644779B1 (ko) * 2023-07-10 2024-03-07 주식회사 스토리컨셉스튜디오 온라인 쇼핑몰의 컨셉에 맞는 상품의 추천 방법
US20250021800A1 (en) * 2023-07-14 2025-01-16 Google Llc Memory efficient sequence generation neural networks
CN117059081B (zh) * 2023-08-30 2024-08-09 易方信息科技股份有限公司 一种轻量化语音识别方法、计算机设备及可读存储介质
WO2025048508A1 (ko) * 2023-08-30 2025-03-06 하인텔 주식회사 학습 효율 향상을 위한 트랜스포머의 학습 방법 및 이를 위한 장치
WO2025075756A1 (en) 2023-10-04 2025-04-10 X Development Llc Large language models for predictive modeling and inverse design
US12608565B2 (en) 2023-10-19 2026-04-21 Naver Corporation Multimodal text-to-text neural machine translation using noise and domain adapters and training noise adapters while a domain adapter is frozen
KR102884459B1 (ko) * 2023-12-13 2025-11-11 동국대학교 산학협력단 트랜스포머를 이용한 배터리 soh 추정 장치 및 추정 방법
EP4576016A1 (en) 2023-12-20 2025-06-25 Naver Corporation Methods and systems for generating 3d representations of scenes from a plurality of images using pointmaps
EP4597364A1 (en) 2024-02-05 2025-08-06 NXAI GmbH Extended long short-term memory neural networks
KR102775392B1 (ko) 2024-02-22 2025-03-05 주식회사 알세미 인공지능 연산의 효율화를 위한 방법, 장치 및 이에 기반한 모델
WO2026005639A1 (ru) * 2024-06-26 2026-01-02 Акционерное Общество "Софит" Способ сопоставления структур топологии слоя микроэлектронного компонента
KR102786623B1 (ko) * 2024-07-24 2025-03-27 렉스이노베이션 주식회사 수급에 따른 마이크로그리드의 동적 가격 조정 방법 및 장치
CN119739995B (zh) * 2024-12-10 2025-09-16 西北工业大学 一种基于自注意力机制的卫星指令自动生成方法
CN119785296A (zh) * 2025-01-13 2025-04-08 济南幼儿师范高等专科学校 一种基于推理增强的校园监控行为识别方法及系统
US12335379B1 (en) 2025-01-17 2025-06-17 K2 Network Labs, Inc. Privacy-preserving transformer model with encrypted dimensionality reduction
US12316753B1 (en) 2025-02-03 2025-05-27 K2 Network Labs, Inc. Secure multi-agent system for privacy-preserving distributed computation
KR102913263B1 (ko) * 2025-02-27 2026-01-15 주식회사 스피어에이엑스 시각 언어 모델에 대한 학습을 위한 학습 데이터를 구축하기 위한 장치 및 이를 위한 방법
US12437113B1 (en) 2025-05-10 2025-10-07 K2 Network Labs, Inc. Data processing orchestrator utilizing semantic type inference and privacy preservation

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039621B2 (en) * 2000-03-22 2006-05-02 Johnson & Johnson Pharmaceutical Research & Development, L.L.C. System, method, and computer program product for representing object relationships in a multidimensional space
EP2036079B1 (en) * 2006-04-27 2011-01-12 Mobiter Dicta Oy A method, a system and a device for converting speech
US9536528B2 (en) * 2012-07-03 2017-01-03 Google Inc. Determining hotword suitability
US10181098B2 (en) * 2014-06-06 2019-01-15 Google Llc Generating representations of input sequences using neural networks
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
KR102084930B1 (ko) 2015-06-03 2020-03-05 미쓰비시덴키 가부시키가이샤 추론 장치 및 추론 방법
US10083157B2 (en) * 2015-08-07 2018-09-25 Google Llc Text classification and transformation based on author
US9965705B2 (en) * 2015-11-03 2018-05-08 Baidu Usa Llc Systems and methods for attention-based configurable convolutional neural networks (ABC-CNN) for visual question answering
US10204299B2 (en) * 2015-11-04 2019-02-12 Nec Corporation Unsupervised matching in fine-grained datasets for single-view object reconstruction
EP3371807B1 (en) * 2015-11-12 2023-01-04 Google LLC Generating target phoneme sequences from input speech sequences using partial conditioning
EP3360082B1 (en) * 2015-11-12 2021-06-02 Deepmind Technologies Limited Neural programming
WO2017201444A1 (en) * 2016-05-20 2017-11-23 Google Llc Classifying input examples using a comparison set
CN106372577A (zh) * 2016-08-23 2017-02-01 北京航空航天大学 一种基于深度学习的交通标志自动识别与标注方法
US10642887B2 (en) * 2016-12-27 2020-05-05 Adobe Inc. Multi-modal image ranking using neural networks
EP4156034A1 (en) 2017-05-23 2023-03-29 Google LLC Attention-based sequence transduction neural networks

Also Published As

Publication number Publication date
AU2020213318B2 (en) 2022-06-02
AU2022221389B2 (en) 2024-01-25
AU2020213317A1 (en) 2020-08-27
BR112019014822B1 (pt) 2022-06-07
US20200372357A1 (en) 2020-11-26
JP2025084774A (ja) 2025-06-03
AU2022221389A1 (en) 2022-09-22
US20250217644A1 (en) 2025-07-03
KR20200129198A (ko) 2020-11-17
CA3050334C (en) 2023-04-11
JP2021121952A (ja) 2021-08-26
EP4156034A1 (en) 2023-03-29
RU2021116658A (ru) 2021-07-05
KR20200129197A (ko) 2020-11-17
KR102486348B1 (ko) 2023-01-09
JP2020506466A (ja) 2020-02-27
EP4156030A1 (en) 2023-03-29
AU2020213317B2 (en) 2022-06-02
EP3542316A1 (en) 2019-09-25
JP7423828B2 (ja) 2024-01-29
US20210019623A1 (en) 2021-01-21
CA3144657A1 (en) 2018-11-29
EP4156031A1 (en) 2023-03-29
JP7214783B2 (ja) 2023-01-30
BR112019014822A2 (pt) 2020-02-27
AU2018271931B2 (en) 2020-05-07
KR20230151047A (ko) 2023-10-31
PL3542316T3 (pl) 2023-02-20
US12217173B2 (en) 2025-02-04
JP6884871B2 (ja) 2021-06-09
CN110192206A (zh) 2019-08-30
AU2024202594A1 (en) 2024-05-09
US11113602B2 (en) 2021-09-07
CA3050334A1 (en) 2018-11-29
JP7826531B2 (ja) 2026-03-09
EP4156033A1 (en) 2023-03-29
EP4156032A1 (en) 2023-03-29
US20240144006A1 (en) 2024-05-02
US10719764B2 (en) 2020-07-21
CA3144657C (en) 2023-10-10
KR20190089980A (ko) 2019-07-31
JP7633438B2 (ja) 2025-02-19
JP7214784B2 (ja) 2023-01-30
RU2749945C1 (ru) 2021-06-21
WO2018217948A1 (en) 2018-11-29
AU2020213318A1 (en) 2020-08-27
JP2023052483A (ja) 2023-04-11
US10956819B2 (en) 2021-03-23
US20190392319A1 (en) 2019-12-26
CA3144674C (en) 2023-10-10
EP4156035A1 (en) 2023-03-29
KR20220133323A (ko) 2022-10-04
CA3144674A1 (en) 2018-11-29
AU2018271931A1 (en) 2019-07-11
JP2021121951A (ja) 2021-08-26
EP3542316B1 (en) 2022-12-07
KR102180002B1 (ko) 2020-11-17
KR102448389B1 (ko) 2022-09-28
JP2024038420A (ja) 2024-03-19
US20210019624A1 (en) 2021-01-21
US20180341860A1 (en) 2018-11-29
US20220051099A1 (en) 2022-02-17
US10452978B2 (en) 2019-10-22
KR102592677B1 (ko) 2023-10-23
US20200372358A1 (en) 2020-11-26
US11893483B2 (en) 2024-02-06

Similar Documents

Publication Publication Date Title
ES2934313T3 (es) Redes neuronales de transducción de secuencias basadas en la atención
ES2988982T3 (es) Redes neuronales de solo decodificador basadas en la atención para transducción de secuencias